Docstoc

The UML - LiU

Document Sample
The UML - LiU Powered By Docstoc
					        The UML

Formal Methods for SoC Design



      Sorin Manolache
     sorma@ida.liu.se
                                 Outline

      History and rationale

      UML-based design process

      Pros and cons

      Current status

      UML resources




The UML – Sorin Manolache
                                                     Rationale
   “Specification, visualization, and documentation of models of
   software systems, including their structure and design”
   Grady Booch (OOAD), Jim Rumbaugh (OMT), Ivar Jacobsen
   (Objectory) ~ 1994 – 1997
   Based on the OO philosophy as it was considered more suitable for
   complexity management
   Appeared as a unification and standardization of existing software
   modelling languages




   http://www.omg.org/uml/
   http://www.uml.org/




The UML – Sorin Manolache
                                           Characteristics
   Graphical, 12 standard types of diagrams
   Structural: class, object, deployment, component
   Behaviour: use case, sequence, statechart, activity, collaboration
   Model management: packages, subsystems, models




   Concurrency (execution threads, active objects)
   Extended in order to capture timeliness requirements
   Supports simulation and possibly synthesis




The UML – Sorin Manolache
                                            Requirements

   Use cases
    Who are the users?
    What do they use the system for? (very coarse grained
    functionality)




The UML – Sorin Manolache
                                                         Analysis

     Sequence diagrams
      For each use case, imagine a scenario
      Identification phase, which are the objects? How are they related?
      How do they collaborate?
      Timeliness requirements specification




The UML – Sorin Manolache
                                       Object Behaviour


     Harel's statecharts – the only thing which makes UML executable
      May capture concurrency and hierarchy




The UML – Sorin Manolache
                                             Statecharts
                                       DeInterleave
                                             1
                                 evBurst/send(Deinterleaver2,data2)
                                       Deinterleave
                                             2
                                 evBurst/send(Deinterleaver3,data3)
                                       Deinterleave
                       Idle                  3
                   handleFault




                                 evBurst/send(Deinterleaver4,data4)
                                       Deinterleave
                                             4
                                 evBlock/send(ConvDec,block)

                   Error                Conv dec
                                 evConv/send(FireDec,block)
                                         Fire dec

The UML – Sorin Manolache
                                               Structural View

       Structure of the functionality (software architecture)
       Similar to task graphs if we consider active objects
       Relationships between classes/objects
       Can lead to mapping
        Active objects to processing nodes
        Passive objects to memory/registers
        Association links to buses




The UML – Sorin Manolache
                                               Object Diagrams
  Output buffer                                      Burst buffer
           int: size                                         int: size
   float: access latency                             float: access latency
    float: power per bit                              float: power per bit

                            Controller
                              Deinterleaver
                              Conv decoder
      Fire Dec                float: dealine
                                                     Deinterleaver
     addr: Input block                                 addr: Input burst
    addr: Output block       Initiate decoding        addr: Output block
      float: Latency           Handle error             float: Latency
       float: Power         Report completion            float: Power

          Decode                                         Deinterleave


                             Conv Dec
  Block buffer2              addr: Input block
                            addr: Output block
                                                     Block buffer1
           int: size          float: Latency                 int: size
   float: access latency       float: Power          float: access latency
    float: power per bit                              float: power per bit
                                 Decode




The UML – Sorin Manolache
                            Customization Mechanisms

      UML for HW/SW co-design?
      UML meta-model, model of modelling concepts
        Class, operation, event, state, etc.
      Extend those models (using OCL, Object Constraint Language)
      in the meta-model building thus new modelling concepts




The UML – Sorin Manolache
                            Customization Mechanisms
      Examples of stereotypes:
       The actor is an object from the environment
       The singleton is the only allowed instance of a particular class
       (clock generator, global configuration file)
       Periodic events
       Interface object




     Some can be checked at “compile” time (singleton)




The UML – Sorin Manolache
                                              Pros and Cons
      Pros:
       Systematic design process
       Standard
       Graphical
       Extensible
       Implementation independent
       Design complexity management


     Cons:
      Semantic (improving, Action Semantics)
      Simulation/execution (some tools support it)
      Validation/verification/testing (some tools support it)
      Efficient synthesis (mainly to C and Java)
      Analysis (WCET, power) in the absence of hardware
      architecture information
      Tool support for extenstion mechanism


The UML – Sorin Manolache
                                                            Status
 UML 2.0 adopted by OMG in June 2003
 Tools:
  http://www.omg.org/technology/uml/index.htm#Links-Tools

 UML Profile for Schedulability, Performance and Time 1.0
 http://www.omg.org/technology/documents/formal/schedulability.htm

 UML Profile for Testing underway
 G. Martin, L. Lavagno, J. Louis-Guerin propose at CODES2000 an
 UML Profile for Embedded Systems




The UML – Sorin Manolache
                                         UML Resources
 http://www.omg.org/uml/
  Formal specification documents
  Documentation
  Non-exhaustive list of tools
  Links (documentation, tutorials, tool vendors)
  Success stories (mainly large software projects – Xilinx)

 http://www.ilogix.com/products/rhapsody/uml.cfm
  Description of their tool – Rhapsody
  Links to white papers




The UML – Sorin Manolache

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:4
posted:12/2/2011
language:English
pages:18