november 21, 2005 center for hybrid and embedded software systems tivadar szemethy, institute for...
TRANSCRIPT
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.