Show in Frame No Frame
Up Previous Next Title Page Index Contents Search

Full DSM examples with behavior from generation
Other DSM examples
Standard language implementations

2.2.2 Multi-modeling language

As a metamodeling tool, MetaEdit+ can support a wide variety of different modeling languages covering

While the idea of domain-specific modeling and MetaEdit+ heavily emphasizes the development and use of an organization’s own languages, MetaEdit+ is distributed with a selection of predefined modeling languages, ranging from generic standard languages to bespoke domain-specific languages. These languages are provided mainly for reference and example purposes, but as the language definitions are complete, they can be used for real-life production purposes. These predefined languages include:

Full DSM examples with behavior from generation

*Digital Watch: A complete example of a DSM environment for the development of digital wristwatch applications. For more information about the Watch example, please see ‘The Watch Example’ manual.
*GOPRR: The graphical variant of MetaEdit+’s GOPPRR metamodeling language. These graphical metamodels generate XML documents importable back to MetaEdit+ as language definitions. More detailed description about the usage of the GOPRR modeling language can be found from a separate ‘The Graphical Metamodeling Example’ manual.
*Heating system: A language to design heating systems and generating PLC code for embedded devices. For a more detailed description of the language and examples, please see the ‘Heating System Example’ manual.
*Home automation: The Home automation example demonstrates the modeling of voice menus for a Home Automation system. More information about this example can be found from the book "Domain-Specific Modeling" by Steven Kelly and Juha-Pekka Tolvanen (Wiley-IEEE Computer Society Press, 2008, http://www.dsmbook.com)
*Insurance: An example of modeling language designed for defining variants of various insurance products like car insurance, health insurance, etc. More detailed description of this language can be found from the book "Domain-Specific Modeling" by Steven Kelly and Juha-Pekka Tolvanen (Wiley-IEEE Computer Society Press, 2008, http://www.dsmbook.com).
*Internet of Things (in the IoT project): A graphical modeling language for the Thingsee IoT device, reacting to sensor events and readings to produce various actions and notifications. The models generate the Thingsee JSON format.
*Logic: An example language for logic gate circuits corresponding to the Eclipse GEF Logic sample application. MetaEdit+ and Eclipse EMF/GEF were compared in Dr. Dobb's Journal, Sept. 2004. The example comes in two flavors, one with static ports and one with dynamic ports. Circuit outputs are calculated by symbol generators on the fly.
*S60 phone (in the Mobile UI project): The S60 phone example illustrates how smart phone applications can be modeled and automatically generated. For a more detailed description of the S60 language and example, please see the ‘S60 Phone Example’ manual.
*S60 phone C++ (in the Mobile UI project): This example demonstrates the language for modeling of applications for mobile phones, for generation of S60 native C++. This example has been described in more detail in the book "Domain-Specific Modeling" by Steven Kelly and Juha-Pekka Tolvanen (Wiley-IEEE Computer Society Press, 2008, http://www.dsmbook.com)
*Turtle Graphics: A graphical modeling language for Turtle Graphics, a programming tutorial made famous by the LOGO language. This example generates Python code.
*Web Application with UML (in the UML project): Generates database applications with SQL, HTML and JavaScript. For a more detailed description of the generator and examples, please see the ‘Web Application Example’ manual.

Other DSM examples

*Call Processing Language (CPL): A language for describing and control Internet telephony services. For more information about CPL, see xml.coverpages.org/cpl.html. For a more detailed description of the language and examples, please see the ‘Call Processing Language Example’ manual.
*Car infotainment (in the Examples project): A language for defining car infotainment systems. This example demonstrates MetaEdit+’s ability to create dynamic interactive models which automatically update based on changes to the existing design.
*Electronics (in the Port examples project): A language for simple electrical and electronic components, demonstrating constraints on static port properties, e.g. Out 5V->In 5V.
*Roadmap (in the Examples project): A language for showing a road network, demonstrating multiple conditional role lines.
*Score (in the Port examples project): A language for musical scores, demonstrating complex symbol templates with library subsymbols.
*Syntax (in the Text+BNF project): A graphical language for describing textual DSLs, with example generators for BNF and Spoofax.
*XmasTree (in the Port examples project): A language for planning Christmas tree decoration, demonstrating complex symbol templates with type subsymbols.

Standard language implementations

*Business Process Modeling Notation (BPMN): An implementation of BPMN 2.0, as presented at http://www.bpmn.org.
*Business Systems Planning: An implementation of IBM’s BSP language.
*EAST-ADL: A language to design the technical information needed for development of automotive electronic systems. For more information about EAST ADL, see http://www.east-adl.info.
*Feature Model: A language to represent feature variability across a product line.
*Specification and Description Language (SDL): An implementation of the ITU Z.100 series SDL/GR graphical system description languages for Block and Process diagrams.
*Structured Analysis and Design: An implementation of the traditional SA/SD as presented in Edward Yourdon’s “Modern Structured Analysis” (Yourdon Press, Prentice-Hall, Englewood Cliffs, 1989)
*Unified Modeling Language (UML): An implementation of OMG’s Unified Modeling Language 2.5. For more information about UML, see www.uml.org.
MetaEdit+ can offer such flexible modeling language support because it is based on metamodels. A metamodel is a model of a modeling language. By specifying a metamodel of a language into MetaEdit+, you promptly get a modeling tool support for that specific language. You can view all existing (and new) metamodels by using the language development tools. The metamodel-based architecture also makes it very easy to modify existing languages in MetaEdit+.

One of the most powerful features regarding MetaEdit+ language support is that you can use them all, even at the same time. Multi-language features allow you to link and reuse data across different languages, maintaining a flow of information between them. These features are explained in Section 6.3.

Show in Frame No Frame
Up Previous Next Title Page Index Contents Search