november 21, 2005 center for hybrid and embedded software systems tivadar szemethy, institute for...

1
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 H W CPU Netw ork H W CPU C om p. C om p. C om p. C om p. C om p. C om p. C om p. Implementation M C Component interaction model for analysis Component-Based Design Model M P Component interaction model using platform implementation model “Kernel” component interacti ons component interactio ns implemente d by platform Based on the component interaction Model of Computation Modeling the platform’s specific implementation of the MoC The formal semantics for the Model of Computation is well known, thus the interaction analysis model M C can be built. Less known is how to build M P 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: integer Capacity: integer IF :RootFolder system_decl :system_decl DFDatafl ow variable_decl :variable_decl _type: String=“integer” _type: String=“integer” _scope: String=“public” _scope: String=“public” Dfvar_de cl Match all Dataflow Objects (in DFK/System) with no variable_decl associated, and match all system_decls in IF Cardinality Cardinality = 0 = 0 Dataflow :Dataflow Capacity: integer Capacity: integer Dst: Node Input: Port system_decl :system_decl variable_decl :variable_decl _type: String=“integer” _type: String=“integer” _scope: String=“public” _scope: String=“public” Dfvar_de cl Src: Node Output: Port Src Dst DFDatafl ow Create a new variable_decl in system_decl and associate it with Dataflow variable_decl.name = Dataflow.name Hierarchical Blocks 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 Action 2 Match while exists i such that GFC(Action i ) == true Execute Action i end Action 1 Global Filter Condition for Action 1 Global Filter Condition for Action 2 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 Match Match Action 1 Action 2 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.

Upload: elwin-warren

Post on 28-Dec-2015

218 views

Category:

Documents


2 download

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.