Transcript
Page 1: November 21, 2005 Center for Hybrid and Embedded Software Systems Tivadar Szemethy, Institute for Software Integrated Systems, Vanderbilt University A

November 21, 2005 Center for Hybrid and Embedded Software Systems

Tivadar Szemethy, Institute for Software Integrated Systems, Vanderbilt University

A Declarative Language for Platform Modeling

Formal Platform Models enable the construction of analysis automata for verification

Platform

HW CPU

Network

HW CPU

Comp.

Comp.

Comp. Comp.

Comp.

Comp. Comp.

Implementation

MC Component interaction model for

analysis

Component-Based Design Model

MP Component interaction model using platform

implementation model

“Kernel”

component interactions

component interactions implemented by platform

Based on the component interaction

Model of Computation

Modeling the platform’s

specific implementatio

n of the MoC

The formal semantics for the Model of Computation is well known, thus the interaction analysis model MC can

be built. Less known is how to build MP according to a specific

platform.The Platform Modeling Language (PML) is a declarative formalism to capture platform entity → analysis automaton structure mappings

Filter Conditions (patterns) for

element selection and local context

designation.

DFK:RootFolder

System:System

Dataflow:Dataflow

Capacity: integerCapacity: integer

IF:RootFolder

system_decl:system_decl

DFDataflow

variable_decl:variable_decl

_type: String=“integer”_type: String=“integer”_scope: String=“public”_scope: String=“public”

Dfvar_declMatch all Dataflow

Objects (in DFK/System) with no variable_decl associated, and

match all system_decls in IF

Cardinality= 0Cardinality= 0

Dataflow:Dataflow

Capacity: integerCapacity: integerDst:Node

Input:Port

system_decl:system_decl

variable_decl:variable_decl

_type: String=“integer”_type: String=“integer”_scope: String=“public”_scope: String=“public”

Dfvar_decl

Src:Node

Output:Port

Src Dst

DFDataflow

Create a new variable_decl

in system_decl

and associate it

with Dataflowvariable_decl.name

= Dataflow.name

HierarchicalBlocks

for organization

Actions to create elements and manipulate attributes

Cross-model Associations and temporary

objects

PML uses UML notation, based on source and target metamodel entities

PML Semantics

Match

Action2Match

while exists i such that

GFC(Actioni) == true

Execute Actioni

end

Action1

Global Filter Condition for

Action1

Global Filter Condition for

Action2

Block hierarchy to process DFK nodes

Match all Nodes in a System and

the DFK

DFK:RootFolder

System:System

IF:RootFolder

system_decl:system_decl

Node:Node

Sub-Block to map Methods within a

node

DFK:process_decl

_initInstances: integer=0_initInstances: integer=0

DFK._initInstances = 1

system_decl:system_decl

RunNode:state

DFK:process_decl

_initInstances: integer=0_initInstances: integer=0

Node_proc:process_decl

_initInstances: integer=0_initInstances: integer=0

Node:Node

Node_proc.name = Node.name

Node:Node

Node_proc:process_decl

_initInstances: integer=0_initInstances: integer=0

Method:Method

Match Methods within the Node

matched previously

Method:Method

Node:Node

Node Proc

Node

Proc

RunMethod:state

RM

Method

Idle:state

Idle:state

goIdle:transition

goIdle:transition

Idle:state

MatchMatch

Action1

Action2

PML Example

Actions within the block can refer to the objects matched by the Filter condition.

Matches are propagated to sub-

blocks.

The concepts of PML have been tested in the GME modeling environment by

mapping a PML model onto an equivalent graph transformation

specification using the GReAT graph transformation engine.

Top Related