Study of Simulink™ Discrete System MOC with Metropolis Haiyang Zheng Mentors: Luciano Lavagno

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
Processes Management.
Undoing the Task: Moving Timing Analysis back to Functional Models Marco Di Natale, Haibo Zeng Scuola Superiore S. Anna – Pisa, Italy McGill University.
Control Flow Analysis (Chapter 7) Mooly Sagiv (with Contributions by Hanne Riis Nielson)
Simulation Verification of Different Constraints in System Level Design in SystemC Piyush Ranjan Satapathy CS220 Class Project Presentation.
Software Design Deriving a solution which satisfies software requirements.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Leveraging Synchronous Language Principles for Hybrid System Models Haiyang Zheng and.
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
Timed Simulation with Multiple Resource Schedulability Analysis Yang Zhao and Slobodan Matic University of California, BerkeleyDec 10, 2004.
Implementing Quantity Managers in Ptolemy II EE 290N Project Haibo Zeng Dec 10 th, 2004.
Metro II : A Next-Generation Framework for Platform-based Design Abhijit Davare, Douglas Densmore, Trevor Meyerowitz, Alessandro Pinto, Alberto Sangiovanni-Vincentelli,
CS189A/172 - Winter 2008 Lecture 7: Software Specification, Architecture Specification.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Query Execution Professor: Dr T.Y. Lin Prepared by, Mudra Patel Class id: 113.
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
SNAL Sensor Networks Application Language Alvise Bonivento Mentor: Prof. Sangiovanni-Vincentelli 290N project, Fall 04.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Algorithms. Introduction Before writing a program: –Have a thorough understanding of the problem –Carefully plan an approach for solving it While writing.
Carmine Cerrone, Raffaele Cerulli, Bruce Golden GO IX Sirmione, Italy July
1 Modeling continuous-time sub-systems in Metropolis Gabriel Eirea EE249 project 12/3/02 Mentors: Claudio Pinello Felice Balarin Yosinori Watanabe Howard.
Tool Integration of Ptolemy II EE290N Class Project Haiyang Zheng May
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
Problem Background Motivation Design a task and bus scheduling tool that works with the automotive design process and captures the constraints that the.
Register Allocation and Spilling via Graph Coloring G. J. Chaitin IBM Research, 1982.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Fundamentals of Python: From First Programs Through Data Structures
Pipelined Two Step Iterative Matching Algorithms for CIOQ Crossbar Switches Deng Pan and Yuanyuan Yang State University of New York, Stony Brook.
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
Self-Organizing Agents for Grid Load Balancing Junwei Cao Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)
ESL: Panacea or Hype? FERMAT | Sandeep Shukla | June 2005 Acknowledgement: NSF, Project Tech, and the “Chip.
Simple Program Design Third Edition A Step-by-Step Approach
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
1 Decrease-and-Conquer Approach Lecture 06 ITS033 – Programming & Algorithms Asst. Prof. Dr. Bunyarit Uyyanonvara IT Program, Image and Vision Computing.
A New Algorithm for Improving the Remote Sensing Data Transmission over the LEO Satellite Channels Ali Payandeh and Mohammad Reza Aref Applied Science.
Interoperability in Information Schemas Ruben Mendes Orientador: Prof. José Borbinha MEIC-Tagus Instituto Superior Técnico.
Final Year Project Interim Presentation Software Visualisation and Comparison Tool Presented By : Shane Lillis, , 4th Year Computer Engineering.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
1/ , Graz, Austria Power Spectral Density of Convolutional Coded Pulse Interval Modulation Z. Ghassemlooy, S. K. Hashemi and M. Amiri Optical Communications.
A Graph Based Algorithm for Data Path Optimization in Custom Processors J. Trajkovic, M. Reshadi, B. Gorjiara, D. Gajski Center for Embedded Computer Systems.
September Bound Computation for Adaptive Systems V&V Giampiero Campa September 2008 West Virginia University.
Blue Brain Project Carlos Osuna, Carlos Aguado, Fabien Delalondre.
Keyword Searching Weighted Federated Search with Key Word in Context Date: 10/2/2008 Dan McCreary President Dan McCreary & Associates
Threaded Programming in Python Adapted from Fundamentals of Python: From First Programs Through Data Structures CPE 401 / 601 Computer Network Systems.
Object-Oriented Design and Implementation of the OE-Scheduler in Real-time Environments Ilhyun Lee Cherry K. Owen Haesun K. Lee The University of Texas.
1 Implementation in Hardware of Video Processing Algorithm Performed by: Yony Dekell & Tsion Bublil Supervisor : Mike Sumszyk SPRING 2008 High Speed Digital.
QCAdesigner – CUDA HPPS project
Introduction to Loops For Loops. Motivation for Using Loops So far, everything we’ve done in MATLAB, you could probably do by hand: Mathematical operations.
Design Realization lecture 22
SIMULINK-Tutorial 1 Class ECES-304 Presented by : Shubham Bhat.
Electronic Analog Computer Dr. Amin Danial Asham by.
A flexible simulator for control- dominated distributed real-time systems Johannes Petersson IDA/SaS/ESLAB Johannes Petersson IDA/SaS/ESLAB Master’s Thesis.
Constraints Assisted Modeling and Validation Presented in CS294-5 (Spring 2007) Thomas Huining Feng Based on: [1]Constraints Assisted Modeling and Validation.
CONCURRENT SIMULATION: A TUTORIAL Christos G. Cassandras Dept. of Manufacturing Engineering Boston University Boston, MA Scope of.
Graphical Design Environment for a Reconfigurable Processor IAmE Abstract The Field Programmable Processor Array (FPPA) is a new reconfigurable architecture.
FEC Linear Block Coding
1 ® ® Agenda 8:30 a.m.Introduction to The MathWorks, Xilinx, and Avnet 9:00 a.m.Video System Design with Simulink 9:45 a.m.Break 10:00 a.m.FPGA Implementation.
Lec. 7 Introduction to Assembly Programming Dr. Tamer Samy Gaafar Microprocessors.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
Graphical editor for the Metropolis meta-model Jiagen Ding and Hongjing Zou Fall 2001.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
POLITECNICO DI MILANO A SystemC-based methodology for the simulation of dynamically reconfigurable embedded systems Dynamic Reconfigurability in Embedded.
Threaded Programming in Python
Business Rule Based Configuration Management and Software System Implementation Using Decision Tables Olegas Vasilecas, Aidas Smaizys VGTU, Vilnius, Lithuania.
Gabor Madl Nikil Dutt Domain-specific Modeling of Power Aware Distributed Real-time Embedded Systems Gabor Madl
Fault-Tolerant Architecture Design for Flow-Based Biochips
Chapter 1 Introduction(1.1)
Model Transformation with the Ptera Controller
Scientific Workflows Lecture 15
Presentation transcript:

Study of Simulink™ Discrete System MOC with Metropolis Haiyang Zheng Mentors: Luciano Lavagno Felice Balarin

Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

Motivation Simulink MOC is a heterogeneous one. A non- trivial model contains both discrete and continuous models. A complex mixture model is usually hard to design, understand, and maintain. A better way is to use some simpler, better defined MOCs to model different parts of the complex system.

Introduction Discrete time points Continuous time intervals We choose purely discrete (sampled data) system as the study object. t0t0 t1t1 t2t2 t3t3 t Discrete time points x = 4, y = x - 2 Continuous time interval dy / dt = x + 1

Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

Discrete System in Simulink™ Each block in the block diagram has a sample time, the rate at which it executes during simulation. Multi-rate discrete systems contain blocks sampled at different rates. Simulator takes the simulation step as the fundamental sample time, the greatest common divisor of the system’s actual sample times. T = 0.5T = 0.25T = 0.75 A B C

Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

Metropolis meta-model Netlist: design of model (aggregation of objects and ports) Objects –Process: thread doing computation –Medium: Media for communication between processes State Media for communication between process and scheduler –Scheduler: defines policies to satisfy constraints Port Interface –provides functions reference of other objects Constraint

Discrete MOC in Metropolis I Processes communicate through channels, the medium. Each process has a period parameter, which is stored in the associated state medium. Scheduler T = 0.5, StateT = 1.0, State Read, Write State Medium Channel (Media) Process AProcess B

Discrete MOC in Metropolis II The scheduler calculates the schedule based on the sampled rates and invokes different processes periodically. The scheduler forces the finish of execution of processes to ensure the data precedence. The data dependency is not analyzed in the scheduler but in the model design phase. T 0 = 0.5 T = 0.5 T = 1.0 A B P = T/T 0 = 1 A B P = T/T 0 = 2 A A B Scheduler

Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

An Example Model T = 0.5 T =

Metropolis MMM Netlist public netlist simple { public simple (String name) { dtScheduler dtscheduler = new dtScheduler("dtscheduler", 4); addcomponent (dtscheduler, this); RampProcess DiscreteRamp = new RampProcess("DiscreteRamp", 0, 2); addcomponent(DiscreteRamp,this,"DiscreteRamp"); dtStateMedium s0 = new dtStateMedium("StateMedium0", 0.25); addcomponent (s0, this); connect (DiscreteRamp,smport,s0); connect (dtscheduler, StateMedium[0], s0); connect (dtscheduler, processPeriod[0], s0); …… dtchannel c0 = new dtchannel("c0"); addcomponent(c0,this,"channel0"); connect(DiscreteSubtract,outports[0],c0); connect(Scope,inports[0],c0); …… }

T = 0.5 T = An automatic transformation from the block diagram representation to the text representation is necessary. Comparison

Transformation from Simlink Models into XML representations using MatlabUDM, a tool from Vanderbilt University. Transformation from XML representations into Metropolis MMM netlists with XSLT based tool. Two contributions: –It bridges the tools of Simulink and Metropolis with XML. –It sorts the blocks based on data dependency analysis. A Tool for Transformation from Simulink models into Metropolis models

Conditions for processes to be ready to execute –There is no input. –All inputs are available. Algorithm: –Construct a status array with length as the number of processes and initiate it with O indicating the process not scheduled. –Iterate the processes with given order, mark the ready process as Y, and schedule it. Repeat until all processes are marked and scheduled. Design of the Tool Data Dependency Analysis Given order of blocks as BCAD. T = 0.5 T = A B C D OOOO BC OOYO A D B YOYO YYYO C A D YYYY (#) The sorted block order is ABCD.

Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

Demos (Results) A Simulink Model –Simulation result A Metropolis Model –Simulation with code generated from SystemC Result of Ramp is: 1 Result of Ramp is: 2 Result of Gain is: 4 Result of Subtract is: 2 Outputis: 2 Result of Ramp is: 3 Result of Ramp is: 4 Result of Gain is: 8 Result of Subtract is: 4 Outputis: 4 Result of Ramp is: 5 Result of Ramp is: 6 Result of Gain is: 12 Result of Subtract is: 6 Outputis: 6

Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

Acknowledgement & Conclusion Thanks to: –Advice from Luciano Lavagno and Felice Balarin. –Guang Yang’s help on the C-code generation of Metropolis models with SystemC. –ISIS of Vanderbilt University providing the MatlabUDM tool. A Discrete (Sampled Data) MOC is implemented in Metropolis. A transformation tool from Simulink XML models to Metropolis MMM netlists is implemented.