Recently happened to see FMC, the Fundamental Modeling Concepts, which providers a suite of carefully selected and defined concepts with well-designed graphic notations for modeling a software-intensive system, and for very clear objectives: human understanding and communication about the system. In its official website, fmc-modeling.org, there are very clear and concise introductions. I am very grateful to Prof. Dr. Siegfried Wendt, the originator of FMC, answered some my questions in detail and allows me to quote the content to share. Some questions of mine was about the theoretical (and mathematical) foundations of FMC, he wrote (in his email to me, May 20, 2013 10:12 PM)
FMC is certainly based on strong theoretical foundations.
However, these foundations are not primarily mathematical, but philosophical.
This means that the question
“How do we capture the idea of a discrete dynamic system?”
was the starting point of my consideration. And I found the answer to this question
by a strong philosophical approach. I analysed how people use to talk about such systems.
Thus, I found the basic concepts:
– perform actions
– by operating on material which can be matter, energy or information,
– Material is located and can be observed on fields of action.
– A field of action is either a memory where material is stored,
– or a channel through which material is flowing.
– In order to perform their actions, the agents must have access to the fields of action
where the material to be operated on can be found.
– By an action, an agent changes the state on the fields of action which are accessed to.
– A state is a static situation which can be observed on a finite set of locations.
– State transitions are steps of a process. The purpose of the process requires that
an adequate initial state is given and that the state transitions are partially ordered in time.
– In discrete systems, the material in a field of action is discrete and can be either elementary
or structured. Elementary material is an element of a set while structured material consists of
components which are related to each other. The componets can be of the same type
or of different types.
– On the basis of the concepts introduced above, a discrete system can be discribed using
three different types of diagrams:
* Composition diagrams show all agents and all fields of action,
and they also show which agents have access to which fields of action.
* Process diagrams visualize the partial ordering of the state transitions (= types of actions).
* Material structure Diagrams show types of material componets and the relationships
– All three types of diagrams visualize a relation between two sets:
* Composition diagram: The two sets are the set of agents and the set of fields of action.
The relation is the access relation.
* Process diagram: The two sets are the set of states and the set of state transitions.
The relation is the prestate-poststate relation.
This type of diagram is known as Petrinet.
* Material structure diagram: The two sets are the set of component types (=entities)
and the set of component combination types (=relationships).
The relation is the participation relation.
In the case that the material is information, this type of diagram is called Entity-Relationship-Diagram.
– Thus, all three types of diagrams are bipartite graphs.
But they have different interpretations.
– The diagrams being bipartite graphs is the only mathematical aspect of FMC.
And, of course, in the texts where I introduce and explain the concepts of FMC, I use
mathematical language, i.e. I use words like set or relation in their mathematical sense.
This discussion is so wonderful and complete, so I first show it here verbatim, and then I’m going to have some discussions in next post.