What is MDE?
Have you heard of the abbreviation MDE? If this is familiar to you, let us get it straight. MDE is actually an abbreviation, standing for Model-driven Engineering. It is a software development technology, placing emphasis on the creation and exploitation of domain models instead of making use of computing (algorithmic) concepts.
Its main goal is to increase further the level of abstraction in program specification and automation in program development. The idea promoted by MDE is actually the use of various models placed at different levels of abstraction in order to develop systems. Given that, it raises the level of abstraction in program specification. With the use of executable model transformations, an increase of automation in program development will then be eventually realized. The model can be made executable with the use of either code generation or model interpretation, in order to convert higher models into lower models.
A model is being referred to in some model language or model notation. The said model languages are usually adhered to a particular domain. It is usually called a Domain-Specific Language or DSL. The said DSL can actually be textual or visual. An abstract syntax is actually contained in a sound language description. This abstract syntax is usually one or more concrete syntax descriptions, mappings between concrete and abstract syntax and description of the semantics. A metamodel is commonly being used in order to define the abstract syntax of a language as well as the semantics. Yet, in several instances, the semantics are not really that well- defined and there is a need for them to be extrapolated from the runtime behavior.
A model prescribed using a DSL is called a DSM or Domain-Specific Model. Using multiple DSM’s specified in different DSL’, helps in describing a very complex system. There is a relation between each models and have to be put together when executing the. Since a lot of DSM’s are needed by those complex systems. The modeling space should then be structured.
One more essential aspect of MDE in the software is quality, as in each software engineering approach. With these three techniques, namely, model validation, model checking and model based testing; the quality in MDE will then be ensured.
More often, MDE is confused with MDA or Model Driven Architecture. MDA can be regarded as OMG’s (Object Management Group) vision of MDE. The MDA gives emphasis on the technical variability in software such as specifying software in a platform independently.
The main aim of Model Driven Engineering is for the improvement of productivity. With the growth of diversity of systems and platforms in the recent complex enterprise landscapes, software applications that is newly build cannot be compatible with all systems that do exist as of now and for the years to come. MDE then has the goal of helping the increase of returns a company is getting from its effort in software. This development will then be benefit and can be delivered in a lot of different ways. First in the list is the increase in the value of the principal software artifacts in terms of how much functionality they deliver. Second of which is the reduction of the rate at which the principal software artifacts turn outdated.
Most tool vendors are actually focused on the first benefit. New software artifacts can be produced from models thus; it can support developers in productivity. These days, the second benefit has already been realized as more essential. The return derived from the primary effort to create the artifact will really be greater when a software artifact remain in value in a much longer period of time.
Leave a Reply