Composing Models of Computation in Kepler/Ptolemy II

Slides:



Advertisements
Similar presentations
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Advertisements

Rule Based Operational Semantics Specification in Ptolemy Yanwar Asrigo COMP 763B - Modeling and Simulation Based Design 30 th April 2008.
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
Discrete Event Models: Getting the Semantics Right Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley With thanks to Xioajun.
Discrete-Event Modeling and Design of Embedded Software Edward Lee UC Berkeley Workshop on Discrete Event Systems WODES 2000 Ghent, Belgium August,
UC Berkeley Mobies Technology Project PI: Edward Lee CoPI: Tom Henzinger Process-Based Software Components for Networked Embedded Systems.
ACM SIGPLAN 2001 Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES'2001) Jun 22-23, 2001, Snowbird, Utah, USA Embedded Software from.
Process-Based Software Components for Networked Embedded Systems Edward A. Lee, PI UC Berkeley Core Technical Team (Mobies, SEC, and GSRC): Christopher.
Component Technologies for Embedded Systems Johan Eker.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Causality Interfaces for Actor Networks Ye Zhou and Edward A. Lee University of California,
SRC ETAB Summer Study Colorado Springs, June 25-26, 2001 Model-Based Approaches to Embedded Software Design Edward A. Lee UC Berkeley & GSRC.
Type System, March 12, Data Types and Behavioral Types Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Leveraging Synchronous Language Principles for Hybrid System Models Haiyang Zheng and.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Behavioral Types for Actor-Oriented Design Edward A. Lee.
Behavioral Types as Interface Definitions for Concurrent Components Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley.
Building Unreliable Systems out of Reliable Components: The Real Time Story Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS CHESS: Center.
6th Biennial Ptolemy Miniconference Berkeley, CA May 12, 2005 Distributed Computing in Kepler Ilkay Altintas Lead, Scientific Workflow Automation Technologies.
February 11, 2010 Center for Hybrid and Embedded Software Systems Ptolemy II - Heterogeneous Concurrent Modeling and Design.
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
Ngu, Texas StatePtolemy Miniconference, February 13, 2007 Flexible Scientific Workflows Using Dynamic Embedding Anne H.H. Ngu, Nicholas Haasch Terence.
Heterogeneous Modeling and Design in Ptolemy II Johan Eker UC Berkeley with material courtesy of Edward Lee and the Ptolemy group ECE Seminar Series, Carnegie.
Modeling Heterogeneous Systems Edward Lee UC Berkeley Design for Safety Workshop NASA Ames Research Center Mountain View, CA 11 October, Design.
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Building Unreliable Systems out of Reliable Components: The Real Time Story Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS CHESS: Center.
An Extensible Type System for Component-Based Design
Mixing Models of Computation Jie Liu Palo Alto Research Center (PARC) 3333 Coyote Hill Rd., Palo Alto, CA joint work with Prof. Edward.
Models of Computation for Embedded System Design Alvise Bonivento.
Discrete Event Models: Getting the Semantics Right Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley With special thanks.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Causality Interfaces and Compositional Causality Analysis Rachel Zhou UC Berkeley.
MoBIES PI-Meeting, July 2001, Jackson Hole Controller Design Using Multiple Models of Computation Edward Lee Johan Eker with thanks to Paul Griffiths,
Hierarchical Reconfiguration of Dataflow Graphs Stephen Neuendorffer UC Berkeley Poster Preview May 10, 2004.
Heterochronous Dataflow in Ptolemy II Brian K. Vogel EE249 Project Presentation, Dec. 4, 1999.
SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A. Lee & Jie Liu UC Berkeley with thanks to the entire.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley System-Level Types for Component-Based Design Edward A.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
Concurrent Models of Computation in System Level Design Edward Lee UC Berkeley Forum on Design Languages Workshop on System Specification & Design Languages.
State of the Art Lecture IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, 2001 Computing for Embedded Systems Edward.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 The Component Interaction Domain: Modeling Event-Driven and Demand- Driven Applications.
Panel: What Comes After C++ in System-Level Specification Edward Lee UC Berkeley Forum on Design Languages Workshop on System Specification & Design Languages.
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.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
Embedded Software: Building the Foundations Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS CHESS: Center for Hybrid and Embedded Software.
Composing Models of Computation in Kepler/Ptolemy II Summary. A model of computation (MoC) is a formal abstraction of execution in a computer. There is.
 Scientific workflow management system based on Ptolemy II  Allows scientists to visually design and execute scientific workflows  Actor-oriented.
