Behavior Modeling with UML 2.0

Size: px
Start display at page:

Download "Behavior Modeling with UML 2.0"

Transcription

1 Behavior Modeling with UML Apr-04 Haugen / Møller-Pedersen 1 UML standardization within OMG for Ericsson better tools Requirements from improved developers world-wide Ericsson UML standardization team contributing in cooperation with tool vendors issuing requirements in cooperation with alllies 28-Apr-04 Haugen / Møller-Pedersen 2 1

2 Why UML2.0? for Ericsson, Motorola, Alcatel, Nia (telecom, realtime) SDL/MSC only one vendor UML/ROOM (as by RoseRT) only one vendor UML2.0 combining features from these for others Scalability, modeling of large, complex systems Improvement of existing concepts: activities, components, Completeness: action semantics, formal/precise definition in general Experiences with UML1.x required an improvement Model Based Development requires a good modeling language 28-Apr-04 Haugen / Møller-Pedersen 3 Very Short History December 1999 RFI (Request For Information) 29 Responses to the RFI Ericsson made a joint response with Motorola and Alcatel (and Nia) September 2000 RFP (Request For Proposal) October 2001 Initial submission August 2002 Revised submission June 2003 Recommended for adoption Now Finalization Task Force April 2004 Final spec 28-Apr-04 Haugen / Møller-Pedersen 4 2

3 Example - ATM Domain statement An Automatic Teller Machine (ATM) is a system with mechanical as well as electronic parts. Its purpose is to provide a bank user with cash provided that the user can authenticate herself and she has adequate funds in her bank account. She authenticates herself by presenting a card to the ATM cardreader, and a personal identification number (PIN) through the ATM keyboard. The ATM is connected electronically and possibly through some kind of network to the bank such that the account status may be checked online. The ATM is illed with cash notes regularly or when the number of specific notes is below some limit. The ATM may also provide foreign currency to the customer 28-Apr-04 Haugen / Møller-Pedersen 8 Domain Model I User * * ATM * 1 Bank 1 1 * * Card 1 1 myaccounts Account 28-Apr-04 Haugen / Møller-Pedersen 9 3

4 Domain Model II ATM CardReader Keyboard Screen CashDispenser 28-Apr-04 Haugen / Møller-Pedersen 10 Use Case Model ATM CashRepository Withdrawal <<uses>> Authentication User <<uses>> Bank Currency 28-Apr-04 Haugen / Møller-Pedersen 11 4

5 Context model with UML1.x class diagrams with plain composition and no encapsulation with only provided interfaces on classes User-ATM ATM-Bank User ATM Bank CardReader Keyboard Screen CashDispenser 28-Apr-04 Haugen / Møller-Pedersen 12 Composite class (incomplete) with parts, ports and connectors part ATM port User-Reader :CardReader User-Screen :Screen ATM-bank User-Keyboard :Keyboard :CashDispenser connector User-Cash 28-Apr-04 Haugen / Møller-Pedersen 13 5

6 Context Model in UML2.0 - I composite structure as part of a Collaboration BankContext User-Reader ATM-bank User-Screen User-Keyboard User-Cash 28-Apr-04 Haugen / Møller-Pedersen 14 Context Model in UML2.0 - II Including multiplicities on parts multiplicity BankContext User-Reader [ ] User-Screen [1..100] ATM-bank User-Keyboard User-Cash 28-Apr-04 Haugen / Møller-Pedersen 15 6

7 Sequence Diagrams (Interactions) Sequence Diagrams are simple powerful readable used to describe interaction sequences History Has been used for a number of years informally Standardized 1992 in Z.120 (Message Sequence Charts - MSC) Last major revision of MSC is from 1999 (called MSC-2000) Formal semantics of MSC-96 is given in Z.120 Annex B Included in UML from 1999, but in a rather simple variant 28-Apr-04 Haugen / Møller-Pedersen 16 Purpose Emphasizes the interaction between objects indicating that the interplay is the most important aspect Often only a small portion of the total variety of behavior is described improve the individual understanding of an interaction problem Sequence Diagrams are used to... document protocol situations, illustrate behavior situations, verify interaction properties relative to a specification, describe test cases, document simulation traces. 28-Apr-04 Haugen / Møller-Pedersen 17 7

