Modeling SW-Architectures using UML-RT/UML 2.0

Size: px
Start display at page:

Download "Modeling SW-Architectures using UML-RT/UML 2.0"

Transcription

1 Modeling SW-Architectures using UML-RT/UML 2.0 Ingolf H. Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA , USA California Institute for Telecommunications and Information Technologies La Jolla, CA , USA

2 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 2

3 Is the UML Good Enough? The UML offers a plethora of description techniques for many aspects of software architectures The UML has, however, also significant deficits especially when it comes to modeling complex, service-oriented systems! In particular, we miss: An adequate notation for services A non-technical component notion Clear concepts for hierarchy Strong concepts and description techniques for logical component distribution non-technical interfaces Formal means for behavior descriptions with respect to interfaces Ingolf H. Krueger CSE 3

4 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 4

5 Examples of profiles of the UML: embedded real-time systems ( UML-RT ) automotive web applications... What is UML-RT? Origin: ROOM [SGW94] + UML Read: UML with component notion Focus of UML-RT/ROOM: component-oriented development all components are potentially active units signal-/message-oriented communication time concept quality of service (in preparation) Ingolf H. Krueger CSE 5

6 The Component Model of UML-RT Description Techniques of UML-RT for Structure and Behavior capsules UML-statecharts ports MSCs connectors structure behavior Ingolf H. Krueger CSE 6

7 Hierarchical Composition in UML-RT Port Capsule Connector :CommandSource communication link between ports drives protocol concrete active object realization or passive of an container interface by means of an object communication equipped with a with protocol the environment list signal-based of incoming/outgoing (asynchronous messages/signals :CLSexchange) (signal exclusively flow) via interface objects (ports) the supports aid for hierarchical encapsulation composition and :CommandHandler separation of concerns lm:motor :MotorControl rm:motor lm:motor Ingolf H. Krueger CSE 7

8 Example:UML-statecharts h.lock/l.down wld l.ready/r.down wrd r.ready/h.done UNLD LCKD r.ready/h.done wru l.ready/r.up :CLS wlu :CommandHandler h.unlock/l.up l h :MotorControl r Ingolf H. Krueger CSE 8

9 Signal-Based Communication Capsules receive and send signals via their ports Signals, which cannot be processed immediately, are stored in a queue :CLS lock unlock lock :CommandHandler down ready :MotorControl ready down Ingolf H. Krueger CSE 9

10 Signalbasierte Kommunikation Capsules receive and send signals via their ports Signals, which cannot be processed immediately, are stored in a queue :CLS :CommandHandler unlock lock :MotorControl Ingolf H. Krueger CSE 10

11 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 11

12 Capsules Every capsule represents a potentially active object Communication between capsule and environment: exclusively via ports no public data no public methods Hierarchical decomposition into subcapsules Every capsule has (at most) one state automaton describing the capsule s behavior capsule is controller for its subcapsules see architectural pattern recursive control Ingolf H. Krueger CSE 12

13 Capsules Upon its instantiation a capsule builds its internal structure (subcapsules) The capsule can change its internal structure over time Architectural integrity Name of Capsule Capsule CLS Port Name ports cp : CommandHandler mp[2] : Initiator Protocol Role Ingolf H. Krueger CSE 13

14 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 14

15 Port Ports and Connectors belongs to precisely one capsule (the capsule creates and destroys its ports) has identity and state has behavior implements the role of its capsule in a protocol Kinds of ports Relay-Ports relay signals between capsuels and their subcapsules controlled interface export End-Ports relay signals between capsules and their state automata have queues for signals already received, but not yet processed Ingolf H. Krueger CSE 15

16 Ports and Konnektoren Simplified Representation Port Name CLS ports cp : CommandProtocol.Handler; mp[2] : MotorProtocol.Initiator; Protocol-Role (qualified with protocol name) Ingolf H. Krueger CSE 16

