Introduction to OMG's Unified Modeling Language (UML) a Little
Total Page:16
File Type:pdf, Size:1020Kb
07.02.2006 Introduction to OMG's Unified Modeling Language (UML) Dominic Hillenbrand CES - Chair for Embedded Systems (Prof. Dr. Jörg Henkel) Department of Computer Science University of Karlsruhe Chair for Embedded Systems Universität Karlsruhe (TH) <your Name> WS 2005-06 Software Engineering for Embedded Systems A Little History Late 1960s: ¾ Emergence of OO programming languages (Simula-67 language) ¾ Appearance of first OOA&D methodologies 1980s and early 1990s: ¾ Smalltalk (1972) ¾ Many competing general development methods and modelling languages (over 50) Alan Curtis Kay ¾ The “methods wars” „The best way to predict the Excursion: Structured Analysis & future is to Design together with structured invent it." programming preceded the OO- paradigm! Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 1 07.02.2006 Software Engineering for Embedded Systems How things got started The Three Amigos and their three prominent key methods (mid 1990s): ¾ Grady Booch (Booch ’93 “OO Analysis and Design) ¾ Rumbaugh (Object Modelling Technique) ¾ Ivar Jacobson (OO Software Engineering) Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 Software Engineering for Embedded Systems More Background 1995: Rumbaugh, Booch and Jacobson join forces in Rational: ¾ Develop the (Rational) Unified Process ¾ Develop the Unified Modelling Language (UML) Object Management Group (OMG): ¾ not-for-profit consortium ¾ produces and maintains computer industry specifications ¾ flagship specification is the multi- platform Model Driven Architecture (MDA) Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 2 07.02.2006 Software Engineering for Embedded Systems What is UML? UML is a language –semantics& syntax ¾ Not a methodology! (like RUP; Waterfall & Spiral-Model) UML can be used to ¾ specify ¾ visualize ¾ document software artifacts Built upon fundamental OO concepts “industry’s best” engineering practices 13 types of diagrams Usually textual specifications in automobile industry. Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 Software Engineering for Embedded Systems Properties of UML Covers a very broad scope ¾ not all modeling capabilities are useful in all domains or applications! ¾ E.g. business vs. embedded modeling Structured in a modular fashion ¾ Ability to select only language parts of interest. ¾ User need only be concerned about language parts actually used. ¾ Great flexibility, but: • Tool fragmentation possible • Limited model interchange Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 3 07.02.2006 Software Engineering for Embedded Systems Example: Language Parts State Machine language unit ¾ Specification of discrete event- driven behavior (often found in embedded systems) Activities language unit ¾ Specification of workflow behavior ¾ (very useful for business related modeling) Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 Software Engineering for Embedded Systems UML – What for? Modeling (Designing before coding!) ¾ Analogous to blueprints in other engineering disciplines. Raising the Level of Abstraction Reverse-engineer old source code into a UML diagrams Model Driven Architecture (MDA) ¾ platform-independent (PIM) or platform- specific (PSM) ¾ OMG-standardized mappings to produce one or more Platform-Specific Models (PSMs) • E.g. target several RTOS systems Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 4 07.02.2006 Software Engineering for Embedded Systems Excursion: OMG’s MDA Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 Software Engineering for Embedded Systems What can you model with UML? Structure Diagrams include the Class Diagram, Object Diagram, Component Diagram, Composite Structure Diagram, Package Diagram, and Deployment Diagram. Behavior Diagrams include the Use Case Diagram (used by some methodologies during requirements gathering); Activity Diagram, and State Machine Diagram. Interaction Diagrams, all derived from the more general Behavior Diagram, include the Sequence Diagram, Communication Diagram, Timing Diagram, and Interaction Overview Diagram. Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 5 07.02.2006 Software Engineering for Embedded Systems UML 2.0 UML 2.0 Superstructure stable since October 2004 The superstructure defines the ¾ six structure diagrams ¾ three behavior diagrams ¾ four interaction diagrams ¾ and the elements that comprise them Still work in progress: ¾ UML 2.0 Infrastructure ¾ UML 2.0 Object Constraint Language (OCL) ¾ UML 2.0 Diagram Interchange UML 1.5 is still the “current” version UML 2.0 is a major update Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 Software Engineering for Embedded Systems UML and related Specifications Unified Modeling Language ¾ Superstructure (version 2.0, August 2005, 709 pages) • Defines user level constructs required for UML 2.0 ¾ Infrastructure (version 2.0, November 2004, 226 pages) ¾ Diagram Interchange (version 2.0, June 2005, 82 pages) ¾ OCL 2.0 Specification (version 2.0, June 2005, 185 pages) ¾ MOF 2.0/XMI Mapping Specification (version 2.1, September 2005, 120 pages) ¾ Meta Object Facility (MOF) Specification (version 1.4, April 2002, 358 pages) ¾ UML Profile for Schedulability, Performance, and Time Specification (version 1.1 , January 2005, 235 pages) Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 6 07.02.2006 Software Engineering for Embedded Systems All finalized UML Specifications are available online - for free - http://www.omg.org/technology/documents/modeling _spec_catalog.htm Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 Software Engineering for Embedded Systems UML Profiles and Related Specifications UML Profile for CORBA® UML Profile for CORBA Component Model (CCM) UML Profile for Enterprise Application Integration (EAI) UML Profile for Enterprise Distributed Object Computing (EDOC) UML Profile for QoS and Fault Tolerance UML Profile for Schedulability, Performance, and Time UML Testing Profile UML Human-Usable Textual Notation (HUTN) Hint: UML Profiles (subsets of UML tailored for specific purposes) Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 7 07.02.2006 Software Engineering for Embedded Systems Hewlett-Packard 7irene Kennedy Carter I-Logix 88solutions Klasse Objecten IBM Adaptive KLOCwork Advanced Concepts IONA Center LLC Lockheed Martin Jaczone Alcatel MEGA International Kabira Technologies Artisan Mercury Computer WebGain Borland Motorola Ceira Technologies X-Change Technologies MSC.Software Commissariat à Gentleware L'Energie Atomique Northeastern University Intellicorp Computer Associates Oracle TNI-Valiosys Compuware Popkin Software DaimlerChrysler Unisys Proforma Domain Architects University of Embarcadero Project Technology Kaiserslautern Technologies Sims Associates Enea Business University of Kent SOFTEAM Software VERIMAG Sun Microsystems Telelogic Ericsson Syntropy Ltd. Thales Group France Telecom Fujitsu Fraunhofer FOKUS Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 Software Engineering for Embedded Systems UML 2.0 Tools Altova UModel 2005, ARTiSAN's Real-time Studio, Borland Together 2006 for Eclipse, Computas' Metis with UML 2.0 Template, Embarcadero Describe, IBM Rational Software Architect and Modeler, I-Logix Rhapsody, MetaMatrix MetaBase Modeler, Mia Software (Sodifrance) Model-in-Action, No Magic's MagicDraw UML, OMONDO EclipseUML Studio, Pathfinder Solutions' PathMATE 5.2, Open Source StarUML sponsored by Plastic Software, Sparx Systems Enterprise Architect, Sun Microsystems' Java Studio Enterprise, Pattern Weaver Ver. 2.0 Technologic Arts Inc. (Japanese), Telelogic's TAU Developer and TAU Architect, Gentleware's Poseidon for UML, Visual Paradigm's Smart Development Environment tool series Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 8 07.02.2006 Software Engineering for Embedded Systems Tools continued Risk: Overview may be lost – “Tool leads” ! Tool categories: ¾ Graphics Editors (e.g. PowerPoint) • Very limited support ¾ Notation specific editors (e.g. Visio, Dia) • Pre-built configurable “graphic blocks” ¾ Notation specific editors + semantic support (e.g. Omondo) • Code Generation ¾ Full blown CASE Tools (e.g. Rational Rose) • Focus on methodology and/or domain (e.g. real-systems) • Central Repository (Versioning) • XMI Data Exchange • Different views • MDA support Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 Software Engineering for Embedded Systems Why care about UML internals? UML adoption in embedded real-time systems has increased Why? ¾ Software Engineering principles, tools, defined processes have reached the manufacturing companies. Those products are safety- critical! So, do not relay on intuition when you design or review Every line & box has a UML diagrams! formally defined meaning! Chair for Embedded Systems Universität Karlsruhe (TH) Dominic Hillenbrand WS 2005-06 9 07.02.2006 Software Engineering for Embedded Systems Infrastructure Architecture InfrastructureLibrary defines: ¾ a metalanguage core used to define a