Domain Specific Modeling Extension for Visual Studio
Written by Alex Armstrong
Thursday, 23 February 2012
Domain-Specific Modeling company, MetaCase, has released a free Visual Studio extension for integrating models and code with MetaEdit+, together with source code and documentation.
MetaEdit+, from Finnish company MetaCase, is a product for generating full code directly from models in a DSM (Domain-Specific Modeling) environment.
According to MetaCase..
Unlike other modeling approaches, Domain-Specific Modeling utilizes high-level models which describe things in the terms of a company's individual problem domain, instead of attempting to visualize the code developers will write. These models mirror real-world objects allowing developers to make better designs with less effort and enabling them to generate full, production-quality codethat interfaces correctly with their existing software platforms, frameworks, components and libraries.
The MetaEdit+ extension brings to Visual Studio the opportunity to use several domain-specific languages in an integrated manner. Model elements can be shared and reused in multiple models, even across different languages. Code generators can access multiple models in different languages, and generate to multiple files.
The link to MetaEdit+ also broadens Visual Studio’s model visualization possibilities, allowing models to be expressed as diagrams, matrices and tables. It allows also generators to import and integrate the generated code with other code in Visual Studio, e.g. third-party frameworks or hand-written business logic.
Dr. Juha-Pekka Tolvanen, CEO of MetaCase, explains:
"By integrating multiple DSLs, the extension offers ideal support for team work. For example, interaction specialists can use their own DSLs to model the interactions while developers use other languages to specify details, and the code from both is generated into the same Visual Studio solution".
(click in screenshot to enlarge)
The integration between MetaEdit+ models and Visual Studio includes:
launching MetaEdit+ from Visual Studio and logging in, opening MetaEdit+ projects and starting its API,
showing the MetaEdit+ model hierarchy in a Visual Studio tree view,
opening and editing MetaEdit+ models from Visual Studio,
running generators on MetaEdit+ models, and importing the results as Visual Studio solutions,
enables debugging at the model level: while running the application code, the execution can be traced in the models as well as the code.
This video demonstrates the new extension in action:
The MetaEdit+ extension for Visual Studio is available for download from the Visual Studio Gallery. It allows you to browse MetaEdit+ models and use the main MetaEdit+ functions from Visual Studio. It can also automatically import into Visual Studio the source code generated from MetaEdit+. The extension comes with full guides for using the extension and taking best advantage of it in your own modeling and its source code is available for customization.