17 Ports and Connectors Simplified Representation in Collaboration Diagrams :CommandSource Port Symbol cp:commandprotocol.handler lm:motor mp[1]: MotorProtocol.Initiator :CLS mp[2]: MotorProtocol.Initiator rm:motor lm:motor Port Name and Protocol-Role Ingolf H. Krueger CSE 17

18 Ports and Connectors End-Port Relay-Port Relay-Port :CLS :CommandHandler lm:motor :MotorControl rm:motor lm:motor Ingolf H. Krueger CSE 18

19 UML2 Notation Ingolf H. Krueger CSE 19

20 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 20

21 Protocols Example: Simple Communication Protocol SenderRole ReceiverRole req_start ack_start data ack_data data ack_data req_end ack_end Ingolf H. Krueger CSE 21

22 Protocols Example: Simple Communication Protocol «protocolrole» SenderRole incoming ack_start ack_data ack_end outgoing req_start data req_end SenderRole ReceiverRole req_start ack_start data ack_data data ack_data req_end ack_end «protocolrole» ReceiverRole incoming req_start data req_end outgoing ack_start ack_data ack_end Ingolf H. Krueger CSE 22

23 Protokols Example: Simple Communication Protocol «protocolrole» SenderRole incoming ack_start ack_data ack_end outgoing req_start data req_end «protocolrole» ReceiverRole incoming req_start data req_end outgoing ack_start ack_data ack_end Conjugated sender role Ingolf H. Krueger CSE 23

24 Protocols Simplification for Point-to-Point Protocols «protocol» Transmission incoming ack_start ack_data ack_end outgoing req_start data req_end Base Role Base Role for Protocol (Sender View) Sender sp: Transmission Receiver rp: Transmission~ Conjugated (Inverse) Role Ingolf H. Krueger CSE 24

25 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 25

26 Behavior Description in UML-RT Every capsule that has its own behavior is associated with a UML-statechart Max one statechart per capsule Hierarchical composition: every sub-capsule can have its own statechart Ingolf H. Krueger CSE 26

27 Behavior Description in UML-RT Doing without AND-states Concurrency via separate capsules Synchronization via explicit communication Result: stronger decoupling Ingolf H. Krueger CSE 27

28 Behavior Description in UML-RT Encapsulation on the Level of States Chain State entry/ae e1/a1 /a2 /a3 exit/ax States become exchangeable entities Helps avoid stub states Ingolf H. Krueger CSE 28

29 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 29

30 Evaluation UML-RT is much better suited for the specification of software architectures and services than pure UML: hierarchic component model, precise behavior descriptions interface concept protocols and connectors Potentials for improvement (among others): m2m communication instead of p2p association of interaction patterns with ports/connectors methodological guidelines for iterative service development Future: (methodological!) treatment of Quality-of-Service aspects Ingolf H. Krueger CSE 30

31 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 31

32 Systematic Construction of Reliable SW-Systems 1. Develop/Refine domain model 2. Capture interaction patterns 3. Derive interface specification messages/signals, types behavior 4. Decompose components hierarchically Ingolf H. Krueger CSE 32

33 Example Application: Autonomous Transport System Holons carry workpieces between source and destination InStorage OutStorage holds workpieces negotiate yet holds to with be workpieces OutStorage processedafter and processing Machinetools for jobs holds production plan/program hold internal (number/kind database of representing workpieces the to be system s MachineTools processed status per day) process workpieces post jobs to be processed ( deliver workpiece ) negotiate with Holons via broadcasting Ingolf H. Krueger CSE 33

34 Example Application: Autonomous Transport System Architectural Aspects: MachineTool1 MachineTool2 MachineTool3 Holon1 Dispo Control Holon2 Holon3 DB InStorage OutStorage components interfaces/behavior hierarchy/decomposition p2p communication broadcasting Ingolf H. Krueger CSE 34

