Real-time systems and the UML Morgan Björkander

Slides:



Advertisements
Similar presentations
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Advertisements

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.
COMPONENT DIAGRAM in UML 2.0 Veronica Carrega
Object-Oriented Analysis and Design
C OMPONENT & D EPLOYMENT D IAGRAMS Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Unified Modeling (Part I) Overview of UML & Modeling
Using Architecture Frameworks
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
SE-565 Software System Requirements More UML Diagrams.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Object Oriented Analysis and Design Using the UML
An Introduction to Rational Rose Real-Time
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Architecting Web Services Unit – II – PART - III.
Unified Modeling Language, Version 2.0
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Real Time Systems Modeling Structure in UML (Part I)
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
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.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
TAL7011 – Lecture 4 UML for Architecture Modeling.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
COMPONENT DIAGRAM in UML 2.0 Veronica Carrega. PLAN OF TALK  Introduction about components  Components and component diagrams in uml 2.0  Case study.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of SDL Amardeo Sarma NEC Europe Ltd.
Chapter 3: Introducing the UML
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
4+1 View Model of Software Architecture
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
UML (Unified Modeling Language)
CHAPTER
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
IMPORTANT NOTICE TO STUDENTS:
UML profiles.
Analysis models and design models
An Introduction to Software Architecture
Design Yaodong Bi.
Presentation transcript:

Real-time systems and the UML Morgan Björkander

2 Outline Setting the stage UML 2.0 –RFPs –Influences –Issues Real-time UML On the horizon

3 Application domains Soft real-time systems –event-driven –asynchronous –concurrent –distributed Application areas –telecom –automotive –aerospace

4 The Unified Modeling Language™ UML is managed by the Object Management Group (OMG) –the language makes no provisions for real-time The real-time analysis and design working group –promotes real-time issues for UML –uses profiles to tailor the capabilities of UML standardization work

5 Application Some concerns Architecture Performance Concurrency Scheduling Time Resources

6 Real-time profiles of the UML UML Performance Scheduling Time Fault tolerance QoS Large-scale systems UML SDL - UML-RT (ROOM)

7 UML 2.0 Infrastructure OCL Diagram Interchange - Kernel language (core) - Extensions (profiles) Superstructure - Architecture (scalability and component-based-development) - Workflow (state machines and activity graphs) - Interaction (augmentation with Message Sequence Charts) - Action semantics (integration) - Collaboration (simplification) - Relationships

8 Inspiration sources for UML 2.0 SDL (Specification and Description Language) –architecture –state machines –executability MSC (Message Sequence Charts) –decomposition –variations (inline expressions) –references –organization ROOM (Real-time Object- Oriented Modeling) –architecture (UML-RT) UML 2.0 SDL MSC

9 Visual modeling 1. Round-trip engineering –consistency between models, code, and application –maintenance code is king 2. Models with code inserted –fragmentation –target language dependent portability

10 Add executability 3. Executable models Visual modeling Behavioral modeling –action language –data model Run-time semantics Configuration –build scripts –realization mappings deployment

11 Visual software engineering Express functionality in the model –check the correctness of the model validation simulation verification testing Transform the model into code –forward engineering round-trip superfluous reverse engineering required to capture legacy and integrations –automatic and complete configurable –target language independent transport mechanisms selectable –the documentation is the model is the code iteration

12 A logical component (agent, capsule) –is an active class –provides encapsulation a ”black box” hierarchical decomposition internal structure behavior –has interfaces Used as building blocks –top down divide and conquer –bottom up like lego Logical components

13 Encapsulation Logical components use connection points (gate, port) –to provide bi-directional access points without exposing the internal structure –each connection point provides its own view of the logical component The connection points specify contracts in the form of interfaces (interface, protocol, protocol role) –implemented interfaces services that are realized by the logical component –required interfaces services that others must implement ATM «interface» Display «interface» Keyboard «interface» Log Display Customer Keyboard Operator Log, Verify, Transaction Display, Shutdown

14 Connection requirements Connection points specify how instances of logical components may be connected to each other (channel, connector) –it it only possible to connect logical components that have matching required and implemented interfaces The connections describe communication paths :ATM Operator Visa:Bank Terminal C1 Bank Terminal Log, Transaction Display MC:Bank Operator Terminal C2

15 Internal structure and behavior Bank S1 S2 e2 e3 e1 Terminal Log, Transaction Display Bank Terminal Log, Transaction Display ctrl(1..1): Controller db(1..1): DataBase LogATM Log

16 Dynamic decomposition aspects A state machine controls the internal structure –may be implicit –interacts with contained logical components as well as external logical components Initialization of internal structure –start configuration Life-cycle dependencies –creation –termination Multiplicity constraints Switch basic(0..*): Call service(1..1): Library Initiate Trigger Control Setup Phone

17 Communication mechanisms To-based communication –relies on object-references –interfaces provide typed object references to logical components –object references may be obtained through creation of logical components parameters of received messages naming service (or similar) Via-based communication –relies on structure –usually via connection points // pseudo code: to Client aClient =...; send sig1 to aClient; aClient.send(sig1); // pseudo code: via Port aPort =...; send sig1 via aPort; aPort.send(sig1);

18 Transition-centric state machines Dummy S1 S2 e2 e3 e1 state-centric view S1 S2 e1e2 S2 e3 S1 i = i + 1 e1 Dummy e2 i = 0 e3 i [5][else]

19 Sequence diagrams Decomposition –collapsed views Variations (inline expressions) –parallelism, alternatives –loops, optionality, exceptions Sequence diagram references High-level sequence diagrams –organizing sequence diagrams seqinit abc

20 Performance, scheduling, and time The first of the real-time UML profiles –Initial submission August 2000 –Revised (final) submissions due this summer Major areas of concern –Schedulability analysis the ability of a system to meet its deadlines –Performance analysis the response of the system under different conditions –Time –Concurrency –Realization mappings deployment

21 Realization mappings Functions Logical view Engineering view

22 Quantitative aspects There are many quantitative concerns when a logical viewpoint is mapped on top of an engineering viewpoint –Will we get the right performance? –How much memory can we afford to use? –Is the throughput sufficient? –Do we need additional resources? Should we add resources or cut functionality? These quantitive aspects are captured as Quality of Service (QoS)

23 On the horizon: Embedded UML A UML profile for hardware and software co-design Delay implementation decisions –virtual integration by focusing on functionality Several system-level design languages could be brought together by UML –SystemC, SpecC, etc. These languages primarily provide abstractions of existing programming languages to model ports, interfaces, channels, state machines, etc. –require additions/modifications to the UML abstractions communication mechanisms (buses, broadcasts, synchronization) realization mappings (deployment) non-functional requirements ($) Visual Systems Engineering

24 On the horizon: Testing A UML profile for testing –UML notation (primarily sequence diagrams) strong relationship to TTCN-3, which is a language dedicated to testing conformance, robustness, regression, system, and integration testing –Verification of functionality of object-oriented/component- based systems, primarily from a conformance point of view –Definition of test cases, and how they are collected in test suites –Setting up, executing, and evaluating tests

25 Now it is your turn Questions