Model-Based Autosynthesis of Time-Triggered Buffers for Event-Based - - PowerPoint PPT Presentation

model based autosynthesis of time triggered buffers for
SMART_READER_LITE
LIVE PREVIEW

Model-Based Autosynthesis of Time-Triggered Buffers for Event-Based - - PowerPoint PPT Presentation

Introduction Background Approach Conclusion Model-Based Autosynthesis of Time-Triggered Buffers for Event-Based Middleware Systems Jonathan Sprinkle 1 and Brandon Eames 2 October 25, 2009 1 University of Arizona, sprinkle@ECE.Arizona.Edu 2


slide-1
SLIDE 1

Introduction Background Approach Conclusion

Model-Based Autosynthesis of Time-Triggered Buffers for Event-Based Middleware Systems

Jonathan Sprinkle1 and Brandon Eames2 October 25, 2009

1University of Arizona, sprinkle@ECE.Arizona.Edu 2Utah State University, beames@usu.engineering.edu Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 1

slide-2
SLIDE 2

Introduction Background Approach Conclusion

Outline I

1

Introduction The Domain Autonomous Ground Vehicles UA Autonomous Ground Vehicles Issues and Solutions

2

Background Publish/Subscribe Methods Time-Triggered Methods Domain Semantics

3

Approach Triggers and Generators: Semantics Transformation Results: How they will look Semantics The Transformation Definitions

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 2

slide-3
SLIDE 3

Introduction Background Approach Conclusion

Outline II

4

Conclusion Implementation Feasibility Impact on Existing Examples Future/Ongoing Work References

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 3

slide-4
SLIDE 4

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 4

slide-5
SLIDE 5

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 5

slide-6
SLIDE 6

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 6

slide-7
SLIDE 7

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 7

slide-8
SLIDE 8

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 8

slide-9
SLIDE 9

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 9

slide-10
SLIDE 10

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 10

slide-11
SLIDE 11

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 11

slide-12
SLIDE 12

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 12

slide-13
SLIDE 13

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 13

slide-14
SLIDE 14

Introduction Background Approach Conclusion The Domain

What domain is this anyway?

Autonomous Ground Vehicles

Complex, cyber-physical systems Robotics, control, software, and information experts required

Component-based middleware

Networked, real-time and soft real-time components High bandwidth and low bandwidth components Simple, component model

Effort

Many domain experts, few programming experts Heterogeneous models of computation Experience in information only domain does not directly translate

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 14

slide-15
SLIDE 15

Introduction Background Approach Conclusion UA Autonomous Ground Vehicles Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 15

slide-16
SLIDE 16

Introduction Background Approach Conclusion UA Autonomous Ground Vehicles

Sydney-Berkeley Driving Team

Link to online movie.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 16

slide-17
SLIDE 17

Introduction Background Approach Conclusion Issues and Solutions

Domain Difficulties

Robotics software in general

Individual task complexity and dynamic real-time nature [1] Generalization of algorithms nontrivial Large number of software contributors Distributed, cross-platform computing environments are non-intuitive for domain experts

Individual projects

Necessity of regression tests [2] Simulation complexity increases dramatically when realistic simulations used

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 17

slide-18
SLIDE 18

Introduction Background Approach Conclusion Issues and Solutions

Domain Difficulties

Robotics software in general

Individual task complexity and dynamic real-time nature [1] Generalization of algorithms nontrivial Large number of software contributors Distributed, cross-platform computing environments are non-intuitive for domain experts

Individual projects

Necessity of regression tests [2] Simulation complexity increases dramatically when realistic simulations used

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 18

slide-19
SLIDE 19

Introduction Background Approach Conclusion Issues and Solutions

Domain Difficulties

Robotics software in general

Individual task complexity and dynamic real-time nature [1] Generalization of algorithms nontrivial Large number of software contributors Distributed, cross-platform computing environments are non-intuitive for domain experts

Individual projects

Necessity of regression tests [2] Simulation complexity increases dramatically when realistic simulations used

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 19

slide-20
SLIDE 20

Introduction Background Approach Conclusion Issues and Solutions

