From scaffolding and UML to MDSD and DSL
Every Framework should decrease work for the developer and help him to follow certain rules. Even if the paradigms and functions used internally are designed differently, all frameworks have the same goal: to make development of individual applications fast, easy, flexible and efficient. With slogans like MVC patterns, components or APIs they compete for the developer's favour. Often, a so-called scaffolding function provides the possibility to generate a prototype for an extension with minimal effort.
Oftentimes these scaffolding functions fail to take long-term maintainability into account. The applications that were created must be kept up to date and conform to changes of the framework used below the surface. Over time, more and more applications are created, which then need to be regularly adapted to new versions and their corresponding architectural changes. This affects developers of free modules as well as commercial interest maintaining applications for their clients.
Earlier Model-Based approaches like UML were used for describing and documenting software systems. These are generally not considered intuitive notations though, as they are constructed in a very technical and complex way.
Model-Driven Software Development (MDSD) does not simply describe an application with a Model, but lets the model completely embody an application. The modeling language is customised for a certain problem space, called a Domain Specific Language (DSL). The language, therefore, takes on a formal character and its elements similarly semantic meaning. This is a prerequisite for automated processing of models, for instance for model-to-model-transformations and the generation of source code, or other files like documents or configuration settings.
With Model-Driven development it is possible to achieve and even ensure that all applications fulfill the qualitative requirements of the framework. Maintaining multiple solutions to recurring problems becomes sustainable and free from tedious, repetitive work. In addition to an increased development speed, maintainability and software quality benefit significantly from this approach. Changes in the generator can be used by all applications that are based on it, automatically. The Zikula project profits, too. With time the advantages add up. At the sight of this big list of positives for model-driven development it is not surprising that ModuleStudio, itself, is developed in a model-driven way.
Tags
Comments
ModuleStudio…
We are happy to announce that ModuleStudio 0.5.2 has been released offering a huge amount of new features. Many… >read more
Using the generator
In order to use the generator there must be a model open in the main editor, and it must not have any validation… >read more
What is ModuleStudio
ModuleStudio rapidly simplifies the creation, maintenance and customisation of applications for Zikula. It speeds up… >read more
Multiple…
The main editor of ModuleStudio is not limited to automatically creating only three container elements. It is also… >read more
Shared models…
In version 0.6 of ModuleStudio the method of storing and managing models is probably going to be a primary focus of… >read more
Materials
If one wants to distribute things irregularly over the Internet, a complex shopping cart is not always required.… >read more
ModuleStudio…
We are happy to release the new MOST version 0.5.1 which fixes numerous bugs. Beside these corrections also several… >read more
Installation…
ModuleStudio is based on Eclipse and, therefore, works with many different systems and environments. To avoid having… >read more
Validation…
Unbreakable software! How long have we been dreaming of that. Unfortunately, it is still a dream despite enormous… >read more
Youth holiday exchange
The youth holiday exchange is a procurement platform, in which holiday and leisure activities for children and… >read more

No comments posted yet.
Only logged in users are allowed to comment. Register or log in.