35 Domain Model Status 1 * 0..1 MachineTool * * Workpiece Job * Location * * * * Database HTS Storage 1 1 ProdProg 1 InStorage OutStorage 1 1 CommunicationSystem 1 Ingolf H. Krueger CSE 35

36 Architectural Pattern for Broadcasting HTS Disponent Database SingleJobControl HTS_IOSystem ProdSys InStorage HTS n MachineTool n OutStorage BroadcastSystem Ingolf H. Krueger CSE 36

37 Sequence Charts for Broadcasting time component axis local action m:machinetool h:hts l:hts requestwp() releasewp() drive to location 1 signal exchange jtransporting(jobno) update JobStatus() update JobStatus() broadcasting Ingolf H. Krueger CSE 37

38 Sequence Charts for Broadcasting state label m:machinetool h:hts l:hts jorder(jobno) waiting waiting jbid(jobno, h) compute bid compute bid jbid(jobno, l) jendofnegotiation(jobno) store job waiting waiting Ingolf H. Krueger CSE 38

39 ProdSys Derivation of Component Structure Captured scenarios & domain model indicate: active vs. passive components Point-to-point communication requirements broadcasting requirements InStorage HTS n MachineTool n OutStorage BroadcastSystem Ingolf H. Krueger CSE 39

40 Derivation of Interface Behavior Captured scenarios indicate also: names and types of signals ordering of signal flow m:machinetool h:hts l:hts drive to m:machinetoollocation 1 requestwp() h:hts l:hts waiting releasewp() jorder(jobno) jtransporting(jobno) compute bid jbid(jobno, h) update JobStatus() jendofnegotiation(jobno) waiting compute bid update JobStatus() jbid(jobno, l) HTS n store job waiting waiting Ingolf H. Krueger CSE 40

41 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 41

42 Summary and Outlook Modeling in the real world : often if at all done using UML/UML-RT/UML 2.0 UML-RT/UML 2.0 better equipped for modeling software architectures than UML versions < 2.0 Starting point for component- and service-oriented development: domain model, interaction scenarios How to avoid over-modeling and over-engineering? Ingolf H. Krueger CSE 42

43 Ingolf H. Krueger CSE 43

Modeling SW-Architectures using UML-RT/UML 2.0

Modeling SW-Architectures using UML-RT/UML 2.0 Modeling SW-Architectures using UML-RT/UML 2.0 Ingolf H. Krueger ikrueger@ucsd.edu Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California

More information

UML for Real-Time Overview

UML for Real-Time Overview Abstract UML for Real-Time Overview Andrew Lyons April 1998 This paper explains how the Unified Modeling Language (UML), and powerful modeling constructs originally developed for the modeling of complex

More information

Software-Architecture, Design Patterns and Refactoring An Overview

Software-Architecture, Design Patterns and Refactoring An Overview Software-Architecture, Design Patterns and Refactoring An Overview Ingolf H. Krueger ikrueger@ucsd.edu Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114,

More information

Development of Component- and Service-Oriented Software Architectures with UML and UML-RT Objects and Classes

Development of Component- and Service-Oriented Software Architectures with UML and UML-RT Objects and Classes Development of Component- and Service-Oriented Software Architectures with UML and UML-RT Objects and Classes Ingolf H. Krueger ikrueger@ucsd.edu Department of Computer Science & Engineering University

More information

Patterns for Decoupling

Patterns for Decoupling Patterns for Decoupling Ingolf H. Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California Institute for Telecommunications and Information

More information

T U M I N S T I T U T F Ü R I N F O R M A T I K. Modelling System Families with Message Sequence Charts: A Case Study

T U M I N S T I T U T F Ü R I N F O R M A T I K. Modelling System Families with Message Sequence Charts: A Case Study T U M I N S T I T U T F Ü R I N F O R M A T I K Modelling System Families with Message Sequence Charts: A Case Study Stefan Wagner, María Victoria Cengarle, Peter Graubmann TUM-I0416 Oktober 04 T E C H