Domain Difficulties

Robotics software in general

Individual task complexity and dynamic real-time nature [1] Generalization of algorithms nontrivial Large number of software contributors Distributed, cross-platform computing environments are non-intuitive for domain experts

Individual projects

Necessity of regression tests [2] Simulation complexity increases dramatically when realistic simulations used

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 20

slide-21
SLIDE 21

Introduction Background Approach Conclusion Issues and Solutions

Domain Difficulties

Robotics software in general

Individual task complexity and dynamic real-time nature [1] Generalization of algorithms nontrivial Large number of software contributors Distributed, cross-platform computing environments are non-intuitive for domain experts

Individual projects

Necessity of regression tests [2] Simulation complexity increases dramatically when realistic simulations used

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 21

slide-22
SLIDE 22

Introduction Background Approach Conclusion Issues and Solutions

Domain Difficulties

Robotics software in general

Individual task complexity and dynamic real-time nature [1] Generalization of algorithms nontrivial Large number of software contributors Distributed, cross-platform computing environments are non-intuitive for domain experts

Individual projects

Necessity of regression tests [2] Simulation complexity increases dramatically when realistic simulations used

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 22

slide-23
SLIDE 23

Introduction Background Approach Conclusion Issues and Solutions

Domain Difficulties

Robotics software in general

Individual task complexity and dynamic real-time nature [1] Generalization of algorithms nontrivial Large number of software contributors Distributed, cross-platform computing environments are non-intuitive for domain experts

Individual projects

Necessity of regression tests [2] Simulation complexity increases dramatically when realistic simulations used

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 23

slide-24
SLIDE 24

Introduction Background Approach Conclusion Issues and Solutions

Domain Difficulties

Robotics software in general

Individual task complexity and dynamic real-time nature [1] Generalization of algorithms nontrivial Large number of software contributors Distributed, cross-platform computing environments are non-intuitive for domain experts

Individual projects

Necessity of regression tests [2] Simulation complexity increases dramatically when realistic simulations used

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 24

slide-25
SLIDE 25

Introduction Background Approach Conclusion Issues and Solutions

Middleware Solutions

Middleware and component-based technologies facilitate the abstraction of communication, and location of computation. CORBA ICE Distributed Real-Time Embedded Systems Composition of such systems a subject of significant effort by Schmidt et al. The CoSMIC Toolsuite [3] can

1

model and analyze DRE application functionality and QoS requirements

2

synthesize CCM-specific deployment metadata for end-to-end QoS (static and dynamic)

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 25

slide-26
SLIDE 26

Introduction Background Approach Conclusion Issues and Solutions

So what happens?

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 26

slide-27
SLIDE 27

Introduction Background Approach Conclusion Issues and Solutions

How is this problematic?

In a Publish/Subscribe framework, this design can be fragile, if continuous/control systems are involved. Changes in the discrete execution may result in unstable dynamics.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 27

slide-28
SLIDE 28

Introduction Background Approach Conclusion

Outline I

1

Introduction The Domain Autonomous Ground Vehicles UA Autonomous Ground Vehicles Issues and Solutions

2

Background Publish/Subscribe Methods Time-Triggered Methods Domain Semantics

3

Approach Triggers and Generators: Semantics Transformation Results: How they will look Semantics The Transformation Definitions

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 28

slide-29
SLIDE 29

Introduction Background Approach Conclusion

Outline II

4

Conclusion Implementation Feasibility Impact on Existing Examples Future/Ongoing Work References

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 29

slide-30
SLIDE 30

Introduction Background Approach Conclusion Publish/Subscribe Methods

Pub/Sub Overview

Publish/Subscribe is a common model of communication used for data interchange between components. A component c1 will subscribe to another component’s production of a particular data value Subscription uses services offered by the middleware. Middleware ensures that all subscribers receive the value once it is produced Event-based components generally execute on new data, or after some time if a token is not received Explicit support for this model provided by Ice [4], DDS [5], and CORBA [6].

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 30

slide-31
SLIDE 31

Introduction Background Approach Conclusion Publish/Subscribe Methods

