uml for global computing
play

UML for Global Computing Martin Wirsing LMU Mnchen in cooperation - PDF document

Travelling Reporter UML for Global Computing Martin Wirsing LMU Mnchen in cooperation with Hubert Baumeister, Piotr Kosiuczenko, Nora Koch Stephan Merz, Julia Zappe GC Summer School, Edinburgh, July 2003 M. Wirsing: UML for Global


  1. Travelling Reporter UML for Global Computing Martin Wirsing LMU München in cooperation with Hubert Baumeister, Piotr Kosiuczenko, Nora Koch Stephan Merz, Julia Zappe GC Summer School, Edinburgh, July 2003 M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing Global Computing Current ... „massive networked infrastructure composed of Software Engineering Standards (UML) � support only particular features of GC such as concurrency and real highly diversed interconnected objects“ � time EU Initiative „Global Computing“ Programming Languages (C++, Java, ML, Haskell, ...) � support only particular features of GC such as concurrency and Systems which support � distribution dynamic configuration complex topologies Middleware (CORBA, Jini, COM, SOAP, .Net, ...) � autonomous and mobile objects improves on client server model � but Mobile Computing (Mobile Hardware) are based on simple topology assumptions (e.g. TCP) � support only particular aspects of GC Mobile Computation (Mobile Code) � have no (good) support for validation&verification � M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing Global Computing needs ... The AGILE Project Goal: New support for software development � � New features for modeling languages Architectural approach to mobile systems development over a � Adequate development processes uniform mathematical framework supporting � sound methodological principles, � New features for programming languages and middleware formal analysis, and � � refinement across levels of development � and 2002-2005, sponsored by EC Initiative on “Global Computing” � Partner: Coupling of pragmatic and formal techniques � � LMU München, ATX Lissabon, U. Pisa, U. Lissabon, for analysis, validation, verification of GC systems U. Florenz, ISTI Pisa, U. Warschau, U. Leicester M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing

  2. Agile Approach Contents Case Studies Mobile Applications Existing � Lecture 1: Introducing UML for Mobility Modeling � Use Case Driven design Mobile UML Languages � Class Diagrams � Sequence Diagrams � Activity Diagrams � Lecture 2: Refining Mobility Designs Structural View on + Algebraic Models of � Lecture 3: Property-Driven Development of Mobile Distribution&Mobility System Evolution Architectural Systems Views Graph-Orientied Semantic Framework Uniform (Categ. Dgrms + Graph Transform. + Tile Logic + Institutions) Mathem. Basis M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing Unified Modeling Language Goals of the UML Graphical modelling language for OO systems Description of essential program characteristics like a � � construction plan Means of communication � Structuring the problem as well as the solution between developers � � developers and users (?) Abstracting from implementation details � � “Unification” of several predecessor methods � First standardization attempt Sep. 1997 by OMG Definition of different views � � Current version 2.0 (Notation of Lecture 1.5) � Developed by Booch, Rumbaugh (OMT), Jacobson (OOSE)... � Consist of: � A number of modelling concepts � A concrete notation � Supports “Unified Process” development method � M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing UML Description Techniques (UML) Software Engineering Principles View-oriented system system modelling Structure: Requirements, Functionality: � � Class diagram Use Case Diagram � � partial views Interaction, Behaviour: � Object diagram Activity Diagram Use case Arrival � � Includes Landing Description Airport Flight The plane is landing. Then the Sequence diagram passengers Implementation: � deplane and the Passenger � luggage is unloaded. If the Component Diagram passenger has � luggage then the Collaboration passenger claims Deployment Diagram � its luggage. � UML documents � Object Constraint Language (OCL) Statechart � A system is described by several documents from several viewpoints M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing

  3. (UML) SE Principles (cont‘d) Use Case Driven Design � Principle of underspecification � Use Case � Data encapsulation and an interaction between user and system which serves to fulfill a task separation of interfaces and implementations where � Incremental development by refinement steps “system” = software to be developed � Hierarchical composition and decomposition “user” = person or external system called “actor” � Use cases serve as functional requirement description and provide test cases M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing Use Case Diagram: Example Airport Major Development Steps Identify use cases Identify classes of the Use case diagram, application domain use case scenarios, activity use case <<include>> Class diagram diagrams TakingOff Departure functional view oo view Specify the overall actor system actor Airport Class diagram + behavior specifications oo view <<include>> Passenger Plane Arrival Landing Develop system architecture Architectural design Flight refinement M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing Use Case Description: Example Class Diagram � A class diagram defines the static structure of the system Use case Arrival consisting of Includes Landing classes and interfaces Actors plane, passenger connected by static relationships such as Description The plane is landing. Then the association, aggregation and inheritance passengers deplane and the luggage is unloaded. If the passenger has luggage then the passenger claims its luggage. M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing

  4. Classes for Mobile Objects Example: Class Diagram for Airport Country � Goal of the extension name � Explicit notations for mobile objects and locations 1 has � Extensions * Airport � UML profile for mobility with stereotypes for locations, mobile objects, and mobile locations name origin 1 1 destination * * Plane Flight Passenger type number name run numberOfSeats date eat() * * * * land() boardingTime board() takeOff() gate deplane() M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing Abstract Classes for Mobility: 2nd Approach Abstract Classes for Mobility: 1st Approach <<abstract>> * Spatial atLoc atLoc 0..1 <<abstract>> 0..1 atLoc * <<abstract>> * 0..1 Location Mobile Object <<abstract>> <<abstract>> Location Mobile Object <<abstract>> Mobile Location <<abstract>> Mobile Location Problem: Mobile Location inherits „atLoc“ twice: from Location and from Mobile Object Improvement: Due to the introduction of the abstract class „Spatial“, Mobile Location inherits „atLoc“ only once, but ... M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing Spatial Solution: UML Profile for Locations <<metaclass>> Location Mobile Object Each instance Class has at most one Abstract attribute atLoc; <<stereotype>> atLoc has no classes cycles <<stereotype>> Mobile Location lead to spatial complex Country class diagrams <<stereotype>> <<stereotype>> Airport location mobile Plane Flight Passenger <<abstract>> mobile location M. Wirsing: UML for Global Computing M. Wirsing: UML for Global Computing

Recommend


More recommend