8 (Simple) Sequence Diagram Messages have one send event, and one receive event. The send event must occur before the receive event. The send event is the result of an Action Events are strictly ordered along a lifeline from top to bottom The frame (UML 2) sd EnterPIN The name of the interaction msg( Give PIN ) Receive Event Digit Digit Digit Continuation Digit Send Event Code(cid, pin) OK Message name PIN OK 28-Apr-04 Haugen / Møller-Pedersen 18 Combined fragment example sd EnterPIN combined fragment frame operator msg( Give PIN ) Digit Digit Digit Digit operand separator alt Code(cid, pin) NOK PIN NOK OK PIN OK 28-Apr-04 Haugen / Møller-Pedersen 19 8

9 Combined fragments of Interaction We want to express choices: alternative, option, break parallel merge loops We may also want to add other operators negation critical region assertion Other suggested operators that will not come in UML 2.0 interrupt disrupt 28-Apr-04 Haugen / Møller-Pedersen 20 References (Interaction Use / Occurrence) sd Authenticate erence Idle Cardid(cid) EnterPIN Continuation loop(0,3) msg("try again!") PIN NOK EnterPIN 28-Apr-04 Haugen / Møller-Pedersen 21 9

10 Nested combined fragments sd Withdrawal erence combined fragment Authenticate nested fragment alt Withdrawal PIN OK Continuation msg("give amount!") amount(v) checkaccount(v) alt money(v) receipt(v) msg( Amount too large ) n msg( Illegal entry ) PIN NOK card card taken 28-Apr-04 Haugen / Møller-Pedersen 22 Interaction Overview Diagram sd Withdrawal erence combined fragment PIN OK Authenticate PIN NOK sd nested fragment Withdrawal msg("give amount!") amount(v) checkaccount(v) sd msg( Illegal entry ) Continuation sd sd money(v) receipt(v) msg( Amount too large ) n Inline diagram sd card card taken 28-Apr-04 Haugen / Møller-Pedersen 23 10

11 EnterPIN state machine <<statemachine>> EnterPIN n:integer PIN: integer sm EnterPIN send(msg( Give PIN )); n=1; PIN=0 enterdigit [n<4]digit/ n++; PIN= PIN+digit*10 (3-n) [n=4]digit/pin=... send(code(cid,pin)) n n waitok definition of exit point 28-Apr-04 Haugen / Møller-Pedersen 24 Statemachine for the ATM use of exit point sm ATM /authn=0 Idle CardId(cid) :EnterPIN /authn=0 :Service [authn<3]/ authn++; send(msg( Try again )) n Withdrawal status :Withdrawal :Status [authn==3]/ authn=0 send(msg( illegal entry )); CardOut entry: send(card) cancelled cardtaken 28-Apr-04 Haugen / Møller-Pedersen 25 11

12 Attributes of the ATM Statemachine is a Classifier (that is class-like): Attributes Operations (local actions) <<statemachine>> ATM authn:integer cid: integer sa: Amount aa: Amount sendmoney(a:amount) authn number of tries cid card id sa selected amount aa available amount 28-Apr-04 Haugen / Møller-Pedersen 26 State machine Withdrawal sm Withdrawal :GetAmount cancelled cancelled send(checkaccount(sa)) again n/ send(msg( Amount too large )) use of entry point VerifyTransaction / sendmoney(sa); send(receit(sa)); 28-Apr-04 Haugen / Møller-Pedersen 27 12

13 Simple GetAmount sm GetAmount Send(msg( select amount )) :SelectAmount cancel cancelled amount(sa); Send(msg( select another amount )) again definition of entry point 28-Apr-04 Haugen / Møller-Pedersen 28 Extended GetAmount <<statemachine>> ATM <<statemachine>> GetAmount inherited state <<statemachine>> FlexibleATM <<statemachine>> GetAmount {extended} sm GetAmount {extended} :SelectAmount otheramount/ send(msg( enter amount )) cancelled redefined transition :enteramount cancel Send(msg( enter another amount )) again 28-Apr-04 Haugen / Møller-Pedersen 29 13