Why Time is Important

t0 t1 t2 t → ∞ τe ωc1 x1 y1

c1

x1 y1

c1

x1 y1

c1

Figure: Messages (tokens) arrive before the timeout.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 31

slide-32
SLIDE 32

Introduction Background Approach Conclusion Publish/Subscribe Methods

Why Time is Important

t0 t1 t2 t → ∞ τe ωc1 x1 y1

c1

x1 y1

c1

x1 y1

c1

Figure: Messages (tokens) arrive before the timeout.

x1 y1

c1

x1 y1

c1

x1 y1

c1

t0 t1 t2 t → ∞ τe ωc1 x1 y1

c1

x1 y1

c1

t3 t4 ωc1 τx1

Figure: Behavior when no token arrives prior to timeout.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 32

slide-33
SLIDE 33

Introduction Background Approach Conclusion Publish/Subscribe Methods

Message Chattering

c1 c2 f1(x1(t0)) = e(y1(t1)) ωc2 e(x1(t2)) ωc1 t0 t1 t2 t → ∞ t3 e(x1(t1)) e(y1(t2)) = f2(x1(t1)) f1(x1(t2)) = e(y1(t3)) e(x1(t3))

Figure: Proper timing results in expected behavior.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 33

slide-34
SLIDE 34

Introduction Background Approach Conclusion Publish/Subscribe Methods

Message Chattering

c1 c2 f1(x1(t0)) = e(y1(t1)) ωc2 e(x1(t2)) ωc1 t0 t1 t2 t → ∞ t3 e(x1(t1)) e(y1(t2)) = f2(x1(t1)) f1(x1(t2)) = e(y1(t3)) e(x1(t3))

Figure: Proper timing results in expected behavior.

c1 c2 ωc2 ωc1 τc1 ωc1 ωc1 ωc2 t0 t1 t2 t → ∞ t3 t4 t5 t6 t7 t8 after(τc1) f1(x1(t0)) = e(y1(t1)) e(y1(t3)) = f2(x1(t1)) e(x1(t1)) f1(x1(t0)) = e(y1(t4)) e(x1(t3)) e(x1(t4)) e(y1(t5)) = f2(x1(t4)) e(x1(t5)) f1(x1(t3)) = e(y1(t6)) e(x1(t6))

Figure: Improper timing results in “message chattering”.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 34

slide-35
SLIDE 35

Introduction Background Approach Conclusion Time-Triggered Methods

What are T-T Methods?

Time-Triggered execution means that stages of execution occur at particular times. Useful for distributed/embedded problems with real-time constraints Frameworks such as Giotto [7, 8] provide formalisms for capturing design issues Component models [9] support the development of these formalisms in RT systems Foundation of the component models it the concepts of a Logical Execution Time (LET). Similar semantics are used by TTA [10] and TTP [11], but allows shared memory

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 35

slide-36
SLIDE 36

Introduction Background Approach Conclusion Domain Semantics

Goals of T-T Methods

Time-Triggered methods enable rapid isolation of component or subsystem failures. With known timing of communication, potential failures can be identified in less than one clock cycle, and fault mitigation/isolation can begin. TT methods also enable isolation of an algorithm from the platform on which it runs, enabling structured composition (at the price of some latency) [12].

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 36

slide-37
SLIDE 37

Introduction Background Approach Conclusion

Outline I

1

Introduction The Domain Autonomous Ground Vehicles UA Autonomous Ground Vehicles Issues and Solutions

2

Background Publish/Subscribe Methods Time-Triggered Methods Domain Semantics

3

Approach Triggers and Generators: Semantics Transformation Results: How they will look Semantics The Transformation Definitions

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 37

slide-38
SLIDE 38

Introduction Background Approach Conclusion

Outline II

4

Conclusion Implementation Feasibility Impact on Existing Examples Future/Ongoing Work References

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 38

slide-39
SLIDE 39

Introduction Background Approach Conclusion Triggers and Generators: Semantics

Our Contribution

This paper gives a generic algorithm that converts a standard, event-based distributed system into an event-based distributed system whose execution is “throttled” by time events. This permits component software to remain fully unchanged, and execute in a more precise, more predictable, manner.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 39

