Title The steps leading to FMC
ceterum censeo What I am going to tell you today has been told often before. But nobody is really listening. Therefore, it has to be told over and over again.
Realizing the problem Solving a problem begins with realizing, that there is a problem.
Siemens Forum 1976 Siemens Forum: The main problem of the software crisis is the inability of the people involved to communicate adequately. Since they do not realize what the subjects of their communication should be, they cannot establish standards for easy-to-understand representations of software systems.
Growth of Lines of Code 500 Lines of Code 0.1 man-year 25,000 Lines of Code 6 man-years 25 Millions Lines of Code 7,000 man-years Components (Mathematics) Systems (Engineering)
No engineering diagrams Nobody has ever seen real engineering diagrams which represent the operating system „Linux“ or the application system “Microsoft Excel”. Why don’t they consider this to be a serious problem ? Professors of Software Engineering do not know (and do not care about), how such diagrams can be made ! Therefore it is no wonder that their students don’t know it either.
Mathematicians versus Engineers Because they think as mathematicians and not as engineers! They don‘t see, that  division of labour  requires human comprehension  which cannot be formalized. They believe that the problems can be solved by  appropriate formalisms .
Missing visibility The problem of missing visibility
Primary and secondary structures Primary structures Secondary structures The first step   towards the solution of the problem consists in separating primary structures from secondary structures.
virtual versus real considering software-controlled systems primarily  as  virtual cooperation systems , which can be described using the same concepts and symbols as in the case of  real cooperation systems .   The second step  towards the solution of the problem consists in
Cooperation systems the human digestive tract the bottling plant of a brewery - a telefone exchange system a performance of the musical „My Fair Lady“ the operation of an insurance company - a soccer match Examples of real cooperation systems: What do all these systems have in common ?
Vocabulary of concepts The  actions  cause changes or transportation of  material ,  which is located in  storages  or is flowing through  channels . The  material  can be matter, energy or information, and it can be elementary or structured.   In every cooperation system there are cooperating   agents   whose  actions  are concurrent or ordered sequentially. Structured  material  consists of  components , which have  relationships  to each other.
Three questions Therefore, we can always ask the following   three questions : Question concerning the composition of the system: Which are the storages and channels the agents have access to?   Question concerning the sequential order of the actions: What is the sequence of the actions if they are not concurrent?  Question concerning the structure of the material: What are the components of the material and what are their relationships?
Predominance of the composition Composition :  Where  is material lying or flowing and  who  can affect it? Material:   What  is lying in the storages or flowing through the channels ? Process:   When  is the material affected ?   The model of a cooperation system must always provide information about  three different aspects :
Types of diagrams Each of the  three aspects  has its own type of structure diagram: Conclusion:  The structure diagrams are  bipartite graphs . „ Composition“ : Who  makes things happen   ? the  agents . Where  can the events be observed? in  storages  and  channels . „ Process“ : How  and  when  do the agents act?   in form of partially ordered  steps     which change  states .  „ Material“ : What  is affected? Structures which are defined by  relationships between  sets  of components.
Structures of Chess
SAP development database Example of structured material: SAP development database (Labeling in German)
Hierarchic levels of documents The structure diagrams of all three aspects are suited for  hierarchic drill down , until elementary nodes are reached,  each of which corresponds exactly to a  specific section of the program code.
Compiler System and Software Composition of a compiler UML Class diagram of the implementation
Systems within a system In the case of  extremely large systems , the first two steps are not sufficient  for solving the communication problem completely.  The third step  towards the solution of the problem  consists of structuring the overall system into   layers of subsystems   with  applications  sitting on top of  platforms .   ( distinguishing between an actor and the role he or she is playing ) distinguishing between   regular actions   and   meta actions . In meta actions, partial systems become material or vice versa. (By actions of a surgeon, the patient goes into or comes out from anesthesia.)
Cockpit and its Environment
FMC The  vocabulary of concepts  and the  methods of representation   which were obtained as the result of three steps, have been named   F  undamental   M   odeling  C   oncepts. www.fmc-modeling.org
Negative Example 1
Negative Example 2
Negative Example 3
End The steps leading to FMC