14 Another similar service: Currency sd Currency Authenticate alt PIN OK Currency msg("give currency!") EUR msg("give amount!") amount(e) checkaccount(v(e)) alt EUR(e) [enough on account] receipt(v) msg( Amount too large ) n [inadequate funds] PIN NOK msg( Illegal entry ) card card taken 28-Apr-04 Haugen / Møller-Pedersen 30 Interactions are generalizable and redefinable sd GenWithdrawal actual gate GenWithdrawal sd getamount sd givemoney Authentication alt PIN OK Withdrawal Currency getamount sd getamount redefined getamount redefined givemoney redefined getamount redefined givemoney checkaccount(v(e)) alt givemoney [enough on account] Currency msg("give currency!") receipt(v) EUR msg( Amount too large ) n PIN NOK [inadequate funds] msg("give amount!") amount(e) formal gate msg( Illegal entry ) sd givemoney card card taken EUR(e) 28-Apr-04 Haugen / Møller-Pedersen 31 14

15 ATM revisited - generalised sm ATM /authn=0 Idle CardId(cid) :EnterPIN /authn=0 :Service [authn<3]/ authn++; send(msg( Try again )) n status :Status [authn==3]/ authn=0 send(msg( illegal entry )); CardOut entry: send(card) cardtaken 28-Apr-04 Haugen / Møller-Pedersen 32 Extended state machines sm WithdrawalATM sm CurrencyATM :Service {extended} :Service {extended} Withdrawal Currency :Withdrawal :Currency cancelled cancelled CardOut CardOut 28-Apr-04 Haugen / Møller-Pedersen 33 15

16 Decomposing a Lifeline wrt an Interaction sd Authenticate ATM_Authenticate Cardid(cid) Idle EnterPIN loop(0,3) PIN NOK we want to lo into this lifeline msg("try again!") EnterPIN this is the name of the diagram where we find the decomposition 28-Apr-04 Haugen / Møller-Pedersen 34 Decomposition sd Authenticate sd ATM_Authenticate ATM_Authenticate :CardReader :CashDispenser :Screen :Keyboard :Controller Idle ATM_Idle Cardid(cid) Cardid(cid) Cardid(cid) EnterPIN loop(0,3) PIN NOK msg("try again!") EnterPIN loop(0,3) ATM_EnterPIN ATM_PIN NOK msg("try again!") msg("try again!") ATM_EnterPIN Code(cid, pin) OK, NOK Code(cid, pin) NOK notice the correspondance! notice the correspondance! 28-Apr-04 Haugen / Møller-Pedersen 35 16

17 Composite (design) class ATM User-Reader :CardReader User-Screen :Screen :Controller ATM-bank User-Keyboard :Keyboard :CashDispenser User-Cash 28-Apr-04 Haugen / Møller-Pedersen 36 Structured Classes are like other Classes ATM User-Reader :CardReader User-Screen :Screen :Controller ATM-bank User-Keyboard :Keyboard :CashDispenser User-Cash Structured Classes may have attributes & operations, interfaces, Internal structure is inherited, inherited parts may be redefined by extension 28-Apr-04 Haugen / Møller-Pedersen 37 17

18 What about Components? Have all the properties of structured classes In addition: A kind of package, i.e. it may have model elements that you would not have for classes Realization by a number of classes Deployment Artifacts, nodes, Still to be stereotyped for e.g..net and EJB components 28-Apr-04 Haugen / Møller-Pedersen 38 Finally Tools IBM (Rational) general Telelogic real-time, telecom, but moving towards general I-Logix real-time, telecom, control systems Softteam general, with emphasis on profiling Bos Selic et al. (eds) UML for Real (Chapter 3) Chonoles and Schardt: UML2.0 for Dummies Fowler UML Distilled (Third Edition) Coming soon: Rumbaugh: UML Reference Manual 28-Apr-04 Haugen / Møller-Pedersen 39 18

Time Exceptions in Sequence Diagrams