slide-40
SLIDE 40

Introduction Background Approach Conclusion Triggers and Generators: Semantics

Language Design

We leveraged a simultaneously developed language [13] to capture data from the various configuration files, as well as the component interconnection, using the GME toolsuite [14].

Figure: Metamodel

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 40

slide-41
SLIDE 41

Introduction Background Approach Conclusion Triggers and Generators: Semantics

A few comments

The language design bears some minor emphasis in a few points:

1 Connections between components are through strong types of

provided/required interfaces

2 Directional associations restrict misconstructions 3 Components can be connected to references of other

components (to permit reuse of all parameters)

4 The configuration space can be hierarchically managed 5 The execution platform can be specified in another aspect

(not shown in this metamodel, for brevity)

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 41

slide-42
SLIDE 42

Introduction Background Approach Conclusion Triggers and Generators: Semantics

A few comments

The language design bears some minor emphasis in a few points:

1 Connections between components are through strong types of

provided/required interfaces

2 Directional associations restrict misconstructions 3 Components can be connected to references of other

components (to permit reuse of all parameters)

4 The configuration space can be hierarchically managed 5 The execution platform can be specified in another aspect

(not shown in this metamodel, for brevity)

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 42

slide-43
SLIDE 43

Introduction Background Approach Conclusion Triggers and Generators: Semantics

A few comments

The language design bears some minor emphasis in a few points:

1 Connections between components are through strong types of

provided/required interfaces

2 Directional associations restrict misconstructions 3 Components can be connected to references of other

components (to permit reuse of all parameters)

4 The configuration space can be hierarchically managed 5 The execution platform can be specified in another aspect

(not shown in this metamodel, for brevity)

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 43

slide-44
SLIDE 44

Introduction Background Approach Conclusion Triggers and Generators: Semantics

A few comments

The language design bears some minor emphasis in a few points:

1 Connections between components are through strong types of

provided/required interfaces

2 Directional associations restrict misconstructions 3 Components can be connected to references of other

components (to permit reuse of all parameters)

4 The configuration space can be hierarchically managed 5 The execution platform can be specified in another aspect

(not shown in this metamodel, for brevity)

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 44

slide-45
SLIDE 45

Introduction Background Approach Conclusion Triggers and Generators: Semantics

A few comments

The language design bears some minor emphasis in a few points:

1 Connections between components are through strong types of

provided/required interfaces

2 Directional associations restrict misconstructions 3 Components can be connected to references of other

components (to permit reuse of all parameters)

4 The configuration space can be hierarchically managed 5 The execution platform can be specified in another aspect

(not shown in this metamodel, for brevity)

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 45

slide-46
SLIDE 46

Introduction Background Approach Conclusion Triggers and Generators: Semantics

Benefits of this design

With these points, the following benefits are enabled:

1 Data dependencies can be analyzed at design time 2 System startup order can be computed, rather than a design

input

3 Execution platform can be changed without changing

component definition/configuration

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 46

slide-47
SLIDE 47

Introduction Background Approach Conclusion Triggers and Generators: Semantics

Benefits of this design

With these points, the following benefits are enabled:

1 Data dependencies can be analyzed at design time 2 System startup order can be computed, rather than a design

input

3 Execution platform can be changed without changing

component definition/configuration

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 47

slide-48
SLIDE 48

Introduction Background Approach Conclusion Triggers and Generators: Semantics

Benefits of this design

With these points, the following benefits are enabled:

1 Data dependencies can be analyzed at design time 2 System startup order can be computed, rather than a design

input

3 Execution platform can be changed without changing

component definition/configuration

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 48

slide-49
SLIDE 49

Introduction Background Approach Conclusion Transformation Results: How they will look

Example Transformation

Req

C3

Req Pro

C2

Pro Pro

C1

Figure: Example depends on internal timeouts, if no data are received.

Req

C3

InB Tim Out

C3IPBuf

Pro Pro

C1

InB Tim Out

C2IPBuf

Pro

C2InputTrigger

Pro