Steps to FMC

  • 1.
    Title The stepsleading to FMC
  • 2.
    ceterum censeo WhatI am going to tell you today has been told often before. But nobody is really listening. Therefore, it has to be told over and over again.
  • 3.
    Realizing the problemSolving a problem begins with realizing, that there is a problem.
  • 4.
    Siemens Forum 1976Siemens Forum: The main problem of the software crisis is the inability of the people involved to communicate adequately. Since they do not realize what the subjects of their communication should be, they cannot establish standards for easy-to-understand representations of software systems.
  • 5.
    Growth of Linesof Code 500 Lines of Code 0.1 man-year 25,000 Lines of Code 6 man-years 25 Millions Lines of Code 7,000 man-years Components (Mathematics) Systems (Engineering)
  • 6.
    No engineering diagramsNobody has ever seen real engineering diagrams which represent the operating system „Linux“ or the application system “Microsoft Excel”. Why don’t they consider this to be a serious problem ? Professors of Software Engineering do not know (and do not care about), how such diagrams can be made ! Therefore it is no wonder that their students don’t know it either.
  • 7.
    Mathematicians versus EngineersBecause they think as mathematicians and not as engineers! They don‘t see, that division of labour requires human comprehension which cannot be formalized. They believe that the problems can be solved by appropriate formalisms .
  • 8.
    Missing visibility Theproblem of missing visibility
  • 9.
    Primary and secondarystructures Primary structures Secondary structures The first step towards the solution of the problem consists in separating primary structures from secondary structures.
  • 10.
    virtual versus realconsidering software-controlled systems primarily as virtual cooperation systems , which can be described using the same concepts and symbols as in the case of real cooperation systems . The second step towards the solution of the problem consists in
  • 11.
    Cooperation systems thehuman digestive tract the bottling plant of a brewery - a telefone exchange system a performance of the musical „My Fair Lady“ the operation of an insurance company - a soccer match Examples of real cooperation systems: What do all these systems have in common ?
  • 12.
    Vocabulary of conceptsThe actions cause changes or transportation of material , which is located in storages or is flowing through channels . The material can be matter, energy or information, and it can be elementary or structured. In every cooperation system there are cooperating agents whose actions are concurrent or ordered sequentially. Structured material consists of components , which have relationships to each other.
  • 13.
    Three questions Therefore,we can always ask the following three questions : Question concerning the composition of the system: Which are the storages and channels the agents have access to? Question concerning the sequential order of the actions: What is the sequence of the actions if they are not concurrent? Question concerning the structure of the material: What are the components of the material and what are their relationships?
  • 14.
    Predominance of thecomposition Composition : Where is material lying or flowing and who can affect it? Material: What is lying in the storages or flowing through the channels ? Process: When is the material affected ? The model of a cooperation system must always provide information about three different aspects :
  • 15.
    Types of diagramsEach of the three aspects has its own type of structure diagram: Conclusion: The structure diagrams are bipartite graphs . „ Composition“ : Who makes things happen ? the agents . Where can the events be observed? in storages and channels . „ Process“ : How and when do the agents act? in form of partially ordered steps which change states . „ Material“ : What is affected? Structures which are defined by relationships between sets of components.
  • 16.
  • 17.
    SAP development databaseExample of structured material: SAP development database (Labeling in German)
  • 18.
    Hierarchic levels ofdocuments The structure diagrams of all three aspects are suited for hierarchic drill down , until elementary nodes are reached, each of which corresponds exactly to a specific section of the program code.
  • 19.
    Compiler System andSoftware Composition of a compiler UML Class diagram of the implementation
  • 20.
    Systems within asystem In the case of extremely large systems , the first two steps are not sufficient for solving the communication problem completely. The third step towards the solution of the problem consists of structuring the overall system into layers of subsystems with applications sitting on top of platforms . ( distinguishing between an actor and the role he or she is playing ) distinguishing between regular actions and meta actions . In meta actions, partial systems become material or vice versa. (By actions of a surgeon, the patient goes into or comes out from anesthesia.)
  • 21.
    Cockpit and itsEnvironment
  • 22.
    FMC The vocabulary of concepts and the methods of representation which were obtained as the result of three steps, have been named F undamental M odeling C oncepts. www.fmc-modeling.org
  • 23.
  • 24.
  • 25.
  • 26.
    End The stepsleading to FMC