Click here to load reader
Upload
polly-butler
View
216
Download
1
Embed Size (px)
Citation preview
A Pattern for DRE-s: The MultiGraph Model of Computation
Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits
Institute for Software-Integrated Systems
Vanderbilt University
Nashville, TN 37235, USA
The Challenge of DRE-sEmbedded in a physical environment How to express the interaction with the
environment?
Real-time with strict time-domain behavior How to ensure that timing properties are
satisfied?
Distributed across multiple platforms How to support distribution in a natural way?
The Needs of DRE-sA component model based on concurrent objects with ports with precisely defined model of computationArchitectural patterns for system composition and component distribution
Control flow and data flow Encapsulation of physical interfaces
Simple yet precise rules for calculating time-domain behaviorComputational modes:
Data-driven + Time-driven + Event-driven
Dynamic instantiation and reconfiguration of data-flows in an object network
MultiGraph Model of Computation
Objects: Actor nodes (script, context, and ports) Data nodes (stream and scalar)
Control paradigm: Control flow is tightly coupled with data flow Data/event propagation Request propagation
Time-driven behaviorSynchronization with external events
Multigraph Model of Computation
Context
ScriptContext
Script
Actor:
Data:
Context
Script
Context
Script
Context
Script
Data/Event flow
Request flow
MultiGraph Model of Computation
Context
Script
Actor•Computational•Real-time (I/O synchronized)
•2 scripts: Start & Finish•Timer (periodic or delay)•AND/OR control discipline
Data•Stream vs scalar•Multiple readers and writers
MultiGraph Model of Computation
Implementation
Context
Script
Context
Script
Context
Script
Context
Script
Multigraph Kernel/Middleware
Script API
Builder API
Control API
OS Resources (processors/processes/threads/etc)
Patterns with MCM
Context
Script
Context
Script
Simple forward flow
TContext
Script
I/OContext
Script
IO triggered by timer
Start I/O
Data
Data
Context
Script
Context
Script
Data
Context
ScriptProcessor boundary
Distributor proxy
Patterns with MCM
Context
Script
Context
Script
Downsampler
TContext
Script
I/OContext
ScriptIO with timeout
Sample
Data(blocked) Data
Context
Script
Start I/O
TContext
Script
Delay timer
Data
Kill
Data
MCM Reconfiguration Support
Builder and control APIs are available to scriptsOperations for Block/unblock data nodes Enable/disable actor nodes Connect/disconnect Empty queues
Context
Script
Context
Script
Context
Script
Summary
MCM is an architectural pattern that offers coordination services in a dataflow-style computing metaphorSuitable for implementing various communication and coordination patternsApps: Control system integration platform High-performance signal processing