T305: Digital Communication
                                   Faculty of Computer Studies
                              Information Technology and Computing

                                               Tutorial 4
                                            October 14, 2006

Introduction:

This is the fourth face-to-face tutorial of this course and its basic aim is to discuss Representing Systems
Modeling Activity of Block 1. The various topics that the tutor should cover with the students in this tutorial
are discussed below.

    •   Topic 1: Introduction
    •   Topic 2: Finite State Machines
    •   Topic 3: Object Oriented Models
    •   Topic 4: Specification and Description Language


Topic 1: Introduction

    •   Models or block-diagram equivalent circuits are used throughout engineering to represent the
        behavior and structure of systems. Generally a model does not represent everything about a
        system, but only the aspects of the system that are of interest.

    •   The structure of a system indicates the components of a system and the relationship between
        them. The behavior of the system indicates what the system does.

    •   The modeling techniques can be used to describe communication systems; a system can
        consist entirely of software or of hardware or both.

    •   Generally, systems are so complex it is necessary to ignore many of the details of the system.
        This process is called abstraction.


Topic 2: Finite State Machines

    •   Finite state machines are useful for describing simple protocols used in communication
        systems.

    •   The behavior of many communication systems can be expressed in terms of output signals
        generated in response to input signals. We can model the behavior by simply concentrating on
        how they respond to input signals.

    •   The conditions that cause different responses to the same signal are called the states of the
        system. The behavior of a system can be represented as a state machine. The term machine is
        used to express the idea of a model changing from one state to another automatically in response
        to input signals.

    •   An important aspect of the basic state machine is that it only changes state in response to a
        signal observable from the outside world or the environment. The action of changing state is
        called a transition.
                                                                                                            1
State transition tables

   •   The behavior of a state machine can be represented by a state transition table as shown below.

                             Input                                Output
                  Current State   Input Signal       Next State     Output Signal
                     State1          InSig1           State2       OutSig1, OutSig2
                     State1          InSig2           State1           OutSig2
                     State2          InSig2           State1             ------
                     State2          InSig1           State2           OutSig2

   •   The behavior is expressed in terms of the state that the machine will change to next and any
       output signals it generates when it changes state. Some transitions do not generate output
       signals and others have no effect (no state change).

   •   The state machines used to describe the systems with finite number of states are called finite
       state machines.

   •   For a deterministic system it is possible to predict its future behavior from the knowledge of its
       current condition and input signals. This means that there must be only one response to each
       combination of current state and input signal.

   •   Non-deterministic systems do not have their behavior defined precisely. State transition tables
       can represent non-determinism by indicating that the same signal can cause one of several
       transitions from a single state.

State transition diagrams

   •   A state transition diagram represents states by symbols and transitions by directed lines. Each
       row in a state transition table is represented by a directed line in the corresponding state
       transition diagram. The line representing a transition is labeled with the input signal which causes
       the transition and the output signals triggered by the transition. The input and output signals are
       separated by a forward slash as shown below.


                                          InSig2/OutSig2


                                                State1
                                                                      InSig1/
                                                                      OutSig1,
                          InSig2/
                                                                      OutSig2


                                                State2


                                          InSig1/OutSig2


                                                                                                        2
Signal sequence diagrams

   •    Sometimes it is useful to look at a particular exchange of signals between a finite state machine
        and its environment. Signal sequence diagrams provide a convenient way of recording such an
        exchange.

                       Environment                            Machine
                                                                                The finite state
 The environment                           InSig1               State 1         Machine is the
 is the source of                                                               destination of the
 the signal                                                                     signal ‘InSig1’
 ‘InSig1’                                OutSig1

                                                                State 2
                                                  OutSig2

                                               InSig2

                                                                State 1
                                         InSig2

                                            OutSig2
                                                                State 1



   •    Vertical lines express the passing of time for the components of the system and its environment.
        Signals are represented by sloping lines. Vertical displacement of a sloping line gives a measure
        of time taken.


