Title: UML description of ROS simulation models
1UML description ofROS simulation models
- Report on work by
- Jos Vermeulen (NIKHEF),
- Bob Cranfield (UCL)
2Overview
- Recap of aims proposal
- Intro to UML with example diagrams
- Status of ROS model description
- Status of ROC model description
- Issues
- Next steps
3Aims
- The goal is a method for describing ROS
simulation models that - is not committed to a specific modelling tool
- can be readily used with Simdaq and Ptolemy
- is complete enough to include all ROS features
that need to be modelled - is accessible to the ROS team members so they can
agree on the accuracy of the model - Whole point is to find a common language in
which the members of the team can discuss and
evolve the model.
4UML
- Proposal is to use the UML (Unified Modelling
Language) - Widely used, including in ATLAS offline
- Designed to be easy to follow, with simple
diagram notation - Books tools available
5What is the model?
- Need to be careful with the term model
- A UML description is itself a model
- Our aim is to provide a UML model of a
discrete-event model of the ROS - i.e. NOT a UML model of
- the ROS
- the ROS software
- a Simdaq or Ptolemy implementation
6Note on tools
- Together 4.2
- free to academics
- multi-platform
- comprehensive diagramming
- used in ATLAS offline
- but memory hungry glitchy on Linux
- Source Navigator 4.5.2
- RedHat product
- convenient for reverse-engineering
7UML description
- A UML description is shown as a series of
diagrams, of views of the system. Diagrams refer
to the underlying UML model. - UML has several types of diagram, some suited to
real-time systems. - The UML is object-oriented, but intended for a
wide range of systems. - UML diagrams are meant to be easy to follow
8UML diagrams
- use case diagram
- class diagram
- activity diagram
- object diagram
- sequence diagram
- collaboration diagram
- state diagram
- component diagram
- deployment diagram
- entity-relationship diagram
- business process diagram
9Class diagram
- The class diagram sets the context.
- It shows the classes of the system as boxes, with
various linkages between. - In Together classes are central elements, holding
attributes operations. - We need an object-oriented analysis of the
significant features of the ROS to identify
relevant elements of a class diagram.
10TRG (class diagram)
11Activity diagram
- The activity diagram shows the flow of logic
within an operation. - Key elements are activities (in rounded boxes)
and conditional branches (diamonds).
12TRG_Task6 (activity diagram)
13Collaboration diagram
- The Collaboration diagram shows a snapshot of a
set of objects, with the messages passing between
them. - The messages can be e.g. actual messages or
method calls - Messages initiate operations in the receiving
objects
14TRG_Corbo (collaboration diagram)
15Sequence diagram
- The Sequence diagram is an alternative
presentation of the information in a
Collaboration diagram. - It emphasises the time dimension, running
vertically, and shows timing information. - Together can automatically convert between
Sequence and Collaboration diagrams.
16State diagram
- The State diagram is another way of describing
the details of an operation. - It shows a sub-system as a set of states, with
transitions between them. - It is probably more relevant to the
implementation phase.
17TRG_Task6 (state diagram)
18ROS model
- Reverse engineering
- of ATDF code
19ROS default diagram
20TRG package
21ROB package
22ROB (class diagram)
23ROB_InTask (activity diagram)
24ROB_DCTask (activity diagram)
25ROB_TrgTask (activity diagram)
26ROB_TrgTask (sequence diagram)
27ROB_Local (collaboration diagram)
28EBIF package
29EBIF (class diagram)
30EBIF_Task1 (activity diagram)
31EBIF_Task2 (activity diagram)
32EBIF_Task3 (activity diagram)
33EBIF_Task4 (activity diagram)
34EBIF_OutStorage (collaboration diagram)
35IOM_sched package
36IOM_Sched (activity diagram)
37IOM_Sched (collaboration diagram)
38default (class diagram)
39ROC model
- Reverse engineering of
- Bertram Renschs Ptolemy code
40ROC Class diagram
41ROC full Collaboration diagram
42DETRG Activity diagram
43DEXpci Activity diagram
44Open issues
- Naming of attributes operations
- Representation of i/o channels
- Indication of time-consuming operations
- Naming convention for diagrams
- Maintenance of sub-set diagrams
45Next steps
- Complete first-draft activity, collaboration,
sequence diagrams - Check diagrams with ROS team
- Add diagrams for different ROS variants
- Add diagrams for hardware elements