Biology.sdsc.edu CIPRes in Kepler: An integrative workflow package for streamlining phylogenetic data analyses Zhijie Guan 1, Alex Borchers 1, Timothy.
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
ICCS WSES BOF Discussion. Possible Topics Scientific workflows and Grid infrastructure Utilization of computing resources in scientific workflows; Virtual.
Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design.
Scientific Workflow systems: Summary and Opportunities for SEEK and e-Science.
Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based.
Ptolemy & Models of Computation -by Hao Chen, Zhuang Fan, Jin Xiao School of Computer Science University of Waterloo Claudius Ptolemaeus, the second century.
Actor Oriented Programming with CAL -designing embedded system components Johan Eker Department of Automatic Control, Lund University Chris Chang, Jörn.
Satisfying Requirements BPF for DRA shall address: –DAQ Environment (Eclipse RCP): Gumtree ISEE workbench integration; –Design Composing and Configurability,
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems.
ACCESSING DATA IN THE NIS USING THE KEPLER WORKFLOW SYSTEM Corinna Gries.
Workflow-Driven Science using Kepler Ilkay Altintas, PhD San Diego Supercomputer Center, UCSD words.sdsc.edu.
Scientific workflow in Kepler – hands on tutorial
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Event Relation Graphs and Extensions in Ptolemy II
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Model Transformation with Hierarchical Discrete-Event Control
Retargetable Model-Based Code Generation in Ptolemy II
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Hybrid and Embedded Systems: Generalized Hybrid Systems
Model Transformation with the Ptera Controller
A Semantic Type System and Propagation
Presentation transcript:

Composing Models of Computation in Kepler/Ptolemy II Antoon Goderis U of Manchester (myGrid/ Taverna) Christopher Brooks UC Berkeley (Ptolemy II) Ilkay Altintas UC San Diego (Kepler) Edward A. Lee UC Berkeley (Ptolemy II) Carole Goble U of Manchester (myGrid/Taverna)

The talk Models of Computation (MoCs) Composing Models of Computation Use cases from science PtolemyII/Kepler Composing Models of Computation Conditions for valid (hierarchical-) compositions Example based on process networks and data flow Table of valid compositions

Use cases for different MoCs To model scientific problems naturally Biology: Gene annotation pipelines [Dataflow] for pipeline compositions Fluid dynamics: Lattice-Boltzmann simulations [Continuous-time based ordinary differential equation solvers]

Models of Computation What is a component? (ontology) Thomas Kuhn, originator of the paradigm paradigm What is a component? (ontology) States? Processes? Threads? Differential equations? Constraints? Objects (data + methods)? What knowledge do components share? (epistemology) Time? Name spaces? Signals? State? How do components communicate? (protocols) Rendezvous? Message passing? Continuous-time signals? Streams? Method calls? Events in time? What do components communicate? (lexicon) Objects? Transfer of control? Data structures? ASCII text?

Exploring Models of Computation… … for scientific computing Ptolemy II Kepler

Scientific workflow design and re-use Support design & re-use via separation of concerns Structural data types Semantic types Type checking Structure Execution semantics

PtolemyII/Kepler: Actor-Oriented Design Object orientation: class name data methods call return What flows through an object is sequential control Actor orientation: Actors are executable entities which communicate with one another via message passing. Messages (input/output data) are encapsulated in tokens. Messages are sent through ports. What flows through an object is streams of data actor name data (state) parameters Input data Output data ports

Structure of PtolemyII/Kepler workflows Hierarchical Entities, Ports, Connections and Attributes This abstract syntax is compatible with many semantic interpretations. The concurrency and communication model together is what we call the model of computation (MoC). Syntax defines the structure of a workflow, but says little about what it means.

Execution semantics: Director Implements the model of computation Governs the execution of an actor (workflow) Scheduling, dispatching threads, etc.