More information

From a Specification Level PIM to a Design Level PIM in the Context of Software Radios

From a Specification Level PIM to a Design Level PIM in the Context of Software Radios From a Specification Level PIM to a Design Level PIM in the Context of Software Radios Juan Pablo Zamora Francis Bordeleau Collaborators: Michel Barbeau Jeff Smith Outline Context Specification vs.. Design

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

CSE 210: Service-Oriented Software and Systems Engineering & Model-Driven Development

CSE 210: Service-Oriented Software and Systems Engineering & Model-Driven Development CSE 210: Service-Oriented Software and Systems Engineering & Model-Driven Development Ingolf H. Krueger ikrueger@ucsd.edu, http://sosa.ucsd.edu with contributions from Roshni Malani, Michael Meisinger,

More information

Specifying Precise Use Cases with Use Case Charts

Specifying Precise Use Cases with Use Case Charts Specifying Precise Use Cases with Use Case Charts Jon Whittle Dept of Information & Software Engineering George Mason University 4400 University Drive Fairfax, VA 22030 jwhittle@ise.gmu.edu Abstract. Use

More information

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 State machines 109 History and predecessors 1950 s: Finite State Machines Huffmann, Mealy, Moore 1987: Harel Statecharts conditions hierarchical (and/or) states history states

More information

Agent-Oriented Software Engineering

Agent-Oriented Software Engineering Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

A Case Study for HRT-UML

A Case Study for HRT-UML A Case Study for HRT-UML Massimo D Alessandro, Silvia Mazzini, Francesco Donati Intecs HRT, Via L. Gereschi 32, I-56127 Pisa, Italy Silvia.Mazzini@pisa.intecs.it Abstract The Hard-Real-Time Unified Modelling

More information

Towards Tool Support for Service-Oriented Development of Embedded Automotive Systems

Towards Tool Support for Service-Oriented Development of Embedded Automotive Systems Towards Tool Support for Service-Oriented Development of Embedded Automotive Systems Vina Ermagan 1, To-Ju Huang 1, Ingolf H. Krüger 1, Michael Meisinger 2, Massimiliano Menarini 1, Praveen Moorthy 1 1

More information

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 8 Architectural Design of Distributed Applications

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 8 Architectural Design of Distributed Applications SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 8 Architectural Design of Distributed Applications Hassan Gomaa Dept of Computer Science George Mason University

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Class Diagram What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51 What is a Class Diagram? Class Diagram A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

Business Process Modelling

Business Process Modelling CS565 - Business Process & Workflow Management Systems Business Process Modelling CS 565 - Lecture 2 20/2/17 1 Business Process Lifecycle Enactment: Operation Monitoring Maintenance Evaluation: Process

More information

Actor-Oriented Design: Concurrent Models as Programs

Actor-Oriented Design: Concurrent Models as Programs Actor-Oriented Design: Concurrent Models as Programs Edward A. Lee Professor, UC Berkeley Director, Center for Hybrid and Embedded Software Systems (CHESS) Parc Forum Palo Alto, CA May 13, 2004 Abstract

More information

Business Process Modeling. Version 25/10/2012

Business Process Modeling. Version 25/10/2012 Business Process Modeling Version 25/10/2012 Maurizio Morisio, Marco Torchiano, 2012, 2013 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML Class

More information

Analysis and Design with the Universal Design Pattern

Analysis and Design with the Universal Design Pattern Analysis and Design with the Universal Design Pattern by Koni Buhrer Software Engineering Specialist Rational Software Developing large software systems is notoriously difficult and unpredictable. Software

More information

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24, PragmaDev change request Emmanuel Gaudin emmanuel.gaudin@pragmadev.com Languages Table of contents PragmaDev introduction Languages SDL-RT Tool support Market tendancy Change requests Presentation PragmaDev

More information

Activities Radovan Cervenka

