embedded systems programming
play

Embedded Systems Programming Synchronous Model (Module 26) - PowerPoint PPT Presentation

Embedded Systems Programming Synchronous Model (Module 26) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Real-time Systems Lab, Computer Science and Engineering, ASU Actor-Oriented Design Object


  1. Embedded Systems Programming Synchronous Model (Module 26) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Real-time Systems Lab, Computer Science and Engineering, ASU

  2. Actor-Oriented Design  Object orientation: What flows through class name an object is data sequential control methods call return  Actor orientation: What flows through an object is data actor name streams data (state) parameters Input data Output data ports (http://ptolemy.eecs.berkeley.edu/presentations/04/Parc_Lee.ppt) Real-time Systems Lab, Computer Science and Engineering, ASU

  3. Actor Orientation vs. Object Orientation Actor oriented Object oriented TextToSpeech initialize(): void notify(): void isReady(): boolean getSpeech(): double[] OO interface definition gives actor-oriented interface definition procedures that have to be invoked in says “Give me text and I’ll give you an order not specified as part of the speech” interface definition.  Identified limitations of object orientation:  Says little or nothing about concurrency and time  Concurrency typically expressed with threads, monitors, semaphores  Components tend to implement low-level communication protocols  Re-use potential is disappointing (http://ptolemy.eecs.berkeley.edu/presentations/04/Parc_Lee.ppt) 2 Real-time Systems Lab, Computer Science and Engineering, ASU

  4. Example of an Actor-Oriented Framework Signal flow graph with linear, time-invariant components (http://ptolemy.eecs.berkeley.edu/pres entations/04/Parc_Lee.ppt) 3 Real-time Systems Lab, Computer Science and Engineering, ASU

  5. Synchronous Execution Model – Simulink  Block: an actor  Consists of some functionality and an arbitrary number of ports  can be pre-defined blocks from Simulink library, S-function blocks (writing your own function in C, Fortran, etc.), or subsystem blocks  S-functions are dynamically linked subroutines that the MATLAB interpreter can automatically load and execute  Signals connect block‘s ports to pass data between blocks  To calculate the values of the output ports based on the values of the input ports and the internal states.  Sample time: how often and when the functionality of a block is evaluated . 4 Real-time Systems Lab, Computer Science and Engineering, ASU

  6. Synchronous or Asynchronous (1)  Synchronous:  atomic reactions indexed by a global logical clock,  each reaction computes new events for its outputs based on its internal state and on the input values  the communication of all events between components occur synchronously during each reaction.  Cycles of reading inputs, computing reaction and producing outputs  Synchronous = 0-delay = within the same cycle  No interference between I/O and computation  Simulink? and other synchronous languages  Why?  deterministic semantics in the presence of concurrency. 5 Real-time Systems Lab, Computer Science and Engineering, ASU

  7. Synchronous or Asynchronous (2) A_1 A_2 a high priority task B arrives and receives inputs from A (from A_1 or A_2?) A_1 A_2 C B B A_1 A_2 C C B if Pri(A) > Pri(C)>Pri(B), depending upon the execution time of C, B may receive inputs from A_1 or A_2 6 Real-time Systems Lab, Computer Science and Engineering, ASU

  8. Synchronous or Asynchronous (3)  If execution time = 0, then the computation is determined by the order of arrivals, not the arrival instances, nor execution time  Can we memorize the arrival order and then fetch data from buffer A_1 A_2 C B B y_1 A_1 A_2 C C B y_1 y_2 7 Real-time Systems Lab, Computer Science and Engineering, ASU

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend