Fundamental Modeling Concepts (FMC)
Fundamental Modeling Concepts (FMC)
The Fundamental Modeling Concepts (FMC) project is a proposed open source project under the Modeling Project
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
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.
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.
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.
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.
- Graphiti Project is the graphical framework for the FMC editor(s).
- EMF Project is required for defining the FMC meta models.
- Papyrus UML Project includes required UML diagram types to be integrated in TAM.
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.
There are no known legal issues with this project.
The following individuals are proposed as initial committers to the project:
- Benjamin Schmeling, UBL Informationssysteme, lead
- Anis Charfi, SAP, lead
- Heiko Witteborg, SAP
- Patrick Jahnke, SAP
We welcome additional committers and contributions.
The following Architecture Council members will mentor this
The following individuals, organisations, companies and projects have
expressed interest in this project:
- Bernhard Groene (SAP AG)
- Peter Tabeling (INTERVISTA AG)
- Karsten Wolfert (Ingenieurbüro Wolfert)
- Andreas Bungert (Bungerts Ingenieurbüro für Lösungsarchitekturen)
Changes to this Document
||First document revision