SDL as an Object Oriented Language Lecture 6 Huma Ayub Software Engineering Department 1.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

SDL-2000 Foil no Rolv Bræk; NTNU, SINTEF Birger Møller-Pedersen; Ericsson SDL-2000 = SDL-96 + UML + - New ITU-T SG10 recommendations, due.
Combinational Circuits
1 CHAPTER 4 RELATIONAL ALGEBRA AND CALCULUS. 2 Introduction - We discuss here two mathematical formalisms which can be used as the basis for stating and.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Unified Modeling Language
Object Oriented Programming Chapter 7 Programming Languages by Ravi Sethi.
Ch 12: Object-Oriented Analysis
CS3773 Software Engineering Lecture 03 UML Use Cases.
Copyright © Cengage Learning. All rights reserved. CHAPTER 1 SPEAKING MATHEMATICALLY SPEAKING MATHEMATICALLY.
Object-Oriented Analysis and Design
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
CS-2135 Object Oriented Programming
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Lecture a: Additional UML Models: Package, Activity, Deployment Lecture b: Generalization, Aggregation and Additional Domain Model Notation Copyright W.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
UML Diagrams Computer Science I.
Introduction to Object-oriented programming and software development Lecture 1.
CMSC 202 Exceptions. Aug 7, Error Handling In the ideal world, all errors would occur when your code is compiled. That won’t happen. Errors which.
1 Chapter 2 (Cont.) The BA’s Perspective on Object Orientation.
FDT Foil no 1 Overall Methodology – from Engineering RT Systems through TIMe; to RAM. Covering the full development cycle Supporting the whole company.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Science and Technology Norwegian University of NTNU Rolv Bræk, March Systems and Service Engineering Domain Modelling (textbook ch 3 ++) Rolv Bræk.
Winter 2007, rev. 2008SEG Chapter 21 Chapter 2 Basic Principles.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
CS212: Object Oriented Analysis and Design Lecture 13: Relationship between Classes.
Chapter 12 Support for Object oriented Programming.
Designing Classes Prelude © 2015 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures and Abstractions with Java, 4e Frank.
UNIT_2 1 DATABASE MANAGEMENT SYSTEM[DBMS] [Unit: 2] Prepared By Lavlesh Pandit SPCE MCA, Visnagar.
ESDI Workshop on Conceptual Schema Languages and Tools
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Entity-Relation Model. E-R Model The Entity-Relationship (ER) model was originally proposed by Peter in 1976 ER model is a conceptual data model that.
SDS Foil no 1 SDL – Inheritance. SDS Foil no 2 Controller behaviour to Central Validation Idle Code (cid,PIN) Code(cid, PIN) via U Validation virtual.
CS212: Object Oriented Analysis and Design Lecture 19: Exception Handling.
Dr Nick Mitchell (Room CM 224)
Science and Technology Norwegian University of NTNU Rolv Bræk, January Domain Modelling and requirement specifications by Rolv Bræk NTNU.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
FDT Foil no 1 Basic SDL Specification and Description Language Basic SDL.
1 Kyung Hee University Interaction Diagrams Spring 2001.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
1 An SDL Tutorial Two primary elements: –Structure –Identifies the various components of the system, and the communication paths among them. –Components:
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Computer Programming II Lecture 5. Introduction to Object Oriented Programming (OOP) - There are two common programming methods : procedural programming.
Protocol Modeling Eng. Ahmed Badr Tutorial 2 Theoretical
Object Oriented Programming
7.1 What Is An Object Object-oriented program - Description or simulation of application Object-oriented programming is done by adopting or extending an.
Object-Oriented Analysis and Design
Class Diagrams.
Design (2).
Unified Modeling Language
Arab Open University 2nd Semester, M301 Unit 5
A Survey of Object Orientation in Z
Quick Test What do you mean by pre-test and post-test loops in C?
Chapter 12 Outline Overview of Object Database Concepts
Nested class.
UML Class Diagrams: Basic Concepts
Software Design Lecture : 15.
Basic OOP Concepts and Terms
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Copyright © Cengage Learning. All rights reserved.
Copyright © Cengage Learning. All rights reserved.
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

SDL as an Object Oriented Language Lecture 6 Huma Ayub Software Engineering Department 1

Introduction to the example Figure : Panel and card of an access control system The purpose of access control systems is in general to control the access to some service to people with known identity, represented by cards and personal codes. In this specific example the system shall control access to access zones by controlling the opening of doors. Each card holds a unique Card-code that identifies the card. To grant access the system will read the Card-code and then check the corresponding access right. For additional authentication, the user will be asked to enter the secret personal number (PIN). 2

Introduction to the example A typical access control system will consist of a number of access points and a central unit where validation is performed Some access points are so-called blocking access points, that is access points that may be blocked by an operator, so that access is denied even with a valid card and code, until the access point is enabled again. Other access point may have the property that they log what is going on at the point. 3

Introduction to the example In order to illustrate as many mechanism of SDL as possible, the example system will consist of three sets of access points, each of a different type. In a real access control system one may choose to give all access points the possibility of being blocked and of logging 4