Time Exceptions in Sequence Diagrams in Sequence Diagrams Oddleif Halvorsen, Ragnhild Kobro Runde, Øystein Haugen 02-Oct-2006 MARTES 2006 at MoDELS 2006 1 Summary Introducing time exceptions improve the completeness of sequence diagram descriptions

More information

Sequence Diagrams. Sequence Diagrams. Version Sequence Diagrams are. History. simple powerful readable used to describe interaction sequences

Sequence Diagrams. Sequence Diagrams. Version Sequence Diagrams are. History. simple powerful readable used to describe interaction sequences Sequence Diagrams Version 020913 INF-UIT 2002 / Basic Sequence Diagrams / Slide 1 Sequence Diagrams Sequence Diagrams are simple powerful readable used to describe interaction sequences History Has been

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's New in UML 2.0

What's New in UML 2.0 What's New in UML 2.0 M.W.Richardson Lead Applications Engineer I-Logix UK mrichardson@ilogix.com What is UML? Unified Modeling Language Comprehensive full life-cycle 3 rd Generation modeling language

More information

INF5120, Lecture 10 March 19th, 2018 UML Interactions (Sequence Diagrams) and UML State Machines

INF5120, Lecture 10 March 19th, 2018 UML Interactions (Sequence Diagrams) and UML State Machines INF5120, Lecture 10 March 19th, 2018 UML Interactions (Sequence Diagrams) and UML State Machines, ØUC Arne J. Berre, UiO/SINTEF 1 Overview of lecture Sequence Diagrams What are they intended for? Where

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

Assert and negate revisited: Modal semantics for UML sequence diagrams

Assert and negate revisited: Modal semantics for UML sequence diagrams Softw Syst Model (2008) 7:237 252 DOI 10.1007/s10270-007-0054-z REGULAR PAPER Assert and negate revisited: Modal semantics for UML sequence diagrams David Harel Shahar Maoz Received: 26 August 2006 / Revised:

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

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

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series UML Models Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents UML Models UML Diagrams UML Structural Models Class Diagram Composite

More information

Role of Executable UML in MDA. Presented by Shahid Alam

Role of Executable UML in MDA. Presented by Shahid Alam Role of Executable UML in MDA Presented by Shahid Alam salam3@connect.carleton.ca 12/2005 Outline Introduction to MDA Executable UML Does it apply to MDA Model Compilers Conclusion Model Driven Architecture

More information

Enterprise Architect. User Guide Series. SysML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. SysML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series SysML Models Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents Systems Engineering 3 Systems Modeling Language (SysML) 8 SysML Activity

More information

EmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands.

EmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands. EmpAnADa Project C.F.J.Lange@tue.nl June 4 th, 2004 Eindhoven University of Technology, The Netherlands Outline EmpAnADa introduction Part I Completeness and consistency in detail Part II Background UML

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software

More information

Using J2EE Technologies for Implementation of ActorFrame Based UML2.0 Models

Using J2EE Technologies for Implementation of ActorFrame Based UML2.0 Models Using J2EE Technologies for Implementation of ActorFrame Based UML2.0 Models of Geir Melby Masters Thesis in Information and Communication Technology Agder University College Grimstad, May 2003 Summary

More information

Software Development. Modular Design and Algorithm Analysis

Software Development. Modular Design and Algorithm Analysis Software Development Modular Design and Algorithm Analysis Functional Decomposition Functional Decomposition in computer science, also known as factoring, refers to the process by which a complex problem

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

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 14 - Course Review

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 14 - Course Review SWE 6: and Architectural Design Lecture Notes on Design Lecture 4 - Course Review Hassan Gomaa Dept of Computer Science George Mason University it Fairfax, VA Copyright 0 Hassan Gomaa All rights reserved.

More information

Approaches of using UML for Embedded System Design

Approaches of using UML for Embedded System Design Approaches of using UML for Embedded System Design Sudeep D. Thepade Lecturer, Dept. of Information Technology, Thadomal Shahani Engg. College, Bandra, Mumbai sudeepthepade@gmail.com Abstract New approaches

More information

Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures

Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at

More information

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting

More information

Use C ases Cases 7/09