C3InputTrigger

Req Pro

C2

Figure: Time-triggered buffers inserted, instead of timeout values.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 49

slide-50
SLIDE 50

Introduction Background Approach Conclusion Transformation Results: How they will look

Example Transformation

Req

C3

Req Pro

C2

Pro Pro

C1

Figure: Example depends on internal timeouts, if no data are received.

Req

C3

InB Tim Out

C3IPBuf

Pro Pro

C1

InB Tim Out

C2IPBuf

Pro

C2InputTrigger

Pro

C3InputTrigger

Req Pro

C2

Figure: Time-triggered buffers inserted, instead of timeout values.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 50

slide-51
SLIDE 51

Introduction Background Approach Conclusion Semantics

SISO

Consider a component, c1, with a single input, x1, and single

  • utput, y1.

The value y1 is obtained as the output of the functional behavior

  • f the component, which may also be written in difference

equation form as y1(k + 1) = f(x1(k)), demonstrating the discrete notion of the software component, and our ability to encode y, x as signals in time (specifically, discrete time)3.

3Of course, the internal state of an object can affect this outcome, but

externally the interface is as presented.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 51

slide-52
SLIDE 52

Introduction Background Approach Conclusion Semantics

Simple SISO Execution

t0 t1 t2 ∞ τe ωc1 x1 y1

c1

x1 y1

c1

x1 y1

c1

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 52

slide-53
SLIDE 53

Introduction Background Approach Conclusion Semantics

When Properly Coupled with another SISO Component

c1 c2 f1(x1(t0)) = e(y1(t1)) ωc2 e(x1(t2)) ωc1 t0 t1 t2 ∞ t3 e(x1(t1)) e(y1(t2)) = f2(x1(t1)) f1(x1(t2)) = e(y1(t3)) e(x1(t3))

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 53

slide-54
SLIDE 54

Introduction Background Approach Conclusion Semantics

Simple SISO Execution w/ Timeout

x1 y1

c1

x1 y1

c1

x1 y1

c1

t0 t1 t2 t → ∞ τe ωc1 x1 y1

c1

x1 y1

c1

t3 t4 ωc1 τx1

This is fine for standalone devices, such as those reading from a piece of hardware, or waiting for human input. However, for communicating devices, this could be disastrous, if the timeouts are not properly set.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 54

slide-55
SLIDE 55

Introduction Background Approach Conclusion Semantics

Coupled SISO Components

x1 y1

c1

x1 y1

c2

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 55

slide-56
SLIDE 56

Introduction Background Approach Conclusion Semantics

Improperly Timed SISO Coupling

c1 c2 ωc2 ωc1 τc1 ωc1 ωc1 ωc2 t0 t1 t2 ∞ t3 t4 t5 t6 t7 t8 after(τc1) f1(x1(t0)) = e(y1(t1)) e(y1(t3)) = f2(x1(t1)) e(x1(t1)) f1(x1(t0)) = e(y1(t4)) e(x1(t3)) e(x1(t4)) e(y1(t5)) = f2(x1(t4)) e(x1(t5)) f1(x1(t3)) = e(y1(t6)) e(x1(t6))

Note that the output at time t4 from component c1 is the same output from time t1!! Likewise, for t3, t6

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 56

slide-57
SLIDE 57

Introduction Background Approach Conclusion Semantics

Unifying Behavioral Model

after(τx1) e(x1) last1 = x1 x1 = last1 y1 = f(x1) block(x1) bc(x1,τx1)

Where bc refers to “Block and Continue.”

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 57

slide-58
SLIDE 58

Introduction Background Approach Conclusion Semantics

Trigger Generator

Definition

A trigger component produces, at specific times or rates, a special token whose data is the time at which the token was generated. The structure is a single output port.

y1

Tri Tokens are produced on the port according to some internal parameters specified for the component, which include wait time, w, start modulus, m, and period, T. Usually, either w or m is specified, and once that time arrives a token is produced, and another token is produced every T seconds.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 58

slide-59
SLIDE 59

Introduction Background Approach Conclusion Semantics

Buffer Components

Definition

