Docstoc

Model Driven Development

Document Sample
Model Driven Development Powered By Docstoc
					Model Driven Development




                           1
DoDAF/ModAF/ SysML and AP233
• Architecture
  – DODAF
     • MODAF
• Modelling
  – UML
  – SysML
• Interchange
  – AP 233
  – XMI
                           2
                     DoDAF

• Architecture:
  – “The structure of components, their relationships and
    the principles and guidelines governing their design
    and evolution over time. “ DoD


• Public Documents
  – Volume 1 Architectural Framework
  – Volume 2 Product Description
  – Deskbook

                                                            3
3 views




          4
5
6
                          UML 1.4
• Version of Unified Modelling language in most
  widespread use
• Wide set of support tools:
   – IBM/Rational Rose, Telelogic Tau, System Architect, QSEE..
• Arises from Object-Oriented Software development
   – Previously data and code were kept separate, objects combine
     the two
   – Software objects mimic real world things
   – Objects have a type or class
• Viewpoints
   – Structure
      • Class; object; component ; deployment
   – Behaviour
      • Use case; state-chart; sequence; collaboration; activity

                                                                    7
                               UML 2.0
 • UML 2.0 includes features which are helpful in
   Systems Engineering1:
     – Allows for more flexible System, Subsystem and
       Component representations
     – Structural decomposition
            • e.g. Classes, Components, Subsystems
     – System and component interconnections
            • via Parts, Ports, Connectors
     – Behavior decomposition
            • e.g., Sequences, Activities, State Machines
     – Enhancements to Activity diagrams
            • e.g. data and control flow constructs, activity partitions/swim
              lanes

                                                                                8
1Kobryn   and Friedenthal, Systems Modeling Language™ Overview, 2003
                       UML 2.0
• UML 2.0 includes features which are helpful in
  Systems Engineering (contd.)
  – Enhancements to Interaction diagrams
     • e.g., alternative sequences, reference sequences, interaction
       overview, timing diagrams
  – Support for information flows between components
  – Improved Profile and extension mechanisms
  – Support for complete model interchange, including
    diagrams
  – Compliance points and levels for standardizing tool
    compliance
  – Does not preclude continuous time varying properties
     • especially important for SE applications

                                                                   9
                           SysML origins
•   Systems Engineering requirements
     –   Hierarchic levelling of detail
     –   Functional decomposition: Function block diagrams
     –   Physical interaction and continuous connections
     –   Requirements – system relationship
     –   Mathematical models
•   Main authors
     –   Cris Kobryn and Sandy Friedenthal (SysMl partners (www.SysML.org)
•   Support from
     – Object Management Group
     – Tool vendors
          • Artisan, Telelogic, IBM/Rational, I-Logix
     – INCOSE
     – Industry
          • BAE SYSTEMS, Deere & Company, Lockheed Martin, Motorola, Northrop Grumman,
            Raytheon, Thales
•   Now at Draft 0.9


                                                                                         10
             SysML Diagrams
• Viewpoints
  – Structure
    • Class; object; component ; deployment ; assembly
  – Behaviour
    • Use case; state-chart; sequence; collaboration;
      activity; state-machine; timing
  – Others
    • Parametric ; requirements


                                                        11
            SysML Example
• Vehicle system
  – The problem is derived from a marketing
    analysis which indicated the need to increase
    the acceleration of the vehicle form its current
    capability.
  – Appendix B of the Draft standard




                                                   12
Concept Diagram
          stereotype




                       13
                 Class diagram


                       composition??

generalisation




                                       14
              Requirement Diagram
containment




                                    15
actor   Use case diagram   Use
                           case




                            Sub use
                             case


                           Optional
                           extension




                                       16
               Activity Diagram    initial




                                   fork



Sub-activity                       merge




                                  decision

     join



                                  final


                                          17
           Activity Diagram
                              object


Swimlane
 (actor)




action

                               signal




                                  18
               Class Diagram

association with
                                  Data
     flow
                                property



                               Physical
                               property


                               operation




             association
                                     19
            State Machine Diagram
                           state

  Initial




                                    transition

final


                                          guard




                   event
                                          20
            Class Diagram   Meta
                            data




Exclusive
  sub-
assembly




                               21
       Assembly Diagram

                connector   Connector
                              type


port




                                   22
Assembly Diagram
               swimlane




  connection
  stereotype



                          23
Parametric Diagram
                 Parametric
                 constraint




                   parameter




                               24
: Timing Diagram




                   25
               Sequence Diagram

                                     object




                                              Class of
                                               object


     Lifeline
(time downwards)



                           Message
                           (Async)
                                                   26
           Sequence Diagram



  Sub
sequence




                              27
                                                 manager
                         Issues                 1


                                              Employee
• Diagrams are not enough                                0..*


  – Limited expressive power
  – Limited scope for verification
     • Formal languages e.g.
         – OCL (Object Constraint Language)
         – Alloy from MIT
  – Comprehension
  – Construction
• Patterns and Problem Frames
  – Knowledge representation and reuse
  – Problem Frames (Jackson)

                                                            28
                Workshop
• 1 – Comprehension
  – What do these diagrams mean in English?


• 2 – Construction
  – Look at the collection of simple diagrams
    taken form various texts and papers
    • Identify which kind of diagram most closely
      matches each diagram
    • Take on diagram and re-write as a SysML diagram
                                                    29
30
31
    State machines in SysML
• 15 July 2004 – I-Logix announce that BAe
  systems are standardising on Statemate
  for development of Eurofigher Typhoon
• - using MDD – Model-driven Development
• Dec 14 2004 Statemate chosen for use by
  MBDA in the development of METEOR



                                         32
   Model–driven Development
• Design behaviour using diagrammatic
  notations
• Demonstrate and evaluate the behaviour
  early in the development process
• Generate the delivered code/part directly
  from the model, perhaps guided by the
  designer with additional decisions.


                                              33
                Statemate
• A state machine design tool based on
  David Harel’s state charts (incorporated
  into UML)
• Allows
  – Simulation – what would happen if the
    following sequence of events occurred.
  – Analysis – prove that the system can never
    lock up
  – Code generation – to C for loading into
    embedded processors
                                                 34
            Basic State Machine

• The basic concepts in this notation are:
  – state
     • A mode of the object/component/sub-system
  – transition
     • A change of state caused by an event or input,
       perhaps back to the same state
  – event
     • the input which causes a transition to occur
  – action
     • An action which occurs when a transition is made

                                                          35
example



                                                                 C
                                                                 clang
                                               s1


          event
          -------           A
                                                         B
          action            boing          A
                                                         clack
                                           hiss

                                                  B

                    S2                            bang
                                                                 S3


                                    A
                                    ping


                     C
                     pong

                                                                         36
                  Exercise
• 1.1. What sequence of noises does it make
  when the sequence ABACAC is in put?
• 1.2 What about BABAAC?
• 1.3 What kind of error in the machine does the
  sequence ACCBA reveal?
• 1.4 What kind error in the machine does the
  input BABC reveal?
• 1.5 What kind of error does the sequence
  ABAXAC reveal?
• 1.6 Give other examples of good and bad input.
                                                   37

				
DOCUMENT INFO