Topic 3: Object Oriented Models

   •    A system can be viewed as a set of interacting components. In the object-oriented approach to
        modeling systems, these components are represented by objects.

   •    An object is a collection of data items or attributes together with operations which use that data.
        For example, a ‘Window’ object would include the size and position of the window.

   •    The modeling of the systems using objects have many advantages:

            o Objects in the model can correspond to the ‘real’ objects. Hence, an object-oriented
                    model provides a description which can be understood by both designers and users.

            o The data and operations are kept together, i.e., encapsulation of data and behavior.
                    This results in a system design which is easier to maintain and modify.

            o The systems can be built using pre-existing program elements, i.e., re-use.

   •    A class is a collection of same-type objects. For example, a model of a graphical user interface
        will contain several different ‘window’ objects. The individual window objects are said to be
        members or instances of the window class.

   •    A class of objects which is a specialization of an existing class is called a subclass and the
        more general class is called the parent class or super-class.




                                                                                                        3
•   The specialization relationship can be used to define hierarchies of classes and subclasses.
    This is a useful way of giving a structure to a group of classes which share some characteristics
    or behavior.

•   A specialization relationship between classes and subclasses is shown below.




•   An object contains a collection of data items relating to a particular component of the system
    called attributes. For example, the attributes of a ‘Cursor’ object might be its x-position and
    y-position on the screen and its shape (Arrow, etc).

•   Each class description specifies the operations which objects of that class can carry out.
    Operations are also referred to as services or methods. For example, a ‘Window’ class would
    include operations such as ‘Move’ and ‘Resize’. All ‘Window‘ objects can perform these
    operations.

•   Subclasses                                                            automatically include the
    attributes                                                            and operations defined in
    the     parent                                                        class called inheritance.
    For example,                                                          a scrolling window will
    inherit all the                                                       attributes and operations
    of          the                                                       ‘Window’ class, but will
    also      have                                                        attributes representing the
    positions of                                                          the scroll bars, and
    operations to                                                         scroll the window vertically
    and                                                                   horizontally.




                                                                                                   4
•   Different classes have operations with the same name but in another way is called
    polymorphism. For example, a system may need ‘scaleable windows’ whose contents shrink or
    grow when the window is resized. The ‘Scaleable window’ class would be a subclass of the
    ‘Window’ class but the resize operation for the scaleable window would have different
    implementation.

•   Objects take part in a range of ‘client-server’ relationships. This is achieved by messages sent
    from one object to another. For example, when a window on a computer screen is activated its
    title bar changes color to reflect this. The window object sends a message to the title bar object.




                            Fig. Objects interacting by sending messages

•   Relationships between objects are also described as associations. For example, some
    windows may be on top of others on a computer screen. This could be described by the
    relationship ‘is on top of’ between different window objects.

•   One special type of relationship is when one object is part of another. This is called aggregation
    or some times containment and is often described as a ‘part of ’ relationship. For example, a
    drop-down menu ‘is part of’ a window.




                                                                                                    5
Fig. An aggregation relationship


•   Relationships between objects have a multiplicity. This indicates how many instances of each of
    the classes are involved in the relationship.

        o In a one-to-one relationship only one instance of each class takes part in the
            relationship. For example, the aggregation relationship between ‘Window’ and ‘Title bar’
            is one-to-one.

        o In a one-to-many relationship there may be several instances of one of the classes but
            only one of the other. For example, the aggregation relationship between ‘Window’ and
            ‘Drop-down menu’ is one-to-many.

        o In a many-to-many relationship each instance of one class may be related to many
            instances of the other class. For example, the relationship between windows described
            by ‘is on top of’ is many-to-many.

•   There are a number of different approaches or methodologies which are used for building
    object-oriented models of systems. However, each include the following steps:

        1. Identify the classes of objects which make up the system.

        2. Define the relationships between the classes.

        3. Specify the attributes for the classes.
        4. Identify the messages which need to pass between the objects.

        5. Assign operations to the different classes.