SDL Entity kinds SDL defines the following different kinds of entities : packagessignal routesprocesses systemsignalsprocess types system typesgatesservices blockblockstimersservice types block typesblock substructure channelschannel substructures 5

Pp Package 6 A package is a set of types

A package reference clause specifies that a system diagram or package diagram use the definitions of other packages. The names following the "/" after the package name denotes the subset of the definitions that are used 7

8

System A system is in general a set of blocks, block sets and channels. Blocks and block sets are connected with each other or with the environment of the system by means of channels.blocksblock setschannels In SDL a system is defined by means of a system diagram. By making a system diagram it has been decided what is part of the system and what is part of the environment of the system 9

System This Access Control system consists of one single block (CentralUnit) and three block sets, that is sets of blocks according to block types, connected by channels. It communicates with the environment that is supposed to behave like processes representing the users of the system, the operators and the controlled physical panels and doors at the access points.systemblock setschannelsenvironment 10

SYSTEM 11

Subtypes 12 They will inherit all properties of AccessPoint, but it is essential that they can redefine the Controller part: BlockingAccessPoint so that it can be blocked even for people with validated card and PIN codes, and LoggingAccessPoint so that these access points will log what is going on at the point.

Environment For the system the environment consists of a set of SDL processes that may send signals to the system and which may receive signals from the system. The signals for this purpose are defined in the system or, as here, in a package ( Package diagram, SignalLib ) used by the system Package diagram, SignalLib 13

Block A block is created as part of the creation of the enclosing block or system. All blocks are created as part of the system creation, that is there is no dynamic creation of blocks. The block type AccessPoint defines the properties of a general type of access point in the system. The other types of access points (blocking and logging access points) are defined a subtypes of this. Each access point shall handle the interaction with the user via a panel, communicate with the central unit and control the door 14

Block type diagram, Access Point 15

Block type diagram process (reference) A process reference specifies that there is a process set in the enclosing block and that the properties of this process are defined in a separate (referenced) process diagram outside this diagram. A process reference is a shorthand for having the referenced process diagram at this place in the surrounding diagram.process diagram process set A process set defines a set of processes according to a process type.process type Just like we have the distinction between block reference, block type and block set according to type, we have the distinction between process reference, process type and process set according to a type. While Panel above is a process reference, and thereby a process set without any associated type, apc is a process set according to the process type Controller and therefore not a process reference. 16

Block type diagram In general process sets may have specified the number of instances in the set.process sets The numbers in parentheses after the process set name specifies the number of instances in the process set. As defined in above, there are initially no processes, and there is no limit on the number of instances that may be created. 17

18 BlockingAccessPoints are quite similar to the plain AccessPoints.The only difference is that the BlockingAccessPoints shall be able to react to signals from the CentralUnit that plain AccessPoints will not recognise. BlockingAccessPoint will have a Door (which should not have a new definition), a Panel (which could have a new definition, but need not have a new definition) and a control process Controller which should be able to do the extended controlling. A BlockingAccessPoint is a specialised AccessPoint where Controller is extended. A dashed entity is the graphical way of representing an entity that is inherited from a super type and which needs to be used in the definition of the subtype and also called existing entity.existing entity

19 A finalized process type is a redefinition of the corresponding virtual process type in the super block type, and it is not virtual, so that it can not be redefined in further subtypes of this block type. virtual process type

Process A process type diagram defines the properties of a process type. A process type defines the common properties of a category of process instances. A process type is defined by a process type diagram.process type diagramprocess process type diagram 20

inputinput symbols (here Code, containing information about the card id and PIN from the Panel). The Idle state is followed by one input symbol which describes the consumption of the signal Code. In the transition following the reception of the Code signal, it will use the variable cur_panel to remember from which panel the signal came from and then send the Code to the central unit for validation. The next state is Validation. In state Validation the Controller will only accept OK or NOK. If it gets OK it will open the door by calling the procedure OpenDoor. A virtual input transition is a special case of a general notion of virtual transition: virtual priority input, virtual start, virtual spontaneous transition. 21

Process type diagram, redefined Controller in BlockingAccessPoint 22 The asterisk state implies all states, also the inherited An asterisk state is a shorthand for all states except those listed in an accompanying asterisk state list.asterisk state A save specifies that the signals in the save symbol are retained in the input port in the order of their arrivalsave

Process type diagram, finalised Controller in LoggingAccessPoint 23

Process diagram, Panel in terms of services 24

Service diagram, PanelControl 25

Procedure diagram, GetPIN 26

Object As part of object modeling, components of the real world systems are identified and selected properties are described. These components are modeled by objects. Objects may be classified into categories of objects (modeled by classes) and into subcategories (modeled by subclasses). The corresponding is done in SDL, just in other terms: SDL systems consist of instances. The classification of components into categories and subcategories is in the SDL system represented by types and subtypes of instances 27

Reference SDL Tutorial /sdl_t01.htm 28