Modelling

From HaFrWiki
Jump to: navigation, search

In computer sceince there are several models. Here a few are mentioned:

Modeling Components

Model to Text

Model to Text (M2T) also known as code generation tools and languages.

  • Acceleo, MDA[1] is a code generator transforming models into code (MDA approach).
    Acceleo is easy to use. It provides "off the shelf" generators (JEE, .Net, Php...) and template editors for Eclipse.
    See also wiki Eclipse M2T-Acceleo.
  • JET, JET is typically used in the implementation of a "code generator".
    A code-generator is an important component of Model Driven Development (MDD). The goal of MDD is to describe a software system using abstract models (such as EMF/ECORE models or UML models), and then refine and transform these models into code. Although is possible to create abstract models, and manually transform them into code, the real power of MDD comes from automating this process.
    See also wiki Eclipse M2T-JET.
  • Xpand, Xpand is a language specialized on code generation based on EMF models. It supports the following main language features: Pluggable Type System, Dynamic Dispatch of Functions, AOP, Rich Expressions (OCL-like but with Java-like syntax).
  • UML2 is an EMF-based implementation of the Unified Modeling Language (UML) 2.x OMG metamodel for the Eclipse platform.

Model to Model

Model to Model (M2M) tools and transformation languages

  • ATL, Atlas Transformation Language.
    ATL component of the M2M project aims at providing a set of model-to-model transformation tools. These include some sample ATL transformations, an ATL transformation engine, and an IDE for ATL (ADT: ATL Development Tools). ATL is part of the AMMA platform.
  • Operational QVT, OMG's Query/View/Transformation.

Concrete Syntax Development

Tools and frameworks to develop dedicated modeling tools.

  • EEF, Extended Editing Framework is part of EMFT (EMF Technology).
    EEF provides a generative component and runtime infrastructure for developing advanced components to ease the EMF based model editing. It is composed of three parts:
  • GMF, Graphical Modeling Framework Tooling.
    The Eclipse Graphical Modeling Framework (GMF) provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF.
  • Graphiti is a graphical API that enables the fast and easy creation of graphical tools for any kind of domain.
  • Xtext is a framework for development of programming language and Domain Specific Languages (DSL's).

Modeler

Modeling environment tooling.

  • Papyrus, provides an integrated user-consumable environment for editing models based on UML and other related languages such as SysML.
  • Astah, Community Edition
    • [Astah, Videos on how to use Astah

Reverse engineering

  • MoDisco is an extensible framework to develop model-driven tools for software modernization projects.

Runtime and Tools

  • AMP, The Agent Modeling Platform project provides extensible frameworks and exemplary tools for representing, editing, generating, executing and visualizing agent-based models (ABMs) and any other domain requiring spatial, behavioral and functional features.
  • EGF Eclipse Generation Factories provides extensible generation framework in order to support complex, large-scale and customizable generations.
  • Teneo is a Model-Relational mapping and runtime database persistence solution for the Eclipse Modeling Framework (EMF). Teneo integrates EMF with both Hibernate and EclipseLink.
  • OCL Tools provides an implementation of the Object Constraint Language (OCL) OMG standard for EMF-based models.

UML

The Unified Modeling Language (UML) is created by James Rumbaugh (born: 1947), Ivar Jacobson (born: 1939) & Grady Booch (born: 1955). The Eclipse Papyrus plug-in provides an implementation of UML.

See for more information UML 2.

UML 2 advances the successful UML specification, and is quickly becoming the accepted standard for specifying, documenting and visualizing software systems. The Unified Modeling Language (UML) is also used for the modeling of non-software systems, and is extensively implemented in most industry sectors including finance, military and engineering.


Eclipse UML 2 Install

Deprecated: The installation of UML2 is not possible due to the incompatability of the OCL it relies on.
How do I workaround org.eclipse.emf.ocl deprecation in Helios and later?
The deprecated org.eclipse.emf.ocl feature and plugin were removed in the MDT/OCL 3.0.0 release. Unfortunately some projects, notably UML2-Tools, continue to reference it. This prevents their Galileo releases being installed on Helios. A Helios release of UML-Tools has been built (26-July-2010) but its visibility from The UML2-Tools Downloads Page is not quite right yet.


Therefore to install e.g. UML2-Tools

  • Install MDT/OCL 3.0.0 (most conveniently as part of the Eclipse Modeling Package)
  • Download org.eclipse.emf.ocl-update.zip from the [Attachment]
  • Install New Software from the downloaded org.eclipse.emf.ocl-update.zip
  • Download e.g. mdt-uml2tools-Update-incubation-0.9.0.zip from [UML2-Tools Downloads]
  • Install New Software from the downloaded mdt-uml2tools-Update zip
  • Do not install anything else after UML2-Tools since org.eclipse.emf.ocl-update.zip effectively claims that Galileo and Helios are compatible undermining p2's ability to install consistent plugins.

RAD/RSA

Another tool is of course IBM Rational Application Developer (RAD).


See also

top

Eclipse Modeling Framework

  • Eclipse, Intra wiki for more on Eclipse Modeling.
  • Eclipse EMF, Documentation.
  • Lars Vogel, A Tour of the Eclipse Modeling Framework. Tutorial on

Reference

top

  1. OMG MDA, OMG's, Model Driven Architecture Website.