OMEGA Workshop – Grenoble February 17, 2005 1
OMEGA
IST-2001-33522
IST-2001-Project-33522
Omega Workshop Grenoble - 17 February 2005
Semantic Considerations in OMEGA
- B. Josko, OFFIS
Semantic Considerations in OMEGA Omega Workshop Grenoble - 17 - - PowerPoint PPT Presentation
OMEGA IST-2001-Project-33522 IST-2001-33522 Semantic Considerations in OMEGA Omega Workshop Grenoble - 17 February 2005 B. Josko, OFFIS OMEGA Workshop Grenoble February 17, 2005 1 OMEGA Contents IST-2001-33522 Motivation
OMEGA Workshop – Grenoble February 17, 2005 1
IST-2001-33522
OMEGA Workshop – Grenoble February 17, 2005 2
IST-2001-33522
UML coverage
Untimed Version Timing Extensions Further concepts
OMEGA Workshop – Grenoble February 17, 2005 3
IST-2001-33522
OMEGA global goal
Provide formal verification techniques for UML models
Requirements
UML compliance Expressivity for real-time embedded systems
Provide formal semantics
Basis for formal verification Support effective analysis techniques
Approach
Kernel model for untimed behavioural description Time & component extensions of the kernel model Abstract representation of the Omega semantics with variation
OMEGA Workshop – Grenoble February 17, 2005 4
IST-2001-33522
OMEGA Workshop – Grenoble February 17, 2005 5
IST-2001-33522
All public attributes and operations All signal receptions All operation calls and signals
OMEGA Workshop – Grenoble February 17, 2005 6
IST-2001-33522
Overriding operations and attributes (leading to
Specialisation of signals
Composition (a.k.a. strong aggregation) Aggregation (a.k.a. weak aggregation) Neighbour (is derived from the former associations)
OMEGA Workshop – Grenoble February 17, 2005 7
IST-2001-33522
[n, n] = n∈N [0, n], [m, n] m< n ∈N [0, *] = *∉ N, [m, *] [m, m+1] = {m, m+1}
OMEGA Workshop – Grenoble February 17, 2005 8
IST-2001-33522
s s3 s4 s2 s12 s11
t1 t2
concurrent (AND-states) sequential (OR-states)
priority from the innermost
non-deterministic choice
history connectors joint and fork connectors
source(t) target(t) trigger(t) [guard(t)] / effect(t)
OMEGA Workshop – Grenoble February 17, 2005 9
IST-2001-33522
OMEGA Workshop – Grenoble February 17, 2005 10
IST-2001-33522
Object-orientation
Concurrency
Between activity groups, where each activity group is sequential Between concurrent regions in a state machine
Communication
Synchronous via signal events (with parameters) Asynchronous via operation calls (methods or call events) Access to public attributes
Sources of Dynamic
Object creation/destruction, polymorphic operations, association
Non-deterministic choice, e.g. in transition firing or the order of the
OMEGA Workshop – Grenoble February 17, 2005 11
IST-2001-33522
OMEGA Workshop – Grenoble February 17, 2005 12
IST-2001-33522
C set of classes with interface definitions A ⊂ C set of actors, specifies external behavior the root class c0 is maximal under aggregation A set Sig of signals Assoc Association relations
the composition relation defines a DAG
Gen Generalisation relations sm associates statemachines to all classes inter-object communications are compliant to the class
OMEGA Workshop – Grenoble February 17, 2005 13
IST-2001-33522
OMEGA Workshop – Grenoble February 17, 2005 14
IST-2001-33522 Semantics of the Ω subset in terms of KL
Introduction of implicit attributes
Compiling away generalisation Replacing complex navigation
Compiling away composition Inlining methods of primitive
Flattening statecharts
OMEGA Workshop – Grenoble February 17, 2005 15
IST-2001-33522
Set of objects For every object
– Values of attributes – Statemachine configurations
For active objects
– Event queue
Information on synchronous calls (sender, receiver, return value,
status)
OMEGA Workshop – Grenoble February 17, 2005 16
IST-2001-33522
<c,i> ∈ O_id = C × Ν in formal semantics: no
in implementation:
OMEGA Workshop – Grenoble February 17, 2005 17
IST-2001-33522
Signal_queue empty a no pending operation
stable Process a transition
Dispatch event No locally enabled transition Accept method call Locally enabled transition
OMEGA Workshop – Grenoble February 17, 2005 18
IST-2001-33522
OMEGA Workshop – Grenoble February 17, 2005 19
IST-2001-33522
An extended subset of the standard profile anticipating on
Adds explicit semantics to the used concepts All concepts accessible at type level
time-related primitive types Time, Duration
time is external (not constraint by imperative constructs) mechanisms for measuring durations: timers, clocks Usage: part of action language
OMEGA Workshop – Grenoble February 17, 2005 20
IST-2001-33522
Express constraints on time progress Timed events: history of occurrences of identified state changes
Sending, receiving, consuming a signal Executing an action / a state machine transition
…
Constraints on duration between event occurrences
Basic time constraints (used as axioms) Derived time constraints (requirements to be verified)
Usages
Local constraints of classes and global constraints Event matching mechanism used in specialized <<observer>> classes
OMEGA Workshop – Grenoble February 17, 2005 21
IST-2001-33522
OMEGA Workshop – Grenoble February 17, 2005 22
IST-2001-33522
Definition of the Ω subset of UML
Rich subset of UML suitable for real time embedded systems
Definition of the kernel UML model
A simple and expressive operational subset of UML Formal semantics for the kernel language
Time extension for the kernel model
Simple and expressive time concepts and mechanisms Semantics for the time notions
Component model
Presentation in the kernel model of both internal and external
Inter-component coordination mechanisms: small prototype
Abstract semantics
Abstracting from the tool implementation details Allow compositional reasoning
OMEGA Workshop – Grenoble February 17, 2005 23
IST-2001-33522
Incomplete, we fully define the semantics of the selected subset
Tools: semantics choices rarely made explicit and deviations
OMEGA: explicit semantics and close to UML standard
Little focus on semantics, mainly a methodology on how getting
Addresses only the static part of UML Does not mention real-time
Does not treat statemachines Does not mention real-time
OMEGA Workshop – Grenoble February 17, 2005 24
IST-2001-33522