For introduction to the Fundamental Modeling Concepts (FMC), see the FMC Overview. The FMC Metamodel is given in Knöpfel, Gröne, Tabeling: Fundamental Modeling Concepts - Effective Communication of IT-Systems.
However, this Metamodel seems to be rather theoretic and it is perhaps not complete for practical purposes. When analyzing, among others we have the following questions:
There is no standard serialization defined for FMC. As to our knowledge there is only one modeling tool for FMC, namely ARCWAY Ccokpit. We will show in the following the mapping of the entities and relationships realized in this tool.
ARCWAY Cockpit | SpecIF |
---|---|
Plan | SpecIF:Diagram |
Function, Agent, Operation | FMC:Actor |
Information, Channel, Location, Storage, Value | FMC:State |
Event, Point in time | FMC:Event |
SpecIF:Collection |
Where:
ARCWAY Cockpit | SpecIF | Comment | |
---|---|---|---|
Occurrence | A model-element occurs on a plan | SpecIF:shows | Inverted statement |
Containment | A model-element contains a model-element | SpecIF:contains | |
Reading | An actor reads a state | SpecIF:reads | |
Writing | An actor writes a state | SpecIF:writes | |
Modification | An actor writes and reads a state | SpecIF:stores | |
Influence | A state influences a state (via an unnamed function=actor) | tbd | Rarely used, if ever |
Relation | A state influences and is reversely influenced by a state (via an unnamed function=actor) | tbd | Rarely used, if ever |
Receiving | An actor receives messages from an actor (through an unnamed channel=state) | SpecIF:receivesFrom | |
Sending | An actor sends messages to an actor (through an unnamed channel=state) | SpecIF:sendsTo | |
Communication | An actor sends to and receives messages from an actor (through an unnamed channel=state) | SpecIF:communicates | |
Succession | A model-element succeeds a model-element | SpecIF:precedes | Inverted statement |
Precedence | A model-element precedes a model-element | SpecIF:precedes |
Where:
The following example of a FMC block diagram represents three application components and a data object:
The following SpecIF graph expresses the same:
Here you may take a look at the current code of the FMC Export from ARCWAY Cockpit to SpecIF.