Semantic Considerations in OMEGA Omega Workshop Grenoble - 17 - - PowerPoint PPT Presentation

semantic considerations in omega
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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
slide-2
SLIDE 2

OMEGA Workshop – Grenoble February 17, 2005 2

OMEGA

IST-2001-33522

Contents

Motivation Ω-subset of UML

UML coverage

Semantics

Untimed Version Timing Extensions Further concepts

Conclusions

slide-3
SLIDE 3

OMEGA Workshop – Grenoble February 17, 2005 3

OMEGA

IST-2001-33522

Motivation

OMEGA global goal

Provide formal verification techniques for UML models

Requirements

“… select a sufficiently expressive sublanguage, allowing to capture real-time applications, and specify formal semantics of the chosen part of UML.”

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

points for compositional verification

slide-4
SLIDE 4

OMEGA Workshop – Grenoble February 17, 2005 4

OMEGA

IST-2001-33522

UML coverage

slide-5
SLIDE 5

OMEGA Workshop – Grenoble February 17, 2005 5

OMEGA

IST-2001-33522

Ω-subset: Class Constituents

Class interface {

All public attributes and operations All signal receptions All operation calls and signals

emitted to other objects

Class Operation

slide-6
SLIDE 6

OMEGA Workshop – Grenoble February 17, 2005 6

OMEGA

IST-2001-33522

Ω-subset: Class Relations

Generalization relation (multiple inheritance) with

Overriding operations and attributes (leading to

polymorphism)

Specialisation of signals

Association relation (with different multiplicity) of

the following three types:

Composition (a.k.a. strong aggregation) Aggregation (a.k.a. weak aggregation) Neighbour (is derived from the former associations)

slide-7
SLIDE 7

OMEGA Workshop – Grenoble February 17, 2005 7

OMEGA

IST-2001-33522

Association Definition

Kinds of multiplicity:

[n, n] = n∈N [0, n], [m, n] m< n ∈N [0, *] = *∉ N, [m, *] [m, m+1] = {m, m+1}

slide-8
SLIDE 8

OMEGA Workshop – Grenoble February 17, 2005 8

OMEGA

IST-2001-33522

Ω-subset: State Machines

s s3 s4 s2 s12 s11

t1 t2

2 Kinds of composite states:

concurrent (AND-states) sequential (OR-states)

Firing enabled transitions:

priority from the innermost

to the outermost

non-deterministic choice

between transitions with the same priority

Pseudo-states:

history connectors joint and fork connectors

are replaced by considering transitions with multiple sources and targets

source(t) target(t) trigger(t) [guard(t)] / effect(t)

slide-9
SLIDE 9

OMEGA Workshop – Grenoble February 17, 2005 9

OMEGA

IST-2001-33522

Activity Groups

. . .

One active object Several passive objects One thread of control . . . . . . asynchronous communication (by events)

slide-10
SLIDE 10

OMEGA Workshop – Grenoble February 17, 2005 10

OMEGA

IST-2001-33522

Semantic Coverage

Object-orientation

  • bject creation/destruction (with different object multiplicity), change of

communication topology, inheritance and polymorphism, “multithreading”.

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

changes

Non-deterministic choice, e.g. in transition firing or the order of the

executions in concurrent regions of a state machine

slide-11
SLIDE 11

OMEGA Workshop – Grenoble February 17, 2005 11

OMEGA

IST-2001-33522

Formal Semantics

slide-12
SLIDE 12

OMEGA Workshop – Grenoble February 17, 2005 12

OMEGA

IST-2001-33522

UML Ω -Model

A UML Ω-model is a tuple M = (C, A, Sig, c0, Assoc, Gen, sm)

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

interfaces

slide-13
SLIDE 13

OMEGA Workshop – Grenoble February 17, 2005 13

OMEGA

IST-2001-33522

Semantics

Symbolic Transition System

S = ( V , Θ, ρ) V typed set of variables Θ initial condition on variables ρ transition relation on variable valuations traces(S) set of infinite sequences of valuations of variables satisfying:

  • first valuation matches Θ
  • successor valuations satisfy ρ
slide-14
SLIDE 14

OMEGA Workshop – Grenoble February 17, 2005 14

OMEGA

IST-2001-33522 Semantics of the Ω subset in terms of KL

Preprocessing

Introduction of implicit attributes

and operations

Compiling away generalisation Replacing complex navigation

expressions

Compiling away composition Inlining methods of primitive

  • perations into state machines

Flattening statecharts

Ω-subset

Kernel language

slide-15
SLIDE 15

OMEGA Workshop – Grenoble February 17, 2005 15

OMEGA

IST-2001-33522

Semantics of Models

  • Given UML model M = (C, A, Sig, c0, Assoc, Gen, sm)
  • Associate to M a symbolic state transition diagram

SM = ( VM , ΘM, ρM)

  • VM is composed of
  • sys_conf (System Configuration) contains

Set of objects For every object

– Values of attributes – Statemachine configurations

For active objects

– Event queue

  • PRT (Pending Request Table)

Information on synchronous calls (sender, receiver, return value,

status)

  • ΘM defines initial configuration
  • One object of root class with its initial values
  • ρM the transition relation covers:
  • Effects of SM transitions
  • Object creation / destruction
  • Event disgarding
slide-16
SLIDE 16

OMEGA Workshop – Grenoble February 17, 2005 16

OMEGA

IST-2001-33522

System Configuration

Object Identities

<c,i> ∈ O_id = C × Ν in formal semantics: no

re-use of object id´s

in implementation:

  • bject_id´s are pointers

to memory

0 1 2 3 4 5 6 7

  • p1/
  • p2/
  • c6

status exe a1 7 a2 <c7,2> a3 3,1414 a4 <c0,1> Current state Signal queue <c6,3>

  • <<c5,0>,e2,<15,<c2,127>>>

<<c7,2>,e5,<<c7,1027>>> <<c19,989>,e29,<19>>

  • Deferred signals

sys_conf : C Ν Valuation of object system variables

slide-17
SLIDE 17

OMEGA Workshop – Grenoble February 17, 2005 17

OMEGA

IST-2001-33522

Execution Scheme

Signal_queue empty a no pending operation

stable Process a transition

Dispatch event No locally enabled transition Accept method call Locally enabled transition

Run-to-Completion Step:

  • at the level of one object
  • at the level of activity group

Decision whether to dispatch event

  • r accept method call based on

priorities (can be non-deterministic) Composition:

  • between objects within one

activity group

  • between activity groups
slide-18
SLIDE 18

OMEGA Workshop – Grenoble February 17, 2005 18

OMEGA

IST-2001-33522

Adding Real Time

slide-19
SLIDE 19

OMEGA Workshop – Grenoble February 17, 2005 19

OMEGA

IST-2001-33522

The timing framework

A specialisation of the UML SPT profile

An extended subset of the standard profile anticipating on

UML 2.0

Adds explicit semantics to the used concepts All concepts accessible at type level

Global time

time-related primitive types Time, Duration

Imperative constructs (UML 2.0) : time

dependent behavior

time is external (not constraint by imperative constructs) mechanisms for measuring durations: timers, clocks Usage: part of action language

slide-20
SLIDE 20

OMEGA Workshop – Grenoble February 17, 2005 20

OMEGA

IST-2001-33522

The timing framework (2)

Declarative constructs : timed events and constraints

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

To describe the semantics formally: State Transition Systems are extended to Timed Automata

slide-21
SLIDE 21

OMEGA Workshop – Grenoble February 17, 2005 21

OMEGA

IST-2001-33522

Conclusion

slide-22
SLIDE 22

OMEGA Workshop – Grenoble February 17, 2005 22

OMEGA

IST-2001-33522

Achievements

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

view of component

Inter-component coordination mechanisms: small prototype

implementations

Abstract semantics

Abstracting from the tool implementation details Allow compositional reasoning

slide-23
SLIDE 23

OMEGA Workshop – Grenoble February 17, 2005 23

OMEGA

IST-2001-33522

Comparison to other approaches

UML standard

Incomplete, we fully define the semantics of the selected subset

Semantics implemented in UML CASE tools

Tools: semantics choices rarely made explicit and deviations

from standard are frequent

OMEGA: explicit semantics and close to UML standard

ACCORD UML (S. Gerard / F. Terrier)

Little focus on semantics, mainly a methodology on how getting

an implementation

pUML UML formal semantics in Z

Addresses only the static part of UML Does not mention real-time

UML semantics in ASM (I. Ober)

Does not treat statemachines Does not mention real-time

slide-24
SLIDE 24

OMEGA Workshop – Grenoble February 17, 2005 24

OMEGA

IST-2001-33522

Thank you for your attention