Activities Radovan Cervenka Unified Modeling Language Activities Radovan Cervenka Activity Model Specification of an algorithmic behavior. Used to represent control flow and object flow models. Executing activity (of on object) is

More information

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

More information

SWE 760. Lecture 9: Component-based Software Architectures for Real-Time Embedded Systems

SWE 760. Lecture 9: Component-based Software Architectures for Real-Time Embedded Systems SWE 760 Lecture 9: Component-based Software Architectures for Real-Time Embedded Systems Reference: H. Gomaa, Chapter 12 - Real-Time Software Design for Embedded Systems, Cambridge University Press, 2016

More information

UP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling.

UP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling. UP Requirements UP Workflows Business Modeling Requirements Analysis and Design Implementation Test Deployment Configuration & Change Management Project Management Environment Iterations Activities of

More information

SoC Design with UML and SystemC. Alberto Sardini Software Engineering Specialist

SoC Design with UML and SystemC. Alberto Sardini Software Engineering Specialist SoC Design with UML and SystemC Alberto Sardini Software Engineering Specialist Presentation Structure Modeling Languages for a SoC Design Process UML 2.0 Overview SystemC to UML 2 Mapping Summary 2 Modeling

More information

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)

More information

Business Process Modeling. Version /10/2017

Business Process Modeling. Version /10/2017 Business Process Modeling Version 1.2.1-16/10/2017 Maurizio Morisio, Marco Torchiano, 2012-2017 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML

More information

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis. SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented

More information

Software Architectures. Lecture 6 (part 1)

Software Architectures. Lecture 6 (part 1) Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements

More information

Telematics I. Chapter 1 A Quick Tour. Goals of this chapter Examples Direct connection between two devices Multiple devices Errors

Telematics I. Chapter 1 A Quick Tour. Goals of this chapter Examples Direct connection between two devices Multiple devices Errors Telematics I Chapter 1 A Quick Tour Goals of this chapter Examples Direct connection between two devices Multiple devices Errors (Acknowledgement: these slides have been edited from Prof. Karl s set of

More information

T : Protocol Design

T : Protocol Design T-110.300: Protocol Design Protocol Design Theory Methods Protocol Engineering Process (PEP) Timo.Kyntaja@vtt.fi 1 (154) Motivation Telecom systems engineering is a huge industry networks, terminals, services

More information

A Tutorial on Agent Based Software Engineering

A Tutorial on Agent Based Software Engineering A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on Agent Based Software Engineering Qun Zhou December, 2002 Abstract Agent oriented software

More information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)

More information

TTool Training. I. Introduction to UML

TTool Training. I. Introduction to UML TTool Training I. Introduction to UML Ludovic Apvrille ludovic.apvrille@telecom-paris.fr Eurecom, Office 223 Ludovic Apvrille TTool Training - 2004. Slide #1 Outline of the Training Introduction to UML

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 17 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Hypothetical design

More information

Modeling Interactions of Web Software

Modeling Interactions of Web Software Modeling Interactions of Web Software Tevfik Bultan Department of Computer Science University of California Santa Barbara, CA 9106 bultan@cs.ucsb.edu Abstract Modeling interactions among software components

More information

Object Oriented Paradigm

Object Oriented Paradigm Object Oriented Paradigm Ming-Hwa Wang, Ph.D. Department of Computer Engineering Santa Clara University Object Oriented Paradigm/Programming (OOP) similar to Lego, which kids build new toys from assembling

More information

An evaluation of Papyrus-RT for solving the leader-follower challenge problem

An evaluation of Papyrus-RT for solving the leader-follower challenge problem An evaluation of Papyrus-RT for solving the leader-follower challenge problem Karim Jahed Queen s University, Kingston, ON jahed@cs.queensu.ca Abstract. We discuss and evaluate the use of Papyrus-RT modeling

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

Object-Interaction Diagrams: Sequence Diagrams UML