A buffer component, Cb provides an integer number of outputs, j, with inputs k = j + 1. The j output ports match to the j inputs

  • f some existing component being buffered, Ca. Values, when

received by an input, are queued by Cb.

x1 x1 y1 x0 x0

cb ca

y1 y0 xt From Tri

The input xt subscribes to the single output port of some Tri

  • component. When a token is received on xt, the queued data

values are sent to yi...N such that they can be received by ca.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 59

slide-60
SLIDE 60

Introduction Background Approach Conclusion The Transformation Definitions

Transformation: Event→Time

Our transformation modifies an existing graph, and permits existing components to execute with no behavioral changes. The

  • nly changes to the system are:

the topological rewrite; and the insertion of new buffered components along with their time-based triggers.

Req

C3

InB Tim Out

C3IPBuf

Pro Pro

C1

InB Tim Out

C2IPBuf

Pro

C2InputTrigger

Pro

C3InputTrigger

Req Pro

C2

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 60

slide-61
SLIDE 61

Introduction Background Approach Conclusion The Transformation Definitions

Transformation: Event→Time

Our transformation modifies an existing graph, and permits existing components to execute with no behavioral changes. The

  • nly changes to the system are:

the topological rewrite; and the insertion of new buffered components along with their time-based triggers.

Req

C3

InB Tim Out

C3IPBuf

Pro Pro

C1

InB Tim Out

C2IPBuf

Pro

C2InputTrigger

Pro

C3InputTrigger

Req Pro

C2

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 61

slide-62
SLIDE 62

Introduction Background Approach Conclusion The Transformation Definitions

Methodology

Our methodology is as follows:

1 examine an existing component interconnection graph; 2 insert time-triggered buffer(s); 3 insert timed event-generator(s) for each buffer

The rewriting rules are trivial, when specified using the GReAT rewriting language [15].

In Out

FindScenarioComponents

Sce Com In

CreateBufferPorts

In Sce Com Buf

CreateInputBuffers In

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 62

slide-63
SLIDE 63

Introduction Background Approach Conclusion The Transformation Definitions

Methodology

Our methodology is as follows:

1 examine an existing component interconnection graph; 2 insert time-triggered buffer(s); 3 insert timed event-generator(s) for each buffer

The rewriting rules are trivial, when specified using the GReAT rewriting language [15].

In Out

FindScenarioComponents

Sce Com In

CreateBufferPorts

In Sce Com Buf

CreateInputBuffers In

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 63

slide-64
SLIDE 64

Introduction Background Approach Conclusion The Transformation Definitions

  • 2. Insert time-triggered buffer components

SetNames In Buffer Component Scenario

Required Simulation::RequiredInterface RequiredTriggerPort Simulation::RequiredInterface InputBuffer Simulation::Component Platform : String="local" COMP_TAG : String OrcaCall : String Endpoints : String="tcp -t 5000" Scenario Simulation::Scenairo Name : String Component Simulation::Component Platform : String="local" COMP_TAG : String OrcaCall : String Endpoints : String="tcp -t 5000" Trigger Simulation::Component Platform : String="local" COMP_TAG : String OrcaCall : String Endpoints : String="tcp -t 5000" ProvidedTrigger Simulation::ProvidedInterface Name : String Connection Simulation::Connection

dstConnection 0..* srcConnection 0..*

Figure: An example Transformation Specification (2).

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 64

slide-65
SLIDE 65

Introduction Background Approach Conclusion The Transformation Definitions

  • 3. Create Buffer Ports

PatternClass Simulation::Scenairo Name : String Existing2Buffer Simulation::Connection InPort Simulation::RequiredInterface InputBuffer Simulation::Component Platform : String="local" COMP_TAG : String OrcaCall : String Endpoints : String="tcp -t 5000" Provided Simulation::ProvidedInterface Name : String Connection Simulation::Connection Component Simulation::Component Platform : String="local" COMP_TAG : String OrcaCall : String Endpoints : String="tcp -t 5000" OutPort Simulation::ProvidedInterface Name : String Required Simulation::RequiredInterface Buffer2Existing Simulation::Connection

In Component Scenario NameInOuts

dstConnection 0..* srcConnection 0..* dstConnection 0..* srcConnection 0..* dstConnection 0..* srcConnection 0..*

Figure: An example Transformation Specification (3).

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 65

slide-66
SLIDE 66

Introduction Background Approach Conclusion The Transformation Definitions

A significant example

Req Pro

C2

Req Req Pro

C3

Req Req

C4

Req Req Pro

C6

Pro Pro

C1

Req

Component

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 66

slide-67
SLIDE 67

Introduction Background Approach Conclusion The Transformation Definitions

Transformed Results

InB InB Tim Out Out

C4IPBuf

Pro Pro

C1

TT

C3InputTrigger

InB Tim Out

ComponentIPBuf

TT

C2InputTrigger

InB Tim Out

C2IPBuf

Req

Component

TT

ComponentInputTrigger

InB InB Tim Out Out

C6IPBuf

TT

C4InputTrigger

InB InB Tim Out Out

C3IPBuf

Req Req Pro

C3

Req Req

C4

TT

C6InputTrigger

Req Req Pro

C6

Req Pro

C2

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 67

slide-68
SLIDE 68

Introduction Background Approach Conclusion

Outline I

1

Introduction The Domain Autonomous Ground Vehicles UA Autonomous Ground Vehicles Issues and Solutions

2

Background Publish/Subscribe Methods Time-Triggered Methods Domain Semantics

3

Approach Triggers and Generators: Semantics Transformation Results: How they will look Semantics The Transformation Definitions

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 68

slide-69
SLIDE 69

Introduction Background Approach Conclusion

Outline II

4

Conclusion Implementation Feasibility Impact on Existing Examples Future/Ongoing Work References

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 69

slide-70
SLIDE 70

Introduction Background Approach Conclusion Implementation Feasibility

Real-Time Performance

Empirical results from our work shows that using a pthreads [16] enabled operating system4 (but not a real-time OS) results in a variance in expected time generation of approximately 2-3

  • milliseconds. On a real-time OS5, the variance is less than 1 ms

4Linux flavors Kubuntu and Gentoo were used. 5QNX was used for the RTOS. Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 70

slide-71
SLIDE 71

Introduction Background Approach Conclusion Future/Ongoing Work

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 vmware (1c) core2duo quad core 2x quad core 2x quad core Machine Probability of Success Basicsim Letsim

Figure: Related Example: System Failure for Autonomous Vehicle Technology

This example showed the feasibility of using TT buffers/triggers for

  • nly a single component. All this work was performed by hand

(laborious), now we can move on to see whether a widespread use will equalize success regardless of processor.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 71

slide-72
SLIDE 72

Introduction Background Approach Conclusion Future/Ongoing Work

Generalization to MIMO Systems

For brevity, we mention that the approach, and issues, for SISO systems can be generalized for MIMO systems (we showed this in the example). Due to the scope of the workshop, we leave this discussion to future papers in the domain, rather than the language elements of

  • ur work.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 72

slide-73
SLIDE 73

Introduction Background Approach Conclusion Future/Ongoing Work

Autogenerate Buffer Code

Buffers are added as Component objects, and the executable for this object can be generically synthesized based on the number of input/output ports, and the semantics chosen. We leave this detailed discussion to future papers, and concentrate instead on their insertion based on context.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 73

slide-74
SLIDE 74

Introduction Background Approach Conclusion Future/Ongoing Work

Special Semantics for Buffers

In future work, we may provide a special semantics for buffers where the most recent value received (only) on each input port is passed to the output port. Our current semantics requires that if more than one value (or no value at all) is received by the buffer between triggers, then Ca is responsible for determining whether to use all, or only the most recent, values.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 74

slide-75
SLIDE 75

Introduction Background Approach Conclusion Future/Ongoing Work

This work supported by: Air Force Research Labs, under award #FA8750-08-1-0024, titled “MultiCore Hardware Experiments in Software Producibility.” National Science Foundation CNS-0930919, “Physical Modeling and Software Synthesis for Self-Reconfigurable Sensors in River Environments” Air Force Office of Scientific Research, #FA9550-091-0519, titled “Modeling of Embedded Human Systems.”

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 75

