12

Click here to load reader

A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

Embed Size (px)

Citation preview

Page 1: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

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

Page 2: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

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?

Page 3: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

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

Page 4: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

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

Page 5: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

Multigraph Model of Computation

Context

ScriptContext

Script

Actor:

Data:

Context

Script

Context

Script

Context

Script

Data/Event flow

Request flow

Page 6: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

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

Page 7: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

MultiGraph Model of Computation

Page 8: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

Implementation

Context

Script

Context

Script

Context

Script

Context

Script

Multigraph Kernel/Middleware

Script API

Builder API

Control API

OS Resources (processors/processes/threads/etc)

Page 9: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

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

Page 10: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

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

Page 11: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

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

Page 12: A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated

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