Object-Interaction Diagrams: Sequence Diagrams UML Object-Interaction Diagrams: Sequence Diagrams UML Communication and Time In communication diagrams, ordering of messages is achieved by labelling them with sequence numbers This does not make temporal

More information

Design Patterns. Dr. Rania Khairy. Software Engineering and Development Tool

Design Patterns. Dr. Rania Khairy. Software Engineering and Development Tool Design Patterns What are Design Patterns? What are Design Patterns? Why Patterns? Canonical Cataloging Other Design Patterns Books: Freeman, Eric and Elisabeth Freeman with Kathy Sierra and Bert Bates.

More information

be used for more than one use case (for instance, for use cases Create User and Delete User, one can have one UserController, instead of two separate

be used for more than one use case (for instance, for use cases Create User and Delete User, one can have one UserController, instead of two separate UNIT 4 GRASP GRASP: Designing objects with responsibilities Creator Information expert Low Coupling Controller High Cohesion Designing for visibility - Applying GoF design patterns adapter, singleton,

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

Concurrent Object-Oriented Development with Behavioral Design Patterns

Concurrent Object-Oriented Development with Behavioral Design Patterns Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch

More information

L6: OSI Reference Model

L6: OSI Reference Model EECS 3213 Fall 2014 L6: OSI Reference Model Sebastian Magierowski York University 1 Outline The OSI Reference Model An organized way of thinking about network design (from low-level to high-level considerations)

More information

The Structuring of Systems Using Upcalls

The Structuring of Systems Using Upcalls CS533 - Concepts of Operating Systems, Winter 2012 The Structuring of Systems Using Upcalls David D. Clark Presented by: Peter Banda Agenda Layers and Upcalls Example Multi-task Modules Problems with Upcalls

More information

INSTITUTE OF AERONAUTICAL ENGINEERING

INSTITUTE OF AERONAUTICAL ENGINEERING INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad -500 0 COMPUTER SCIENCE AND ENGINEERING TUTORIAL QUESTION BANK Course Name : DESIGN PATTERNS Course Code : A7050 Class : IV B. Tech

More information

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa SOFTWARE MODELING AND DESIGN UML, Use Cases, Patterns, and Software Architectures Hassan Gomaa George Mason University, Fairfax, Virginia Ki Cambridge UNIVERSITY PRESS Contents Preface P"U

More information

CSE 3214: Computer Network Protocols and Applications Network Layer

CSE 3214: Computer Network Protocols and Applications Network Layer CSE 314: Computer Network Protocols and Applications Network Layer Dr. Peter Lian, Professor Department of Computer Science and Engineering York University Email: peterlian@cse.yorku.ca Office: 101C Lassonde

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

Configuring TCP Header Compression

Configuring TCP Header Compression Configuring TCP Header Compression First Published: January 30, 2006 Last Updated: May 5, 2010 Header compression is a mechanism that compresses the IP header in a packet before the packet is transmitted.

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

An Agent Modeling Language Implementing Protocols through Capabilities

An Agent Modeling Language Implementing Protocols through Capabilities An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,

More information

Embedded Systems CS - ES

Embedded Systems CS - ES Embedded Systems - 1 - Synchronous dataflow REVIEW Multiple tokens consumed and produced per firing Synchronous dataflow model takes advantage of this Each edge labeled with number of tokens consumed/produced

More information

visualstate Reference Guide

visualstate Reference Guide COPYRIGHT NOTICE Copyright 2000 2014 IAR Systems AB. No part of this document may be reproduced without the prior written consent of IAR Systems. The software described in this document is furnished under

More information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

Subnetting and addresses revisited

Subnetting and addresses revisited Subnetting and addresses revisited Smaller networks using one network address Hierarchy Better organization Better use of resources Addresses (network, host, broadcast) Grundlagen der Rechnernetze Introduction

More information

Object Oriented Modeling

Object Oriented Modeling Overview UML Unified Modeling Language What is Modeling? What is UML? A brief history of UML Understanding the basics of UML UML diagrams UML Modeling tools 2 Modeling Object Oriented Modeling Describing

More information

Structured Analysis and Structured Design

Structured Analysis and Structured Design Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr References Modern

More information

Information Systems Analysis and Design CSC340. XXV. Other Phases

Information Systems Analysis and Design CSC340. XXV. Other Phases XXV. Other Phases Implementation Phase Testing and Installation Phase Post-Installation Tasks Course Summary 2002 John Mylopoulos Other Phases -- 1 The Software Lifecycle Revisited Survey project scope

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 7 Integrated Object-Oriented Methodologies: OPEN and FOOM 1 Object-oriented Process, Environment and Notation (OPEN) First introduced in

More information

Design Concepts and Principles

Design Concepts and Principles Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Specifications Part 1

Specifications Part 1 pm3 12 Specifications Part 1 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Introduction 12, 2008-2 - 1 Specification

More information

Design Patterns. SE3A04 Tutorial. Jason Jaskolka

Design Patterns. SE3A04 Tutorial. Jason Jaskolka SE3A04 Tutorial Jason Jaskolka Department of Computing and Software Faculty of Engineering McMaster University Hamilton, Ontario, Canada jaskolj@mcmaster.ca November 18/19, 2014 Jason Jaskolka 1 / 35 1

More information

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis) Accessibility EEC 521: Software Engineering Classes and Objects (OO Analysis) Attributes and Methods can be declared at three levels of accessibility Public (+) Visible everywhere Private (-) Visible only

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Actor-eUML for Concurrent Programming

Actor-eUML for Concurrent Programming Actor-eUML for Concurrent Programming Kevin Marth and Shangping Ren Illinois Institute of Technology Department of Computer Science Chicago, IL USA martkev@iit.edu Abstract. The advent of multi-core processors

More information

Dynamic Modeling - Finite State Machines

Dynamic Modeling - Finite State Machines Dynamic Modeling - Finite State Machines SWE 321 Fall 2014 Rob Pettit 1 Finite State Machines Finite number of states Only in one state at a time Transition Change of state Caused by event Transition to

More information

Getting Started with Papyrus for RealTime v0.9

Getting Started with Papyrus for RealTime v0.9 1. Introduction This tutorial will show the creation of a simple model using Papyrus for RealTime version 0.9.0 (based on Eclipse Neon). As a precondition to going through this tutorial, you must have

More information

Lab 16: Visio Introduction

Lab 16: Visio Introduction Lab 16: Visio Introduction () CONTENTS 1 Visio- Introduction to DFD Data Flow Diagraming... 2 1.1 In-Lab... 3 1.1.1 In-Lab Materials... 3 1.1.2 In-Lab Instructions... 3 2 Getting started: Let s decompose

More information

DISTRIBUTED COMPUTER SYSTEMS

DISTRIBUTED COMPUTER SYSTEMS DISTRIBUTED COMPUTER SYSTEMS Communication Fundamental REMOTE PROCEDURE CALL Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline Communication Architecture Fundamentals

More information

Introduction to Networking

Introduction to Networking Introduction to Networking The fundamental purpose of data communications is to exchange information between user's computers, terminals and applications programs. Simplified Communications System Block

More information

Modeling Real-Time System Architectures with UML 2.0

Modeling Real-Time System Architectures with UML 2.0 Modeling Real-Time System Architectures with UML 2.0 Bran Selic Principal Engineer IBM Software Group Rational Software bselic@ca.ibm.com Objectives Define architecture and its role in software design

More information

In This Lecture You Will Learn: Specifying Control. Statechart. Event, State and Transition

In This Lecture You Will Learn: Specifying Control. Statechart. Event, State and Transition In This Lecture You Will Learn: Specifying Control Lecture 11 How to identify requirements for control in an application How to model object life cycles using statecharts How to develop statechart diagrams

More information

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction UML Unified Modeling Language Very well recognized specification for modeling architectures, use cases, etc. UML

More information

FlexFlow: Workflow for Interactive Internet Applications

FlexFlow: Workflow for Interactive Internet Applications FlexFlow: Workflow for Interactive Internet Applications Rakesh Mohan, Mitchell A. Cohen, Josef Schiefer {rakeshm, macohen, josef.schiefer}@us.ibm.com IBM T.J. Watson Research Center PO Box 704 Yorktown

More information

CSE 461 Module 10. Introduction to the Transport Layer

CSE 461 Module 10. Introduction to the Transport Layer CSE 461 Module 10 Introduction to the Transport Layer Last Time We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF, BGP) It was all about routing: how to provide end-to-end delivery

More information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

System-On-Chip Architecture Modeling Style Guide

System-On-Chip Architecture Modeling Style Guide Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22

More information

Design Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman

Design Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman CS314, Colorado State University Software Engineering Notes 4: Principles of Design and Architecture for OO Software Focus: Determining the Overall Structure of a Software System Describes the process

More information

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS Adem Zumbul (TUBITAK-UEKAE, Kocaeli, Turkey, ademz@uekae.tubitak.gov.tr); Tuna Tugcu (Bogazici University, Istanbul, Turkey, tugcu@boun.edu.tr) ABSTRACT

More information

FROM SYNCHRONOUS SPECIFICATIONS TO ASYNCHRONOUS DISTRIBUTED IMPLEMENTATIONS Technische Universitiit Miinchen Peter Scholz

FROM SYNCHRONOUS SPECIFICATIONS TO ASYNCHRONOUS DISTRIBUTED IMPLEMENTATIONS Technische Universitiit Miinchen Peter Scholz FROM SYNCHRONOUS SPECIFICATIONS TO ASYNCHRONOUS DISTRIBUTED IMPLEMENTATIONS Technische Universitiit Miinchen Peter Scholz In this contribution, we sketch a design process for reactive systems, specified

More information

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams

More information

CMSC 332 Computer Networks Network Layer