slide-76
SLIDE 76

Introduction Background Approach Conclusion References

  • A. Makarenko, A. Brooks, and T. Kaupp, “On the benefits of

making robotic software frameworks thin,” in IEEE/RSJ Int.

  • Conf. on Intelligent Robots and Systems (IROS’07) Workshop
  • n Measures and Procedures for the Evaluation of Robot

Architectures and Middleware (E. Prassler, K. Nilsson, and

  • A. Shakhimardanov, eds.), November 2007.
  • J. Sprinkle et al., “Model-based design: a report from the

trenches of the DARPA urban challenge,” Software and Systems Modeling, 2009.

  • D. Schmidt et al., “CoSMIC: An MDA generative tool for

distributed real-time and embedded component middleware and applications,” in OOPSLA 2002 Workshop on Generative Techniques in the Context of Model Driven Architecture, Seattle, WA, 2002.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 76

slide-77
SLIDE 77

Introduction Background Approach Conclusion References

  • M. Henning and M. Spruiell, Distributed Programming with

Ice. 3.3.1b ed., July 2009. Object Modeling Group, Data Distribution Service for Real-Time Systems, Version 1.2, formal/07-01-01 ed., January 2007.

  • D. Schmidt, D. Levine, and S. Mungee, “The design and

performance of real-time object request brokers,” Computer Communications, April 1998.

  • T. Henzinger, B. Horowitz, and C. Kirsch, “Giotto: a

time-triggered language for embedded programming,” Proceedings of the IEEE, vol. 91, pp. 84–99, Jan 2003.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 77

slide-78
SLIDE 78

Introduction Background Approach Conclusion References

  • T. A. Henzinger, C. M. Kirsch, and S. Matic, “Composable

code generation for distributed Giotto,” SIGPLAN Not.,

  • vol. 40, no. 7, pp. 21–30, 2005.
  • E. Farcas, C. Farcas, W. Pree, and J. Templ, “Transparent

distribution of real-time components based on logical execution time,” in LCTES ’05: Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, (New York, NY, USA),

  • pp. 31–39, ACM, 2005.
  • H. Kopetz and G. Bauer, “The time-triggered architecture,”

Proceedings of the IEEE, Special Issue on Modeling and Design of Embedded Software, Oct. 2001.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 78

slide-79
SLIDE 79

Introduction Background Approach Conclusion References

  • H. Kopetz and G. Grunsteidl, “Ttp - a time-triggered protocol

for fault-tolerant real-time systems,” in Proceedings of The Twenty-Third International Symposium on Fault-Tolderant Computing, vol. FTCS-23, 1993.

  • S. Matic and T. A. Henzinger, “Trading end-to-end latency for

composability,” Real-Time Systems Symposium, IEEE International, vol. 0, pp. 99–110, 2005.

  • A. Schuster and J. Sprinkle, “Synthesizing executable

simulations from structural models of component-based systems,” in 3rd International Workshop on Multi-Paradigm Modeling, October 2009.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 79

slide-80
SLIDE 80

Introduction Background Approach Conclusion References

  • A. Ledeczi, A. Bakay, M. Maroti, P. V˝
  • lgyesi, G. Nordstrom,
  • J. Sprinkle, and G. Karsai, “Composing domain-specific design

environments,” IEEE Computer, vol. 34, pp. 44–51, November 2001.

  • D. Balasubramanian, A. Narayanan, C. van Buskirk, and
  • G. Karsai, “The graph rewriting and transformation language:

GReAT,” Electronic Communications of the EASST, vol. 1, 2006.

  • B. Lewis and D. J. Berg, Multithreaded Programming With

PThreads. Prentice Hall PTR, 1997.

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 80

slide-81
SLIDE 81

Introduction Background Approach Conclusion References

We’re always looking for good graduate students.

http://ece.arizona.edu/

Sprinkle, Eames Model-Based Autosynthesis of TT Buffers/Event-Based Middleware. . . 81