P t o l e m y A Framework For Simulating and Prototyping Heterogeneous Systems by Joseph Buck, Soonhoi Ha, Edward A. Lee & David G. Messerschmitt P r e.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
STATEMATE A Working Environment for the Development of Complex Reactive Systems.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Mahapatra-Texas A&M-Fall'001 Cosimulation II Cosimulation Approaches.
Object-Oriented Analysis and Design
Protocols and the TCP/IP Suite
Computers: Tools for an Information Age
COMP205 Comparative Programming Languages Part 1: Introduction to programming languages Lecture 3: Managing and reducing complexity, program processing.
Establishing the overall structure of a software system
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Router modeling using Ptolemy Xuanming Dong and Amit Mahajan May 15, 2002 EE290N.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
C++ fundamentals.
Copyright © 2001 by Wiley. All rights reserved. Chapter 1: Introduction to Programming and Visual Basic Computer Operations What is Programming? OOED Programming.
Software System Integration
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Introduction 01_intro.ppt
The Design Discipline.
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Learning Objectives Data and Information Six Basic Operations Computer Operations Programs and Programming What is Programming? Types of Languages Levels.
Microsoft Visual Basic 2005: Reloaded Second Edition
Protocols and the TCP/IP Suite
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
CHAPTER FOUR COMPUTER SOFTWARE.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
SOFTWARE DESIGN.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
Systems Analysis and Design in a Changing World, 3rd Edition
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
Ptolemy Tutorial What is Ptolemy? How it works? What is the development environment for you Show demo and former simulation work.
William Stallings Data and Computer Communications
1.
Chapter One An Introduction to Programming and Visual Basic.
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
PTII Model  VHDL Codegen Verification Project Overview 1.Generate VHDL descriptions for Ptolemy models. 2.Maintain bit and cycle accuracy in implementation.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Chapter – 8 Software Tools.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Visit for more Learning Resources
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Object-Oriented Analysis and Design
Architecture Concept Documents
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Chapter 2: System Structures
Protocols and the TCP/IP Suite
Model-Driven Analysis Frameworks for Embedded Systems
Software System Integration
Unified Modeling Language
Analysis models and design models
Chapter One: An Introduction to Programming and Visual Basic
Chapter 7 –Implementation Issues
Protocols and the TCP/IP Suite
Presentation transcript:

P t o l e m y A Framework For Simulating and Prototyping Heterogeneous Systems by Joseph Buck, Soonhoi Ha, Edward A. Lee & David G. Messerschmitt P r e s e n t e r s A r u n T M & S u l e n T h o m a s

T o p i c s Concept of Ptolemy Internal Structure of Ptolemy Wormhole EventHorizon Code Generation Practical Details Applications Current Research

C o n c e p t provides an environment for simulation and rapid prototyping of heterogeneous systems use of modern OO technology to model subsystems core :: uses OO class definitions to make assumptions provides generic interfaces examples of applications :: network and transport, call processing and signaling software etc.

C o n c e p t alternative to heterogeneity is generality disadvantages :: - analysis is difficult to perform - compilers are difficult to implement - increase in complexity of design key :: non dogmatic kernel which combines descriptions to ensure heterogeneity coordination framework

C o n c e p t uses OO concepts to achieve the following goals  agility :: support distinctiveness in model design  heterogeneity :: allows co existence of different systems  extensibility :: allows integration of old and new models  friendliness :: friendly GUI

Internal Structure Blocks & Particles  block :: module of code invoked at runtime  porthole :: standard interfaces  particle :: base message type  geodesic :: connection framework  plasma :: reclamation of used particles

Internal Structure Stars, Galaxies and Universe provides hierarchy for the system star :: - derived from block - performs computation galaxy :: - contains other blocks - contains other galaxies & stars universe :: - complete Ptolemy application advantages of hierarchy

Internal Structure Targets & Schedulers  target :: - controls the execution - features vary based on application  scheduler :: - defines the operational semantics of the domain - manages the order of execution of star methods

Internal Structure Domain  definition :: - set of blocks, targets and associated schedulers - computational model Sub Domain  implements a more specialized computational model  stars and targets can be used with an outer one  scheduler cannot be used with outside domain

Internal Structure

Examples of Domain  dynamic data flow (DDF) :: - data driven model of computation  synchronous data flow (SDF) :: - sub domain of DDF - advantages :: - ease of programming - syntax checking - runtime efficiency - automatic parallel scheduling

Internal Structure Examples of Domain  boolean data flow ( BDF) :: - intermediate between SDF and DDF  discrete event ( DE ) :: - models only changes in a system state - differences :: - incorporates global time - orders block invocations properly  message queue ( MQ ) :: - dynamically creates and destroys blocks - eg software control applications

W o r m h o l e critical design element block which externally looks like a star contains of a private universe ( separate scheduler and stars ) can be introduced into any domain objects contain target pointers used to run simulations in different environments

The EventHorizon

Provides the interface between Wormhole and external environment. Two types of interactions Conversion of particles passing through EventHorizon Accomplished by ToEventHorizon and FromEventHorizon derived from EventHorizon Particles are read from XXXtoUniversal to YYYFromUniversal and sent to YYY domain Responsibilities of EventHorizon  DEWormhole is executed when input has data.

The EventHorizon Scheduler Coordination Scheduler has a set of polymorphic methods (setup(), run(), setStopTime() and resetStopTime()) for coordination of Schedulers on both sides of EventHorizon setup() method takes place before execution of blocks. run() method executes the blocks StopTime specifies the time upto which run() executes setStopTime() allows StopTime to be set externally These methods make multiple Schedulers behave logically as a single Scheduler. Schedulers divided into timed and untimed

The EventHorizon  Inheritance Structure of Blocks Block (initialize() Runnable ( run() and start() and stop()) setStopTime()) GalaxyStar Wormhole (a runnable with Universe (includes target and XXXStar internal target & is a runnable)galaxy) XXXUniverse XXXWormhole

Code Generation go() method of Star adds ASCII text to data structure in Target Scheduler controls sequence of code Target collects code and supervised compilation and execution

Practical Details The Graphical User Interface Ptolemy Interactive Graphical Interface (pigi) is the design editor InterpGalaxy is used to dynamically construct simulations Runs as Vem graphic editor and pigiRpc, the Ptolemy kernel States Used to monitor and control the simulation Star Preprocessor Language Generates documentation for Star and Galaxy class.

A p p l i c a t i o n s Broadband Networking Cell relay network connects a set of terminals DE domain used to model non-empty cells Signaling ATM Switches DE Modeling Domain Terminals CRN

A p p l i c a t i o n s Broadband Networks Network consists of signaling entity & a set of switches Call processing entity present within the switch Signaling Signaling (MQ) ATM

A p p l i c a t i o n s Signal Processing Algorithms are defined within data flow model Ptolemy capable of partitioning, scheduling and generating DSP assembly language. Ptolemy can generate C code, Motorola and assembly code Hardware-Software Co-Design Thor domain can be combined with code generation domain to design boards with programmable DSP Hardware and Software are modeled within the same software framework. Ptolemy has the ability to mix behavioral, hardware and software entities in a natural way.

A p p l i c a t i o n s Source and Link modeling Source generates data packets or speech samples, link consists of single-bit error model. Particle has methods convertToBits() and convertFromBits Link model accepts Particles, applies the first method, applies link model to the bit string and uses second method to convert bit string back to particles. Particles Particles SourceLink

Current Research Ptolemy II made available in August 2002 Ptolemy II is the first release that includes a limited prototype of our code generation facility that will generate class files for non-hierarchical SDF models  Other Ptolemy information may be found at: