Fundamental modeling concepts: Difference between revisions

Content deleted Content added
m gen fixes: (1) set identical unnamed references to use named refs (1), using AWB
Anetman (talk | contribs)
No edit summary
 
(13 intermediate revisions by 10 users not shown)
Line 1:
{{Primary sources|date=December 2009}}
'''Fundamental Modelingmodeling Conceptsconcepts''' ('''FMC''') provide a framework to describe software-intensive systems. It strongly emphasizes the communication about software-intensive systems by using a [[Formal semantics of programming languages|semi-formal]] graphical notation that can easily be understood.
 
== Introduction ==
Line 13 ⟶ 14:
== Diagram Types ==
FMC uses three diagram types to model different aspects of a system:
* '''Compositional Structure Diagram''' depicts the static structure of a system. This diagram type is also known as FMC Block Diagram
* '''Dynamic Structure Diagram''' depicts processes that can be observed in a system. This diagram type is also known as FMC Petri-net
* '''Value Range Structure Diagram''' depicts structures of values found in the system. This diagram type is also known as FMC E/R Diagram
 
All FMC diagrams are bipartite graphs. Each [[Bipartitebipartite graph]] consists of two [[disjoint sets]] of vertices with the condition that no [[vertex (graph theory)|vertex]] is connected to another vertex of the same set. In FMC diagrams, members of one set are represented by angular shapes, and members of the other set are represented by curved shapes. Each element in an FMC diagram can be refined by another diagram of the same type, provided that the combined graph is also bipartite. This mechanism allows modeling all relevant layers of abstraction with the same notation.
 
=== Compositional Structure Diagram ===
[[ImageFile:FMCBlockDiagram.png|thumb|right|Example of FMC Compositional Structure Diagram]]
 
Compositional structure diagrams depict the static structure of a system, and the relationships between system components. System components can be active or passive. '''Agents''' are active system components. They perform activities in the system. '''Storages''' and '''channels''' are passive components which store or transmit information.
 
The image to the right is an example of a compositional structure diagram. It contains the agents ''Order Processor'', ''Supplier Manager'', ''Supplier'', ''Online Shop'' and an unnamed '''human agent'''. Agents are represented by rectangles. The dots and the shadow of the agent ''Supplier'' indicate that this agent has multiple instances, i.e. the ''Supplier Manager'' communicates with one or many suppliers. The so -called human agent represents a user interacting with the system.
 
The diagram contains the storages ''Orders'', ''Purchase Order'' and ''Product Catalog''. Storages are represented by curved shapes. Agents can read from storages, write to storages or modify the content of storages. The directions of the arrows indicate which operation is performed by an agent. In the diagram, the ''Supplier Manager'' can modify the content of the ''Product Catalog'', whereas the ''Order Processor'' can only read the content of the ''Product Catalog''.
Line 32 ⟶ 33:
=== Dynamic Structure Diagram ===
Dynamic structures are derived from [[petri net]]s.
:"They are used to express system behavior over time, depicting the actions performed by the agents. So they clarify how a system is working and how communication takes place between different agents." <ref name="fmc-modeling.org">[http://www.fmc-modeling.org/notation_reference/ fmc-modeling.org Notations Reference]</ref>
 
=== Value Range Structure Diagram ===
Value range structure diagrams (also known as FMC Entity Relationship Diagrams) can be compared with the [[Entity-relationship model]].
:"[They] are used to depict value range structures or topics as mathematical structures. Value range structures describe observable values at locations within the system whereas topic diagrams allow a much wider usage in order to cover all correlations between interesting points." <ref name="fmc-modeling.org"/>
 
== References ==
{{Reflist}}
<references/>
*{{cite book
| first= Andreas
| last = Knoepfel
| coauthors author2= Bernhard Groene, |author3=Peter Tabeling
| year = 2005
| url = http://fmc-modeling.org/fmcbook/
| title = Fundamental Modeling Concepts - Effective Communication of IT SystesSystems
| publisher = Wiley
| id = 0-470-02710-X
Line 52 ⟶ 53:
 
== External links ==
* [http://www.fmc-modeling.org/ FMC Homepagehome page]
* [http://www.fmc-modeling.org/fmc_stencils/ FMC-Stencils for MS-Visio]
* [http://www.fmc-modeling.org/intervista FMC-Coaching & Training]
*[http://www.alternative-softwaresystemtechnik.de]
 
[[de{{DEFAULTSORT:Fundamental Modeling Concepts]]}}
[[Category:Data modeling]]
[[Category:Data modeling languages]]
[[Category:Specification languages]]
[[Category:Modeling languages]]
 
[[de:Fundamental Modeling Concepts]]