Course notes ELG 7187C - Behavioral Modeling

Developing the system requirements - an overview

The development of requirements is an important phase during system development. The course SEG-3101 covers the aspects of software requirements analysis in more details << C see my course notes from 2010 for more details >>. After requirements illicitation, there are normally several phases of requirements modeling and analysis at different levels, such as the following:

Introduction to state-oriented modeling

See course notes for SEG-2106 , Chapter 2 R and the Coffee Machine example R

Workflow modeling: This is a particular type of behavioral modeling. Usually, notations similar to UML Activity Diagrams are used (see "Activities" C in the UML superstructure document). Another notation, Use Case Maps C (UCMs, part of the ITU URN standardization) has a very similar semantics. Both notations define in which order the activities mentioned within a diagram may be executed. The main differences between these notations are (i) UCMs look more informal, (ii) UCMs allow more flexibility for defining the different system components that are responsible for the different activities performed, and (iii) Activity Diagrams allow (but not UCMs) the specification of the classes of objects exchanged as input or output between the different activities (data flow). Here is a comparison. There is also several other languages that represent extensions of the concepts in Activity diagrams, such as Business Process Modelling Notation (BPMN) C , a language that uses most of the concepts of Activity Diagrams (an overview of the language can be found in Section 7 of the current definition C ).

Different categories of state-transition models

Chapter 2 of the course SEG-2106 concentrates on state-transition models with a finite number of states. Often this is too limiting and one uses so-called extended state-transition models where the state includes the value of state variables and interactions may include data parameters. One needs more powerful specification formalisms for defining their behavior. Here is an overview.

Models of communicating state machines

For an introduction to the issues, see course notes for SEG-2106 , Chapter 3 R

Constructing a global model - "reachability analysis" R

Examples: Hotel, LTSA examples from SEG-2016, alternating bit protocol, assignment-1 (2012) (Activity diagram), assignment-2 (2012)

Petri nets

Comparison of different formalisms

To compare these different formalisms, it is interesting to consider an example system specified in these different formalism. We may consider the alternating bit protocol (ABP) for this purpose. As an introduction to this example, see my paper on Finite State Description of Communication Protocols of 1978, which contains a Sender and a Receiver component that communicate with one another and with respective user components. The paper uses a kind of IOA approach were the communication medium is represented as a separate system component.

A different model for the ABP using only 3 states plus a variable containing the alternating bit is described in my paper of 1977 A. This is an example of using the extended IOA modeling approach. The verification of properties becomes more complex, because the finite-state-reachability is not sufficient to prove interesting properties, one also has to consider the content of the variables and consider assertions involving these variables.

Question: How could one describe the protocol with the FSM formalism (with asynchronous communication) ?

And how could the protocol be modelled with Petri nets ? (Note: There is a "pattern" to represent FSM states in Petri nets, and there is a "pattern" to represent messages in transit between different components - see Figure (e) on Petri Net Page). Here is a diagram showing the alternating bit protocol as a Petri net R. (Note: in this example, the whole system is modeled as a single Petri net).

Criteria for comparison

Complementary readings


Created in 2007; last update: January 29, 2013