CMSC 332 Computer Networks Network Layer CMSC 332 Computer Networks Network Layer Professor Szajda CMSC 332: Computer Networks Where in the Stack... CMSC 332: Computer Network 2 Where in the Stack... Application CMSC 332: Computer Network 2 Where

More information

COPYRIGHTED MATERIAL. Table of Contents. Foreword... xv. About This Book... xvii. About The Authors... xxiii. Guide To The Reader...

COPYRIGHTED MATERIAL. Table of Contents. Foreword... xv. About This Book... xvii. About The Authors... xxiii. Guide To The Reader... Table of Contents Foreword..................... xv About This Book... xvii About The Authors............... xxiii Guide To The Reader.............. xxvii Part I Some Concepts.................. 1 1 On Patterns

More information

BABU MADHAV INSTITUTE OF INFORMATION TECHNOLOGY, UTU 2017

BABU MADHAV INSTITUTE OF INFORMATION TECHNOLOGY, UTU 2017 5 years Integrated M.Sc (IT) Semester 3 Question Bank 060010310 DSE4 Computer Networks Unit 1 Introduction Short Questions 1. State the term data with respect to computer network. 2. What is data communication?

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

Pieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. September 9, 2016

Pieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. September 9, 2016 Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek September 9, 2016 Contents /FHTenL September 9, 2016 2/35 UML State Uses and application In behaviour is modeled with state charts (diagrams)

More information

Components vs. Objects

Components vs. Objects Components vs. Objects Luigia Petre Turku Centre for Computer Science & Abo Akademi University, FIN-20520 Turku, Finland (Presented at Nordic Workshop on Programming Theory, Bergen, Norway, Oct 11-13,

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/06-6 revision 2 Date: May 22, 2006 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular documentation

More information