Using UML for Modeling Complex Real Time System Architectures

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
1 Devon M. Simmonds The UML Metamodel SLIDES include some from tvarious sources including: (1)
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
10 nov 1999SEESCOA Applicability of UML/RT to Embedded Systems Programming Technology Lab (PROG) System & Software Engineering Lab (SSEL) Dept. of Computer.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:
UML Overview Unified Modeling Language Basic Concepts.
Unified Modeling (Part I) Overview of UML & Modeling
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Itntroduction to UML, page 1 Introduction to UML.
An Introduction to UML & Modeling Resources Using UML Rahul Shah EE249 Discussion Sept. 25, 2001.
An Introduction to Rational Rose Real-Time
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design NOTES. Architectural Design Notes.
Ontologies Reasoning Components Agents Simulations Agent Modeling Language: Behavioral Models Rafael Oliveira Ricson Santana Vinícius Remigo Jacques Robin.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
An Introduction to Software Architecture
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Object-Oriented Analysis and Design An Introduction.
Architectural Patterns for Complex Real-Time Systems Bran Selic ObjecTime Limited Bran Selic ObjecTime Limited
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
1 Devon M. Simmonds Metadata & The UML Metamodel SLIDES include some from tvarious sources including: (1)
Real Time Systems Modeling Structure in UML (Part I)
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
The Problems and Promise of UML 2.0 Structures for SCA John Hogg CTO, Zeligsoft Version 1.4.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Part VII: Design Continuous
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
Chapter 19: Interfaces and Components [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering.
1 Unified Modeling Language, Version 2.0 Chapter 2.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
Basic Characteristics of Object-Oriented Systems
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.
UML (Unified Modeling Language)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Systems Analysis and Design With UML 2
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
Introduction to UML.
Object-Oriented Design
Chapter 20 Object-Oriented Analysis and Design
An Introduction to Software Architecture
Presentation transcript:

Using UML for Modeling Complex Real Time System Architectures Bran Selic VP Advanced Technology ObjecTime Limited bran@objectime.com

Overview The Unified Modeling Language (UML) Complex real-time systems Requirements for modeling architectures of complex RT systems Approach and method Architectural modeling constructs Summary

The Unified Modeling Language A general purpose OO modeling language combines a number of proven methods OMT (Rumbaugh) UML 1.4 Mar. 1999 UML 0.9 1996 Booch UML 1.1 Nov. 1997 OOSE (Jacobson) Catalysis ROOM etc.

What is (in) the UML Standard? Semi-formal semantic meta-model defines basic modeling concepts object, class, etc. includes well-formedness rules expressed as formal constraints in Object Constraint Language (OCL) Graphical notation for modeling concepts 8 different diagram types Two predefined domain extensions

The UML Meta-Model–Example GeneralizeableElement isRoot:Boolean isLeaf:Boolean isAbstract:Boolean (Meta)class Generalization association Feature visibility:{public, protected, private} * Classifier Compostion association Class isActive:Boolean not self.isAbstract implies self.allOperations->forAll(op | self.allMethods->exists(m | m.specification includes (op))) OCL constraint

The Unified Modeling Language (UML) Complex real-time systems Requirements for modeling architectures of complex RT systems Approach and method Architectural modeling constructs Summary

General Real-Time Systems A system that maintains a continuous timely interaction with its environment environment Real-Time System (state) inputs outputs outputs = f (inputs, state)

Complex Real-Time Systems Complex real-time systems characterized by: extreme dependability (reliability, availability) diverse and feature-rich functionality continuous feature upgrades (evolutionary requirements) physical distribution Encountered mostly in telecommunications, defense, aerospace, and industrial control

Modeling Requirements for Complex RT Systems This complexity requires focussed modeling support in at least the following areas: Architectural modeling Timeliness and performance modeling Time-aware communication models Concurrency management Resource modeling Distributed system modeling Fault-tolerance techniques

The Unified Modeling Language (UML) Complex real-time systems Requirements for modeling architectures of complex RT systems Approach and method Architectural modeling constructs Summary

Real-Time Software Architectures The organization of significant software components interacting through interfaces, those components being composed of successively smaller components and interfaces It is the key to success in: the initial construction of a system system evolution

Architectures and Evolution Two functionally equivalent initial architectures: A C B A C B X A C B Mediator X Mediator

Real-Time Architectural Specifications Example telecom system architecture TerminalA TerminalB Channel1 Channel2 Structure Application Layer Services Layer Behavior

Architectural Component Design Library System1 Channel1 Terminal TerminalA TerminalB Channel2 Channel System2 Terminal Tester TerminalA Terminal Tester

Refining Architectures (Reuse) TerminalA TerminalB Channel1 TerminalA TerminalB Channel1 Channel2

Summary: Requirements for Architectural Modeling The ability to model and enforce: large-grain (architectural) components and their interfaces structural compositions of architectural components dynamic interaction patterns between architectural components refinement of architectures

The Unified Modeling Language (UML) Complex real-time systems Requirements for modeling architectures of complex RT systems Approach and method Architectural modeling constructs Summary

Business Modeling Library Real-Time Modeling Library (UML-RT) Approach and Method The necessary architectural modeling capabilities can be found in ROOM Express the architectural modeling concepts of ROOM using standard UML Domain-specific library of UML “macros” Business Modeling Library Real-Time Modeling Library (UML-RT) ... UML Modeling Concepts

UML Extensibility Mechanisms Stereotypes, constraints, tagged values Constraint (OCL) Class isActive:Boolean not self.isAbstract implies self.allOperations->forAll(op | self.allMethods->exists(m | m.specification includes (op))) stereotype Capsule <“ports” > required tag

Real-Time Object-Oriented Modeling (ROOM) Domain-specific (real-time) concepts dynamic high-level structures reactive behavior (ROOMcharts) Executable (formal) models Full automatic code generation Field proven in a large number (>100) of large-scale industrial projects Tool support available (ObjecTime Limited and Rational Software)

Phasing Basic modeling capabilities (UML 1.1) structural pattern modeling (collaboration diagrams) state machine modeling Real-time specific constructs architectural modeling (March ‘98) other constructs (-June ‘99) collaboration: ObjecTime & Rational OMG standardization (1999/2000) RT analysis and design WG

The Unified Modeling Language (UML) Complex real-time systems Requirements for modeling architectures of complex RT systems Approach and method Architectural modeling constructs Summary

Capsules: Architectural Objects Active objects Encapsulation shell Ports

Capsules: Behavior Optional hierarchical state machine (signal handler with run-to-completion semantics) transitionS1toS2: {int x; x = 0; p2.send(s1); p3.send(s2); … }; S1 S2 S3 S1 S2

Capsules: UML Modeling Stereotype of Class concept («capsule») with specialized (executable) semantics Class diagram representation: «capsule» CapsuleClassX #counter : int #x : char +portB : ProtocolA::master #portC : ProtocolB ports

Protocols: Contractual Behavior Patterns Interaction contracts between capsules e.g., operator-assisted call Caller Operator Callee time call ack number call ack transfer talk

OperatorAssisted Call Protocol Specifications A special form of collaboration OperatorAssisted Call Alice Bob caller callee initial connected connecting protocol state machine operator caller operator callee significant sequences Dexter Charlie

Protocol Roles Specifies one party in a protocol OperatorRole caller operator callee significant sequences signal source call caller number ack callee Incoming signals OperatorRole signal target call callee transfer caller ack Outgoing signals initial connected connecting role state machine

Extended OperatorRole Protocol Refinement Using inheritance signal source call caller number ack callee Incoming signals signal source call caller number ack callee Incoming signals target transfer Outgoing signals OperatorRole reply caller signal target call callee transfer caller ack Outgoing signals Extended OperatorRole query caller

Protocols: UML Modeling Collaboration stereotype: «protocol» Classifier Role stereotype: «protocolRole» 1 «protocolRole» caller «protocol» OperatorAssisted Call ack transfer incoming 1 1 call number talk outgoing «protocolRole» operator «protocolRole» callee

Ports: Boundary Objects Fully isolate a capsule’s implementation from its environment (in both directions) Environment Capsule S1 S2 Created and destroyed along with their capsule

«capsule» CapsuleClassX Ports and Protocols Each port realizes a single protocol role (type) Multiple ports with same type possible «capsule» CapsuleClassX +portA : ProtocolA::master #portB : ProtocolB +portC : ProtocolB~ ports

Ports: Collaboration Diagram Notation «capsule» anX:CapsuleClassX portA : ProtocolA::master «port» portA:ProtocolA::master 1 portC : ProtocolB~ Shorthand notation for capsule instances iconified form

«capsule» receiver : Fax Combining Capsules Using connectors «capsule» sender : Fax remote : FaxProt «capsule» receiver : Fax remote : FaxProt Connector Connectors model communication channels Each connector supports a single protocol Static typing rules apply (compatible protocols) Modeled as association classes in UML

«capsule» receiver:Fax Composition: Structural Patterns as (Reusable) Dynamic Components Relay port sendCtrl : Control receiveCtrl : Control «capsule» sender:Fax remote:FaxProt c : Control «capsule» receiver:Fax Remote:FaxProt c : Control FaxCall The composite is also a first-class object!

Composite Capsule Semantics Architectural assertion mechanism: the static elements of the internal structure of a composite capsule are automatically created (and destroyed) along with the capsule applies recursively down to the innermost leaf capsule level only explicitly prescribed architectural structures can be instantiated This also significantly reduces the complexity of the model since all the code used to establish these structures is eliminated

«capsule» receiver:Fax End Ports: Where Structure and Behavior Meet Ports directly connected to the state machine Implementation End Port Public End Port c : SystemControl «capsule» sender:Fax c : Control «capsule» receiver:Fax initial connected connecting capsule state machine senderCtrl : Control~ receiveCtrl : Control~

Decomposition: Class Diagram View Alternative representation More abstract «capsule» Fax 1 sender «capsule» FaxCall 1 receiver

The Unified Modeling Language (UML) Complex real-time systems Requirements for modeling architectures of complex RT systems Approach and method Architectural modeling constructs Summary

Summary (1) Complex real-time systems phenomena require specialized modeling support The ROOM language has industry-proven support for modeling complex real-time architectures The benefits of both UML and ROOM are gained by expressing the ROOM constructs as UML stereotypes UML-RT : a UML extension for the complex real-time domain

Summary (2) Only four UML stereotypes are sufficient (include formally defined constraints that ensure consistency/executability) Stereotype UML Metaclass «protocol» Collaboration «protocolRole» ClassifierRole «port» Class «capsule» Class supplemented by an optional custom notation

Bibliography Real-time architectural modeling whitepaper by B. Selic and J. Rumbaugh: http://www.objectime.com OMG’s UML 1.1 standard http://www.rational.com ROOM B. Selic, G. Gullekson, and P. Ward, “Real-Time Object-Oriented Modeling”, John Wiley & Sons, NY, 1994.