Embedded Systems Software Engineering

Slides:



Advertisements
Similar presentations
UML: The Unified Modeling Language Excertos do livro: The Unified Modelling Language User Guide by Grady Booch, James Rumbaugh and Ivar Jacobson.
Advertisements

Interaction Diagram Notation From Chapter 15 of Craig Larman, Applying UML and Patterns John Dalesandro.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
Introduction to Software Engineering 7. Modeling Behaviour.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Summary Class responsibility cards can be used to help allocate responsibilities between different classes. The use of stereotype classes, such as entity,
UML: Unified Modeling Language
7M822 UML Sequence Diagrams 2 December 2010.
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
7M822 UML Interaction Diagrams 25 November 2010.
Slide 1 Chapter 8 Behavioral Modeling. Slide 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports.
7M822 UML Sequence Diagrams 5 October 2009.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Unified Modeling Language
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
CS3773 Software Engineering
Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
1 On to Object Design Chapter 14 Applying UML and Patterns.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Interaction Diagrams Interaction Diagrams allow the designer to show how groups of objects collaborate in some behavior. –Interaction Diagrams will show.
Object-Oriented Analysis and Design 1 Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design Session 3a: Behavioral Modeling - Interactions.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
MADALINA CROITORU Software Engineering week 4 Practical Madalina Croitoru IUT Montpellier.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Project 2: Phase 1 Submission 7 Late submissions 10% 10 No submissions 14% Better than project 1 phase 3 submissions 10-point bonus: If you catch the deadline.
1 Systems Analysis and Design Behavioral Modeling Chapter 8 (Last one before the Midterm!)
Embedded Systems Software Engineering
Modeling with UML – Class Diagrams
Introduction to UML.
Systems Analysis and Design in a Changing World, Fourth Edition
State transition modeling
Analysis Classes Unit 5.
UML Diagrams By Daniel Damaris Novarianto S..
Interactions.
Collaboration Diagrams
Evolution of UML.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
UML Modeling Sequence diagram
Sequence Diagrams.
Chapter 11: Collaboration Diagram - PART1
Dynamic Modeling of Banking System Case Study - II
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Sequence Diagrams.
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Princess Nourah bint Abdulrahman University
Princess Nourah bint Abdulrahman University
Unified Modeling Language
Interaction diagrams.
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
Unified Modelling Language
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
UML Interaction diagrams
Software Design Methodologies and Testing
CIS 375 Bruce R. Maxim UM-Dearborn
Presentation transcript:

Embedded Systems Software Engineering Jarosław Kuchta Embedded Systems Software Engineering Interaction Modeling GUT - INTEL 2015/16 Embedded Systems Software Engineering

Embedded Systems Software Engineering Basic concepts Interaction Message interchange between objects cooperating to realize some task in the context of collaboration Collaboration Connection set between objects creating ways to interchange messages in an interaction Message An information passed between objects as the consequence of some event Event occurring of some situation which is important in some context; time of an event is atomic GUT - INTEL 2015/16 Embedded Systems Software Engineering

Types of interaction diagrams Collaboration diagrams graph-like connections between nodes modeling objects message flow along connections Sequence diagrams objects modeled in a row at a top of the diagram vertical object lifelines going down horizontal message passing between lifelines GUT - INTEL 2015/16 Embedded Systems Software Engineering

Interaction diagrams usage System overall description Use case scenario description Class operation description GUT - INTEL 2015/16 Embedded Systems Software Engineering

Collaboration diagrams elements ordering number direction tag message object actor 1: DoSomething() anObject:aClass User connection GUT - INTEL 2015/16 Embedded Systems Software Engineering

Collaboration diagrams guidelines (1) Actors – user roles Objects – system components Connections – logical means of information passing (they does not have to be physical connections) Message – information passing and also operation call; operation must be defined in the message receiver class GUT - INTEL 2015/16 Embedded Systems Software Engineering

Collaboration diagrams guidelines (2) One connection allows many various messages passed in various directions and in various time Message passing direction determined with an arrow Ordinal numbers determine message passing order Advanced specification can be used instead of the ordinal number If a time aspect is more important, then a sequence diagram should be used GUT - INTEL 2015/16 Embedded Systems Software Engineering

Embedded Systems Software Engineering Message signature (1) Ordinal number can consist of many segments; each segment is a number determining an order at a specific embedding level: e.g. : 1.2.1 precedes 1.2.2 and 1.3 alternate and concurrent messages are marked with letters, e.g.: 1.2a and 1.2b Preceding message determination instead of an ordinal number Preceding message ordinal number (or a list of preceding message numbers) ending with a “/” sign This message will be passed only if all the preceding messages are passed GUT - INTEL 2015/16 Embedded Systems Software Engineering

Embedded Systems Software Engineering Message signature (2) Guard condition A condition checked when the message can be passed Specified in brackets, e.g.: [n<10] Iteration clause Iteration condition in brackets preceded by a “*” sign, e.g.: *[n<10] – means “while (n<10)” Condition can be expressed in some language or pseudocode, e.g.: *[i:=1..10] – means “for (int i=1; i<=10; i++) GUT - INTEL 2015/16 Embedded Systems Software Engineering

Embedded Systems Software Engineering Message signature (3) Result of an operation result := operation name (argument list) Argument list A list of any values assigned to operation parameters Values can be expressed in some language or pseudocode Result values or preceding arguments can be used GUT - INTEL 2015/16 Embedded Systems Software Engineering

Embedded Systems Software Engineering Message examples 1.2a: DoSomething() 3, 5/7: DoSomething() 4: [action=new] NewDocument(SelectType()) GUT - INTEL 2015/16 Embedded Systems Software Engineering

Embedded Systems Software Engineering Sequence diagram object actor anObject:aClass life line User message DoSomething() message passing vector focus of control answer message passing GUT - INTEL 2015/16 Embedded Systems Software Engineering

Sequence diagram guidelines Sequence diagram and collaboration diagram are semantically equivalent Only one message along message passing vector Diagram passing vector determines the direction of message passing Sequence numbers can be used but are optional Message passing ordered in time by vertical message vectors positions along life lines Guard conditions and iteration clauses can be used Answer vector are not described – if an operation result is important it should be described in the request vector An ordinal message passing vector can be used instead of an answer vector Focus of control is represents time when an object is active (can receive and send messages) GUT - INTEL 2015/16 Embedded Systems Software Engineering

Object creation and destruction Create() anObject:aClass GUT - INTEL 2015/16 Embedded Systems Software Engineering

Concurrent threads of control anObject:aClass GUT - INTEL 2015/16 Embedded Systems Software Engineering

Embedded Systems Software Engineering Recurrency anObject:aClass GUT - INTEL 2015/16 Embedded Systems Software Engineering

Embedded Systems Software Engineering Precise timing t1 {t2-t1<1 min} t2 t3 {t3’-t3<10 ms} t3’ GUT - INTEL 2015/16 Embedded Systems Software Engineering

Sequence diagram example Control Panel Active Directory Controller User 2: ok:= Authorization() 1: Login() 3a:[not ok] Invalid login 4: Get Status() 5: Menu GUT - INTEL 2015/16 Embedded Systems Software Engineering

Collaboration diagram example 2: ok:= Authorization()  Active Directory 1: Login()  Control Panel 3a:[not ok] Invalid login  User 5: Menu 4: Get Status()  Controller  GUT - INTEL 2015/16 Embedded Systems Software Engineering

Embedded Systems Software Engineering Bibliography Grady Booch, James Rumbaugh, Ivar Jacobson: Unified Modeling User Guide (book, PDF) GUT - INTEL 2015/16 Embedded Systems Software Engineering