•   Steps 1 to 3 can be considered as stages in building the object model. Steps 4 and 5 are related
    to the system’s behavior over time. This is often described as the dynamic model.

•   One approach is to specify the flow of messages between objects in response to particular
    events. This clarifies which objects are involved in a specific scenario and the part played by each
    object. The diagram which results from this analysis is called an event flow diagram.


                                                                                                     6
Clicked on                        Window           Title bar
                   Mouse                            Window
                                 window                            activated




   •   Communication technology is highly dependent on software, and object-oriented methods are
       now widely used for software development.

   •   An object-oriented reference model defines a collection of standard object classes which can
       each perform certain well-defined tasks. The model specifies the relationships between these
       classes and provides standardized interfaces for using them.




Topic 4: Specification and Description Language

   •   Specification and Description Language (SDL) is used to represent real-time systems that are
       composed of components communicating by passing discrete messages between each other.

   •   SDL was designed to represent distributed parallel systems, such as a network of autonomous
       computing devices, each of which acts in co-ordination with the others. Parallel means that
       components of the system can perform independent actions simultaneously or concurrently.

   •   In SDL, a system is described in terms of a number of finite state machines communicating with
       each other and with the environment by sending and receiving discrete messages.

   •   SDL uses processes to describe the behavior of a system. A process is an extension of the
       basic finite state machine, but differs in following:

           o   A process receives signals while in a ‘state‘ in the same way as a finite state machine,
               but a process may also use values stored in data variables to influence its behavior.

           o   A process stores input signals in a first-in first-out queue and it is possible for several
               signals to be in a process queue waiting to be consumed.

           o   A process can be defined explicitly to represent forms of non-deterministic behavior.

   •   A process is represented diagrammatically by a process diagram. The structure of a system is
       described using system diagrams and block diagrams.



Preparation for Next Tutorial

   •   Please inform the students to do the following activities before coming to the next tutorial:
       1) Overview the Contents of Block 1 Systems and Processes: Part 2.
                                                                                                        7
8

More Related Content

PPTX
state modeling In UML
PDF
Software Engineering :Behavioral Modelling - II State diagram
PPTX
PPT
Unit 3(advanced state modeling & interaction meodelling)
PPT
5.state diagrams
 
PPT
PDF
State chart diagram
PPT
08 state diagram and activity diagram
state modeling In UML
Software Engineering :Behavioral Modelling - II State diagram
Unit 3(advanced state modeling & interaction meodelling)
5.state diagrams
 
State chart diagram
08 state diagram and activity diagram

Viewers also liked (20)

PDF
01 10 speech channel assignment
DOC
Timer doc
PDF
Nokia Siemens Networks Lte Analyst Webcast Dec10
PDF
Overview lte
DOC
02 gsm bss network kpi (sdcch call drop rate) optimization manual
PPTX
Systesm information layer 3 messages
PPT
Layer 3 messages (2G)
PDF
lte advanced
PDF
Bsc parameter
PPSX
TEMS PARAMETER (3G)
DOCX
Layer 3 messages
PDF
Nokia dictionary
PPT
63077585 idle-mode-parameter-optimization
PDF
introduction to parameter planning
PDF
Gsm bss-network-kpi-tch-call-drop-rate-optimization-manual(cdr)
PPT
Optimisation guide line ver1.1
PPT
WCDMA Tems Parameters Investigation and Drive Testing
PPT
Nokia kpi and_core_optimization
PPT
2 g training optimization
PDF
Gsm signaling
01 10 speech channel assignment
Timer doc
Nokia Siemens Networks Lte Analyst Webcast Dec10
Overview lte
02 gsm bss network kpi (sdcch call drop rate) optimization manual
Systesm information layer 3 messages
Layer 3 messages (2G)
lte advanced
Bsc parameter
TEMS PARAMETER (3G)
Layer 3 messages
Nokia dictionary
63077585 idle-mode-parameter-optimization
introduction to parameter planning
Gsm bss-network-kpi-tch-call-drop-rate-optimization-manual(cdr)
Optimisation guide line ver1.1
WCDMA Tems Parameters Investigation and Drive Testing
Nokia kpi and_core_optimization
2 g training optimization
Gsm signaling
Ad

