Login

Not yet registered? Click here to become a user.


Welcome,

MDA


Model-driven Architecture (MDA), Model-driven Development (MDD), Model-driven Engineering (MDE), and Model-driven Software Development (MDSD) are the most frequently used terms for describing the transformation of models which conform to a source meta-model into models which conform to a destination meta-model. Typically, the destination model is a formatted output such as XML, XMI, RTF, or one or more software languages. When used within Software Engineering, these model-to-text transformation techniques are commonly referred to as “code generation”.

There are a variety of commercial, academic, and open-source techniques for the transformation of models to models, text, and software. There are, however, very few formal specifications for standard transformation techniques. One well-known specification provider is the Object Management Group, the owner of the trademarked terms MDA™ and MDD™. The crucial benefits of Model-driven Architecture and code generation are the exploitation of abstraction to reduce otherwise repeated specification of infrastructure details; reduction in the task durations for analysis, simulation, and implementation via the automation of production of routine infrastructure detail.

Artisan Studio provides innovative MDA capabilities with its Automatic Code Synchronization (ACS) feature and its related Template Development Kit (TDK) feature. Using TDK, Artisan’s staff – are Domain-specific Modelers trained to exploit TDK – to specify a model transformation for a specific platform (a PSM) which expresses the transformation of structural elements from domain models to chosen software languages (such as Ada, C, C++, C#, Java, and even niche ones) while formatting the output according to internal style conventions or to external usage conventions (such as Ravenscar or MISRA) and which expresses the pattern expansion implementation for abstract references to patterns in the domain models (such as Singletons, Proxies, Brokers, State Machines, Observers, Visitors, etc.). TDK then transforms this PSM model to an executable DLL and provides it for ACS use.

Using ACS, software engineers implementing domain solutions (which conform to Systems Specifications in SysML and which satisfy requirements managed with SysML Requirements) use either turnkey or internally-developed ACS DLLs to transform their platform-independent models (PIMs) into executable artefacts.

Most MDSD code generation capabilities are uni-directional—from one or more models—to text. Reverse transformations—from text to model—commonly known as “round-trip engineering” are typically performed using traditional language parsers which parse the text files and procedurally either create new or modify existing models. Artisan Studio’s ACS and TDK reverser capability does not require the input sources to be compliable nor is it limited to any small set of languages or compilers.

Only a few tools offer bidirectional transformation capabilities as Artisan Studio does. Bidirectional transformations enable important engineering capabilities such as traceability, reversibility, verification, and consistency checking.

Studio’s capabilities which complement MDA include a repository and model-based autonomous change tracking; potential workflow integration; ergonomic profile customization of the Studio user interface to raise the abstraction level to the domain from the generic modeling language; animation of Object Sequence Diagrams; and interactive simulation of systems of distributed active and dynamic systems via runtime tracing of executables on target systems.

For more details download the ACS/TDK – Data Sheet.