Implemented Models of Computation Survival of the fittest is the only reasonable way to choose among these. Implemented Models of Computation PN – process networks SDF – synchronous dataflow DDF – dynamic dataflow FSM – finite state machines CT – continuous-time modeling DE – discrete-event systems SR - Synchronous/Reactive systems RendezVous – concurrent threads with rendezvous GR – graphics … Each of these defines a component ontology and an interaction semantics between components. There are many more possibilities! In use in Kepler Available in Kepler Realized in Ptolemy II

The talk Models of Computation (MoCs) Composing Models of Computation Use cases from science PtolemyII/Kepler Composing Models of Computation Conditions for valid (hierarchical-) compositions Example based on process networks and data flow Table of valid compositions

Use cases for composing MoCs (1) Intra-disciplinary collaboration Biology: gene annotation to systems biology [data flow + cont time] Inter-disciplinary collaboration Chem- to bio-informatics [cont time + data flow] Mix software workflows with physical systems sensor networks and electron microscopes [cont time] Performance of computation-intensive workflows visualization [3D animation]

Use cases for composing MoCs (2) Mix workflow management with running models for analysis or simulation Biology: selective extraction and analysis of proteins from public databases [finite state machines + dataflow] Fluid dynamics: dynamically adapting model control parameters of Lattice-Boltzmann simulations [finite state machines + cont time] Integrated provenance collection Include dynamic changes in the overall model as well as parameter sweeps within each model

MoC composition in chemistry Actor/workflow based on Synchronous Data Flow Actor/workflow based on Kahn Process Network

How to compose MoCs (directors)? No classification exists to determine which director combinations are valid

How to compose MoCs (directors)? No classification exists to determine which director combinations are valid We need to know two things about a director: What properties it exports via the composite actor in which it is placed

Inner director exports certain properties

How to compose MoCs (directors)? No classification exists to determine which director combinations are valid We need to know two things about a director: What properties it exports via the composite actor in which it is placed What properties it requires of the actors under its control

outer director requires certain properties

If a director’s exported properties match those required by another director, then it can be used within that other director

So, what are these properties? It turns out we can determine director compatibility based on three levels of adherence to actor abstract semantics 

Actor Abstract Semantics iterate() prefire() fire() postfire() Flow of control Initialization Execution Finalization Specifications: prefire(): synchronizes to the environment and checks firing conditions fire(): generates outputs based on current inputs and states postfire(): updates the states for next iteration

Three flavours of actor semantics Strict Loose Loosest Implements methods? Yes Methods must return? No Fire() doesn’t change state?

Compatible director compositions exported abstract semantics should be stricter than or equal to required abstract semantics

Example: composing PN and SDF Kahn Process Networks Asynchronous communication between processes; thread for each actor. PN director does not require that any method eventually returns. The methods run in a separate thread belonging entirely to the actor. PN does not guarantee that any method eventually returns. Synchronous Data Flow Director “fires” actors when input tokens are available. SDF director requires that methods return. The fire() method can change state. SDF director guarantees that methods return.

Determining PN and SDF compatibility exported abstract semantics should be stricter than or equal to required abstract semantics

Determining PN and SDF compatibility exported abstract semantics should be stricter than or equal to required abstract semantics

Actor/workflow based on Kahn SDF inside PN example Actor/workflow based on Kahn Process Network PN requires loosest abstract actor semantics

Actor/workflow based on SDF inside PN example Actor/workflow based on Synchronous Data Flow SDF exports loose abstract actor semantics

SDF inside PN example Actor/workflow based on Synchronous Data Flow Actor/workflow based on Kahn Process Network SDF exports loose PN requires loosest, so OK to combine

The others FSM very flexible CT (continuous dynamics) works well as inner director PN very inflexible Living document: http://www.mygrid.org.uk/wiki/Papers/IccsPaper2007

Summary A need for multiple models of computation, and their composition, in e-science Practical table of valid compositions for models of computation in PtolemyII/Kepler Questions? E-mail: goderisa@cs.man.ac.uk

Xie Xie Bertram Ludaescher, UC Davis, Kepler Gang Zhou and Thomas Feng, UC Berkeley, PtolemyII John Brooke, U Manchester