Similar to T305 tutorial 4 (20)

PPTX
events and signals in Unified modelling language
PPTX
OOAD___Advanced Behavioral Modeling.pptx
PDF
CS8592-OOAD Lecture Notes Unit-3
PPT
Ooad ch 2
PDF
Lecture 2 cst 205-281 oop
PPT
Ooad ch 1_2
PDF
Predictable reactive state management - ngrx
PPTX
States, state graphs and transition testing
PPT
Software designe and constractionLec 4B.ppt
PDF
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
PDF
20031109 WRUG Presentation
PDF
State, State Graphs and Transition testing: state graphs, good & bad state gr...
PDF
3 interaction and_state_modeling
PPTX
02_IT4557.pptx
PDF
PPTX
Unit three Advanced State Modelling
PPTX
PPTX
PDF
SE_Lec 09_ UML Behaviour Diagrams
events and signals in Unified modelling language
OOAD___Advanced Behavioral Modeling.pptx
CS8592-OOAD Lecture Notes Unit-3
Ooad ch 2
Lecture 2 cst 205-281 oop
Ooad ch 1_2
Predictable reactive state management - ngrx
States, state graphs and transition testing
Software designe and constractionLec 4B.ppt
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
20031109 WRUG Presentation
State, State Graphs and Transition testing: state graphs, good & bad state gr...
3 interaction and_state_modeling
02_IT4557.pptx
Unit three Advanced State Modelling
SE_Lec 09_ UML Behaviour Diagrams
Ad

Recently uploaded (20)

PDF
Architecture types and enterprise applications.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
CloudStack 4.21: First Look Webinar slides
PDF
A review of recent deep learning applications in wood surface defect identifi...
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
The various Industrial Revolutions .pptx
PDF
Five Habits of High-Impact Board Members
PPTX
Modernising the Digital Integration Hub
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Zenith AI: Advanced Artificial Intelligence
Architecture types and enterprise applications.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
CloudStack 4.21: First Look Webinar slides
A review of recent deep learning applications in wood surface defect identifi...
Module 1.ppt Iot fundamentals and Architecture
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Enhancing emotion recognition model for a student engagement use case through...
Taming the Chaos: How to Turn Unstructured Data into Decisions
sustainability-14-14877-v2.pddhzftheheeeee
Getting started with AI Agents and Multi-Agent Systems
A novel scalable deep ensemble learning framework for big data classification...
O2C Customer Invoices to Receipt V15A.pptx
WOOl fibre morphology and structure.pdf for textiles
The various Industrial Revolutions .pptx
Five Habits of High-Impact Board Members
Modernising the Digital Integration Hub
A contest of sentiment analysis: k-nearest neighbor versus neural network
A comparative study of natural language inference in Swahili using monolingua...
Hindi spoken digit analysis for native and non-native speakers
Zenith AI: Advanced Artificial Intelligence

