Fundamental Modeling Concepts (FMC)

This proposal is in the Project Proposal Phase (as defined in the
Eclipse Development Process) and is written to declare its intent and
scope. We solicit additional participation and input from the Eclipse
community. Please send all feedback to the
Eclipse Proposals
Forum.

Background

Fundamental Modeling Concepts (FMC) is a modeling language for complex and dynamic systems. FMC provides a universal notation for the visualization and communication of structures and concepts in a coherent and efficient way. It supports all levels of abstraction from conceptual structures to implementation structures and has successfully been applied to various real-life systems (at SAP, Alcatel, Siemens etc.). FMC defines three types of diagrams: Block Diagrams, Extended Petri nets and Entity Relationship Diagrams. Block Diagrams depict the compositional structure of the system, Petri nets focus on the behavioral aspects of the system and Entity Relationship Diagrams describe the value range structures (observable values at locations within the system) or topics (correlation between interesting points).

Another language directly related to FMC is technical architecture modeling (TAM). TAM aims at modeling and describing technical architecture. It is a combination of the Unified Modeling Language (UML) and Fundamental Modeling Concepts (FMC). TAM includes seven diagram types: 6 from UML and 1 from FMC. It uses subsets of UML Activity, State and Sequence diagrams to model behavioral aspects, Use Case Diagram to specify requirements, Package and Class Diagrams to model data structures and relations and FMC Block diagrams for compositional structures.

Scope

The project will provide meta models and editors for FMC diagrams. The architecture of the project will be open and extensible for domain-specific applications. Furthermore, it will allow the integration of FMC with UML models. This is the basis for Technical Architecture Modeling (TAM).
The following features are in scope for the FMC project:

An Ecore meta model for FMC Block Diagrams.

A graphical editor for FMC Block Diagrams.

Ecore meta models and graphical editors for other FMC diagrams.

Plug-in extension points that allow customizing the editor.

The FMC model files can be used to facilitate interchange, for the integration with established frameworks such as EMF Compare, EMF Search or EMF Validation.

Description

This project aims at providing meta models and editors for FMC to support software architects and consultants in defining and analyzing system landscapes on the conceptual as well as on the design level. This project focuses firstly on the FMC Block diagram and integrates already existing diagram types from Papyrus UML to offer a holistic TAM modeling support. In addition, the project will define meta models and provide editors for the other FMC diagram types. The FMC Block Diagram editor will be based on Eclipse Graphiti and uses EMF/Ecore for the respective meta model.

Why Eclipse?

With Papyrus UML the Eclipse Modeling project already provides a modeling tool for UML. This enables to support fundamental modeling concepts (FMC) by combining UML tools such as Papyrus with the FMC project. Furthermore, such an integration complements UML tools by the ability to model system landscapes with compositional structure. Since all technologies, this project is based on, are from the Eclipse environment (Graphiti, GEF, Draw2D, EMF) this is a nice fit. Furthermore, modeling FMC inside Eclipse IDE enables the use of other existing Eclipse plug-ins such as EGit, Mylyn, etc.

Relationship with other Eclipse Projects

The FMC project will be built on top of the Eclipse Platform and will depend on the following Eclipse projects.

Initial Contribution

The initial code contribution will come from SAP where the FMC/TAM project was developed originally. The code includes the Ecore meta model and a Graphiti-based editor for FMC Block diagrams. This will be the basis for the code contributed to Eclipse.

Legal Issues

There are no known legal issues with this project.

Committers

The following individuals are proposed as initial committers to the project: