10 likes | 126 Views
goIdle :transition. RunMethod :state. Method :Method. goIdle :transition. Action 1. Action 2. Action 1. Node: Node. Idle :state. RunNode :state. Idle :state. Node: Node. Idle :state. Node: Node. Node: Node. Dataflow :Dataflow. Src: Node. Capacity: integer.
E N D
goIdle:transition RunMethod:state Method:Method goIdle:transition Action1 Action2 Action1 Node:Node Idle:state RunNode:state Idle:state Node:Node Idle:state Node:Node Node:Node Dataflow:Dataflow Src:Node Capacity: integer system_decl:system_decl system_decl:system_decl system_decl:system_decl Output:Port Dfvar_decl variable_decl:variable_decl _type: String=“integer”_scope: String=“public” A Declarative Language for Platform Modeling Tivadar Szemethy, Institute for Software Integrated Systems, Vanderbilt University Formal Platform Models enable the construction of analysis automata for verification Block hierarchy to process DFK nodes PML Example Match all Nodes in a System and the DFK System:System DFK:RootFolder Node_proc:process_decl _initInstances: integer=0 Node Proc Based on the component interaction Model of Computation IF:RootFolder DFK:process_decl _initInstances: integer=0 Node_proc.name = Node.name DFK:process_decl _initInstances: integer=0 DFK._initInstances = 1 Match Methods within the Node matched previously Component-Based Design Model MC Component interaction model for analysis Match Match component interactions Modeling the platform’s specific implementation of the MoC Node Node_proc:process_decl _initInstances: integer=0 Sub-Block to map Methods within a node Proc Action2 Actions within the block can refer to the objects matched by the Filter condition. Matches are propagated to sub-blocks. Method:Method Method “Kernel” RM component interactions implemented by platform MP Component interaction model using platform implementation model PML Semantics Implementation 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. • while exists i such that GFC(Actioni) == true • Execute Actioni • end Match Global Filter Condition for Action1 The Platform Modeling Language (PML) is a declarative formalism to capture platform entity → analysis automaton structure mappings Match Global Filter Condition for Action2 Create a new variable_decl in system_decl and associate it with Dataflow HierarchicalBlocksfor organization System:System DFK:RootFolder Dataflow:Dataflow PML uses UML notation, based on source and target metamodel entities Dst:Node Capacity: integer DFDataflow DFDataflow IF:RootFolder Input:Port Filter Conditions(patterns) for element selection and local context designation. Src Dst Cross-model Associations and temporary objects variable_decl.name = Dataflow.name 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. Actions to create elements and manipulate attributes Match all Dataflow Objects (in DFK/System) with no variable_decl associated, and match all system_decls in IF Dfvar_decl variable_decl:variable_decl Cardinality= 0 system_decl:system_decl _type: String=“integer”_scope: String=“public” Center for Hybrid and Embedded Software Systems