T305 tutorial 4

  • 1. T305: Digital Communication Faculty of Computer Studies Information Technology and Computing Tutorial 4 October 14, 2006 Introduction: This is the fourth face-to-face tutorial of this course and its basic aim is to discuss Representing Systems Modeling Activity of Block 1. The various topics that the tutor should cover with the students in this tutorial are discussed below. • Topic 1: Introduction • Topic 2: Finite State Machines • Topic 3: Object Oriented Models • Topic 4: Specification and Description Language Topic 1: Introduction • Models or block-diagram equivalent circuits are used throughout engineering to represent the behavior and structure of systems. Generally a model does not represent everything about a system, but only the aspects of the system that are of interest. • The structure of a system indicates the components of a system and the relationship between them. The behavior of the system indicates what the system does. • The modeling techniques can be used to describe communication systems; a system can consist entirely of software or of hardware or both. • Generally, systems are so complex it is necessary to ignore many of the details of the system. This process is called abstraction. Topic 2: Finite State Machines • Finite state machines are useful for describing simple protocols used in communication systems. • The behavior of many communication systems can be expressed in terms of output signals generated in response to input signals. We can model the behavior by simply concentrating on how they respond to input signals. • The conditions that cause different responses to the same signal are called the states of the system. The behavior of a system can be represented as a state machine. The term machine is used to express the idea of a model changing from one state to another automatically in response to input signals. • An important aspect of the basic state machine is that it only changes state in response to a signal observable from the outside world or the environment. The action of changing state is called a transition. 1
  • 2. State transition tables • The behavior of a state machine can be represented by a state transition table as shown below. Input Output Current State Input Signal Next State Output Signal State1 InSig1 State2 OutSig1, OutSig2 State1 InSig2 State1 OutSig2 State2 InSig2 State1 ------ State2 InSig1 State2 OutSig2 • The behavior is expressed in terms of the state that the machine will change to next and any output signals it generates when it changes state. Some transitions do not generate output signals and others have no effect (no state change). • The state machines used to describe the systems with finite number of states are called finite state machines. • For a deterministic system it is possible to predict its future behavior from the knowledge of its current condition and input signals. This means that there must be only one response to each combination of current state and input signal. • Non-deterministic systems do not have their behavior defined precisely. State transition tables can represent non-determinism by indicating that the same signal can cause one of several transitions from a single state. State transition diagrams • A state transition diagram represents states by symbols and transitions by directed lines. Each row in a state transition table is represented by a directed line in the corresponding state transition diagram. The line representing a transition is labeled with the input signal which causes the transition and the output signals triggered by the transition. The input and output signals are separated by a forward slash as shown below. InSig2/OutSig2 State1 InSig1/ OutSig1, InSig2/ OutSig2 State2 InSig1/OutSig2 2
  • 3. Signal sequence diagrams • Sometimes it is useful to look at a particular exchange of signals between a finite state machine and its environment. Signal sequence diagrams provide a convenient way of recording such an exchange. Environment Machine The finite state The environment InSig1 State 1 Machine is the is the source of destination of the the signal signal ‘InSig1’ ‘InSig1’ OutSig1 State 2 OutSig2 InSig2 State 1 InSig2 OutSig2 State 1 • Vertical lines express the passing of time for the components of the system and its environment. Signals are represented by sloping lines. Vertical displacement of a sloping line gives a measure of time taken. Topic 3: Object Oriented Models • A system can be viewed as a set of interacting components. In the object-oriented approach to modeling systems, these components are represented by objects. • An object is a collection of data items or attributes together with operations which use that data. For example, a ‘Window’ object would include the size and position of the window. • The modeling of the systems using objects have many advantages: o Objects in the model can correspond to the ‘real’ objects. Hence, an object-oriented model provides a description which can be understood by both designers and users. o The data and operations are kept together, i.e., encapsulation of data and behavior. This results in a system design which is easier to maintain and modify. o The systems can be built using pre-existing program elements, i.e., re-use. • A class is a collection of same-type objects. For example, a model of a graphical user interface will contain several different ‘window’ objects. The individual window objects are said to be members or instances of the window class. • A class of objects which is a specialization of an existing class is called a subclass and the more general class is called the parent class or super-class. 3
  • 4. The specialization relationship can be used to define hierarchies of classes and subclasses. This is a useful way of giving a structure to a group of classes which share some characteristics or behavior. • A specialization relationship between classes and subclasses is shown below. • An object contains a collection of data items relating to a particular component of the system called attributes. For example, the attributes of a ‘Cursor’ object might be its x-position and y-position on the screen and its shape (Arrow, etc). • Each class description specifies the operations which objects of that class can carry out. Operations are also referred to as services or methods. For example, a ‘Window’ class would include operations such as ‘Move’ and ‘Resize’. All ‘Window‘ objects can perform these operations. • Subclasses automatically include the attributes and operations defined in the parent class called inheritance. For example, a scrolling window will inherit all the attributes and operations of the ‘Window’ class, but will also have attributes representing the positions of the scroll bars, and operations to scroll the window vertically and horizontally. 4
  • 5. Different classes have operations with the same name but in another way is called polymorphism. For example, a system may need ‘scaleable windows’ whose contents shrink or grow when the window is resized. The ‘Scaleable window’ class would be a subclass of the ‘Window’ class but the resize operation for the scaleable window would have different implementation. • Objects take part in a range of ‘client-server’ relationships. This is achieved by messages sent from one object to another. For example, when a window on a computer screen is activated its title bar changes color to reflect this. The window object sends a message to the title bar object. Fig. Objects interacting by sending messages • Relationships between objects are also described as associations. For example, some windows may be on top of others on a computer screen. This could be described by the relationship ‘is on top of’ between different window objects. • One special type of relationship is when one object is part of another. This is called aggregation or some times containment and is often described as a ‘part of ’ relationship. For example, a drop-down menu ‘is part of’ a window. 5
  • 6. Fig. An aggregation relationship • Relationships between objects have a multiplicity. This indicates how many instances of each of the classes are involved in the relationship. o In a one-to-one relationship only one instance of each class takes part in the relationship. For example, the aggregation relationship between ‘Window’ and ‘Title bar’ is one-to-one. o In a one-to-many relationship there may be several instances of one of the classes but only one of the other. For example, the aggregation relationship between ‘Window’ and ‘Drop-down menu’ is one-to-many. o In a many-to-many relationship each instance of one class may be related to many instances of the other class. For example, the relationship between windows described by ‘is on top of’ is many-to-many. • There are a number of different approaches or methodologies which are used for building object-oriented models of systems. However, each include the following steps: 1. Identify the classes of objects which make up the system. 2. Define the relationships between the classes. 3. Specify the attributes for the classes. 4. Identify the messages which need to pass between the objects. 5. Assign operations to the different classes. • Steps 1 to 3 can be considered as stages in building the object model. Steps 4 and 5 are related to the system’s behavior over time. This is often described as the dynamic model. • One approach is to specify the flow of messages between objects in response to particular events. This clarifies which objects are involved in a specific scenario and the part played by each object. The diagram which results from this analysis is called an event flow diagram. 6
  • 7. Clicked on Window Title bar Mouse Window window activated • Communication technology is highly dependent on software, and object-oriented methods are now widely used for software development. • An object-oriented reference model defines a collection of standard object classes which can each perform certain well-defined tasks. The model specifies the relationships between these classes and provides standardized interfaces for using them. Topic 4: Specification and Description Language • Specification and Description Language (SDL) is used to represent real-time systems that are composed of components communicating by passing discrete messages between each other. • SDL was designed to represent distributed parallel systems, such as a network of autonomous computing devices, each of which acts in co-ordination with the others. Parallel means that components of the system can perform independent actions simultaneously or concurrently. • In SDL, a system is described in terms of a number of finite state machines communicating with each other and with the environment by sending and receiving discrete messages. • SDL uses processes to describe the behavior of a system. A process is an extension of the basic finite state machine, but differs in following: o A process receives signals while in a ‘state‘ in the same way as a finite state machine, but a process may also use values stored in data variables to influence its behavior. o A process stores input signals in a first-in first-out queue and it is possible for several signals to be in a process queue waiting to be consumed. o A process can be defined explicitly to represent forms of non-deterministic behavior. • A process is represented diagrammatically by a process diagram. The structure of a system is described using system diagrams and block diagrams. Preparation for Next Tutorial • Please inform the students to do the following activities before coming to the next tutorial: 1) Overview the Contents of Block 1 Systems and Processes: Part 2. 7
  • 8. 8