Use C ases Cases 7/09 Use Cases 7/09 Groups of 3 Recorder/Timekeeper Participation checker Devil s Advocate Motivation One way to describe a system is to create a story, y, the interaction between a user and the system This

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

Model Driven Development Unified Modeling Language (UML)

Model Driven Development Unified Modeling Language (UML) Model Driven Development Unified Modeling Language (UML) An Overview UML UML is a modeling notation standardized by OMG (proposal 1997, ver.1.1 in 1998, ver. 2.0 in 2004) now in 2.4.1 mature based on notations

More information

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence

More information

Object-Oriented Analysis, Design and Implementation. Case Study Part II

Object-Oriented Analysis, Design and Implementation. Case Study Part II Object-Oriented Analysis, Design and Implementation Case Study Part II Assoc. Prof. Marenglen Biba MSc in Computer Science, UoG-UNYT Foundation Programme (C) 2010 Pearson Education, Inc. All 3-1 Further

More information

OMG MDA Implementers Conference. UML 2.0 Support for MDA in Dynamic Models: How Practical is Execution from Behavioral Models?

OMG MDA Implementers Conference. UML 2.0 Support for MDA in Dynamic Models: How Practical is Execution from Behavioral Models? OMG MDA Implementers Conference UML 2.0 Support for MDA in Dynamic Models: How Practical is Execution from Behavioral Models? David Fado, May 2003 Introduction! UML 2 behavior diagrams offer enhanced ability

More information

1998, 1999, 2000, 2001, 2002 Rational Software - All rights reserved. A Preview of UML 2.0

1998, 1999, 2000, 2001, 2002 Rational Software - All rights reserved. A Preview of UML 2.0 1998, 1999, 2000, 2001, 2002 Rational Software - All rights reserved A Preview of UML 2.0 IMPORTANT DISCLAIMER! The technical material described here is still under development and is subject to modification

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) 1.17 Software Engineering Case Study: Introduction to Object Technology and the UML (Required) Object orientation A natural way of thinking about the world and computer programs Unified Modeling Language

More information

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007 Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007 Robert Covington, CTO 8425 woodfield crossing boulevard suite 345 indianapolis in 46240 317.252.2636 Motivation for this proposed RFP 1.

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

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

Enterprise Architect - UML Dictionary

Enterprise Architect - UML Dictionary Enterprise Architect is an intuitive, flexible and powerful UML analysis and design tool for building robust and maintainable software. This dictionary explains the way in which Enterprise Architect represents

More information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course Softwaretechnik Book Chapter 2 Modeling with UML Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,

More information

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams Today s Topic Lecture 5 Introduction to UML What is UML Why use UML? UML Static Use case, Class, Object Deployment, Component (Physical ) Dynamic Sequence, Collaboration (Interaction ) Activity, State

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 7, July-August 2004 UML 2 Activity and Action Models Part 5: Partitions

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

UML 2.0 State Machines

UML 2.0 State Machines UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML

More information

Object Oriented Analysis and Design - Part2(Design)

Object Oriented Analysis and Design - Part2(Design) Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems

More information

Behavioral Modeling. Gregor v. Bochmann, University of Ottawa

Behavioral Modeling. Gregor v. Bochmann, University of Ottawa SEG3101 (Fall 2010) Behavioral Modeling Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher with material from: K.E. Wiegers, D. Leffingwell & D. Widrig, M. Jackson,

More information

Representing System Architecture

Representing System Architecture Representing System Architecture Logical View Implementation View End-user Functionality Programmers Software management Use Case View System integrators Performance Scalability Throughput Process View

More information

SEEM4570 System Design and Implementation. Lecture 10 UML

SEEM4570 System Design and Implementation. Lecture 10 UML SEEM4570 System Design and Implementation Lecture 10 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,

More information

Introduction to Interaction Overview Diagram as a Model

Introduction to Interaction Overview Diagram as a Model Introduction to Interaction Overview as a Model Sumender Roy #1 Research Scholar JNTU Kakinada Dr Samuel Vara Prasada Raju #2 Prof. (SDE), Andhra University Abstract UML diagrams became an industry standard

More information

SEEM4570 System Design and Implementation Lecture 11 UML

SEEM4570 System Design and Implementation Lecture 11 UML SEEM4570 System Design and Implementation Lecture 11 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,

More information

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent

More information

Frequently Asked Questions

Frequently Asked Questions Frequently Asked Questions 1. What is Cardless Withdrawal? PSBank Cardless Withdrawal allows you to conveniently and securely withdraw cash from any PSBank ATM without using your PSBank ATM Card. You simply

More information

Chapter 1: Programming Principles

Chapter 1: Programming Principles Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

More information

Best Practices for Model-Based Systems Engineering

Best Practices for Model-Based Systems Engineering Seminar / Workshop Best Practices for Model-Based Systems Engineering Hans-Peter Hoffmann, Ph.D. Chief Systems Methodologist, IBM Rational Software hoffmape@us.ibm.com Overview Successfully delivering

More information

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright Notation Part 1 Object Orientated Analysis and Design Benjamin Kenwright Version Control Example Team Princess 3 Members 3 Github Users e.g., Elva1997, michelle0924hhx, KimJaeHwang Each user can join and

More information

UML Behavioral Models

UML Behavioral Models UML Behavioral Models Dept. of Computer Science Baylor University Some slides adapted from materials in the following sources: UMLTutorial by Dr. R. France, Lecture slides by Dr. C. Constantinides Specifying

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: , Q.1 What is Object Orientation? Explain the concept of class, objects, instance, generalization, and associations. Ans :-- In the past, information systems used to be defined primarily by their functionality:

More information

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd SysML Past, Present, and Future J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd A Specification Produced by the OMG Process SysML 1.0 SysML 1.1 Etc. RFI optional Issued by Task Forces RFI responses

More information

A Model-Based Development Method for Device Drivers

A Model-Based Development Method for Device Drivers A Model-Based Development Method for Device Drivers Michael Kersten Siemens AG Otto-Hahn-Ring 6 D-81739 München Ulrich Margull 1 mal 1 Software GmbH Maxstr. 31 D-90762 Fürth Nikolaus Regnat Siemens AG

More information

Refining UML specifications. - the STAIRS method. Ragnhild Kobro Runde. Joint work with Ketil Stølen and Øystein Haugen. Ragnhild Kobro Runde

Refining UML specifications. - the STAIRS method. Ragnhild Kobro Runde. Joint work with Ketil Stølen and Øystein Haugen. Ragnhild Kobro Runde Refining UML specifications - the STAIRS method Joint work with Ketil Stølen and Øystein Haugen SARDAS-seminar 21.05.2008 / Refining UML specifications / Slide 1 Outline Introduction to sequence diagrams.

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

Assert and Negate Revisited: Modal Semantics for UML Sequence Diagrams

Assert and Negate Revisited: Modal Semantics for UML Sequence Diagrams Assert and Negate Revisited: Modal Semantics for UML Sequence Diagrams David Harel dharel@weizmann.ac.il (preliminary version) The Weizmann Institute of Science, Rehovot, Israel Shahar Maoz shahar.maoz@weizmann.ac.il

More information

CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: Models in Software Development: Methods, Techniques and Tools CISC836: Models in Software Development: Methods, Techniques and Tools Topic 3: Expressing Software Models Expressing SW models: Overview 1. Examples of software modeling languages 1. UML (for modeling

More information

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM 534 202 LABORATORY MANUAL IV B.Tech I Sem CSE Unified Modeling Language & Design Patterns Lab DEPARTMENT OF CSE OUR MISSION LEARN TO EXCEL Regd.No

More information

Lecture Chapter 2 Software Development

Lecture Chapter 2 Software Development Lecture Chapter 2 Software Development Large Software Projects Software Design o Team of programmers o Cost effective development Organization Communication Problem Solving Analysis of the problem Multiple

More information

Engineering Design w/embedded Systems

Engineering Design w/embedded Systems 1 / 40 Engineering Design w/embedded Systems Lecture 33 UML Patrick Lam University of Waterloo April 4, 2013 2 / 40 What is UML? Unified Modelling Language (UML): specify and document architecture of large

More information

The Object-Oriented Design Process

The Object-Oriented Design Process The Object-Oriented Design Process Part 1: Techniques & Tools OOdesignProcess 1 Program development In theory, 3 phase development process: Analysis: figure out the problem Design: develop the solution

More information

UNIT-II Introduction to UML

UNIT-II Introduction to UML UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development

More information

15 Software Product Line Engineering with the UML: Deriving Products

15 Software Product Line Engineering with the UML: Deriving Products 15 Software Product Line Engineering with the UML: Deriving Products T. Ziadi and J.-M. Jézéquel Abstract Software product line engineering introduces two new dimensions into the traditional engineering

More information

Tool Support for Design Inspection: Automatic Generation of Questions

Tool Support for Design Inspection: Automatic Generation of Questions Tool Support for Design Inspection: Automatic Generation of Questions Tim Heyer Department of Computer and Information Science, Linköping University, S-581 83 Linköping, Email: Tim.Heyer@ida.liu.se Contents

More information

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix

More information

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts Object-Oriented Analysis and Design Analysis vs. Design Analysis Activities Finding the Objects/ Classes An Analysis Example The Unified Modeling Language Pre-UML Situation Early 90s Explosion of OO methods/notations

More information

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1 ECE155: Engineering Design with Embedded Systems Winter 2013 Lecture 33 April 4, 2013 Patrick Lam version 1 Unied Modelling Language The Unied Modelling Language (UML) is a language for specifying and

More information

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Software technology Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline UML Diagrams: Sequence Diagram Communication Diagram Interaction Overview Diagram Dr. Balázs Simon, BME,

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2003 Vol. 2, No. 6, November-December 2003 UML 2 Activity and Action Models Part 3:

More information

Comparison of different Model Driven Development approaches. Master thesis. Gøran Klepp Olsen. A mobile Meal Ordering System for the healthcare sector

Comparison of different Model Driven Development approaches. Master thesis. Gøran Klepp Olsen. A mobile Meal Ordering System for the healthcare sector UNIVERSITY OF OSLO Department of Informatics Comparison of different Model Driven Development approaches A mobile Meal Ordering System for the healthcare sector Master thesis Gøran Klepp Olsen 27th October

More information

IS 0020 Program Design and Software Tools

IS 0020 Program Design and Software Tools 1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005 What is UML? 2 The Unified Modelling Language is a standard notation to model [object oriented] systems.

More information

Expense: Ledgers. Setup Guide. Last Revised: June Applies to these SAP Concur solutions:

Expense: Ledgers. Setup Guide. Last Revised: June Applies to these SAP Concur solutions: Expense: Ledgers Setup Guide Applies to these SAP Concur solutions: Expense Professional/Premium edition Standard edition Travel Professional/Premium edition Standard edition Invoice Professional/Premium

More information

Enterprise Architect. User Guide Series. SysML Models. Author: Sparx Systems Date: 26/07/2018 Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. SysML Models. Author: Sparx Systems Date: 26/07/2018 Version: 1.0 CREATED WITH Enterprise Architect User Guide Series SysML Models Author: Sparx Systems Date: 26/07/2018 Version: 1.0 CREATED WITH Table of Contents Systems Engineering 5 Parametric Diagram Modeling Assistant 13 Create

More information

UML Diagrams MagicDraw UML Diagrams

UML Diagrams MagicDraw UML Diagrams In software development, the diagram is the equivalent of a blueprint. To meet the various needs of many parties, we often need several different blueprints of the same system. Furthermore, every system

More information

02291: System Integration

02291: System Integration 02291: System Integration Introduction to UML Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019 What is the UML? Unified Modelling Language (UML) Family of graphical

More information

Verification and testing automation of UML projects

Verification and testing automation of UML projects Verification and testing automation of UML projects Nikita Voinov, Vsevolod Kotlyarov Saint-Petersburg State Polytechnic University, Saint-Petersburg, Russia voinov@ics2.ecd.spbstu.ru, vpk@ics2.ecd.spbstu.ru

More information

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence Diagrams 3. To show

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More information

Übungsfragen für den Test zum OMG Certified UML Professional (Intermediate) Download

Übungsfragen für den Test zum OMG Certified UML Professional (Intermediate) Download Die Prüfung zum OCUP (UML Certified UML Professional) besteht aus einem computerbasierten Multiple- Choise-Test, dessen Testfragen aus einem Pool für jeden Kanidaten neu zusammengestellt werden. Die Fragen

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

A Formal Approach to Model Refactoring and Model Refinement

A Formal Approach to Model Refactoring and Model Refinement Software and Systems Modeling manuscript No. (will be inserted by the editor) A Formal Approach to Model Refactoring and Model Refinement Ragnhild Van Der Straeten, Viviane Jonckers, Tom Mens 2 System

More information

CISC 322 Software Architecture

CISC 322 Software Architecture CISC 322 Software Architecture UML - The Unified Modelling Language Nicolas Bettenburg 1 DEFINITION The Unified Modelling Language (UML) is a graphical language for visualizing, specifying, constructing,

More information

Introduction to Unified Modelling Language (UML)

Introduction to Unified Modelling Language (UML) 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 Introduction to Unified

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

UML Profile for MARTE: Time Model and CCSL

UML Profile for MARTE: Time Model and CCSL UML Profile for MARTE: Time Model and CCSL Frédéric Mallet 1 Université Nice Sophia Antipolis, Aoste team INRIA/I3S, Sophia Antipolis, France Frederic.Mallet@unice.fr Abstract. This 90 minutes tutorial

More information

StarUML Documentation

StarUML Documentation StarUML Documentation Release 2.0.0 MKLab November 20, 2014 Contents 1 Basic Concepts 3 1.1 Project.................................................. 3 1.2 Model Element, View Element, and Diagram..............................

More information

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba Dr. Marenglen Biba In Chapters 12 13, you design and implement an object-oriented automated teller machine (ATM) software system. Concise, carefully paced, complete design and implementation experience.

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (Requirements Specification).

More information

SysML, It s Coming Are You Prepared?

SysML, It s Coming Are You Prepared? SysML, It s Coming Are You Prepared? Presentation for George Mason University Shana L. Lloyd The Aerospace Corporation 703-324-8877 Shana.l.lloyd@aero.org January 31, 07 1 Outline Introduction SysML Background

More information

UML Diagrams & And Some Of Their Elements

UML Diagrams & And Some Of Their Elements UML Diagrams 2013, J.P.N., page 1 UML Diagrams & And Some Of Their Elements UML Diagrams 2013, J.P.N., page 2 Building blocks of the UML As part of a model you have: modelling elements relationships between

More information

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1. Outline of UML and Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule Feb. 27th 13:00 Scope and Goal 14:30 Basic Concepts on Representing the World (object, class, association,

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture Sadahiro Isoda Toyohashi University of Technology Toyohashi 441-8580, Japan isoda@tutkie.tut.ac.jp Abstract. UML2.0 recently made a correction

More information

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions

More information

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Vol. 4, No. 6 Special issue: Use Case Modeling at UML-2004 On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Sadahiro Isoda, Toyohashi University of Technology, Toyohashi 441-8580, Japan

More information

Pattern for Structuring UML-Compatible Software Project Repositories

Pattern for Structuring UML-Compatible Software Project Repositories Pattern for Structuring UML-Compatible Software Project Repositories Pavel Hruby Navision Software a/s Frydenlunds Allé 6 2950 Vedbaek, Denmark E-mail: ph@navision.com Web site: www.navision.com/services/methodology/default.asp

More information

Lecture 8: Use Cases and Scenarios

Lecture 8: Use Cases and Scenarios Softwaretechnik / Software-Engineering Lecture 8: Use Cases and Scenarios 2016-06-02 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 8 2016-06-02 main Topic

More information

Software Engineering with Objects and Components Open Issues and Course Summary

Software Engineering with Objects and Components Open Issues and Course Summary Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages

More information

UML 2.5: Specification Simplification

UML 2.5: Specification Simplification A division of Data Access Technologies, Inc. UML 2.5: Specification Simplification Presented at the Third Biannual Workshop on Eclipse Open Source Software and OMG Open Specifications Ed Seidewitz Timeline

More information