Herbert Sauro, Michael Hucka, Andrew Finney,Hamid Bolouri Principal Investigators: John Doyle, Hiroaki Kitano JST/ERATO Kitano Systems Biology Project.

Slides:



Advertisements
Similar presentations
COS 461 Fall 1997 Network Objects u first good implementation: DEC SRC Network Objects for Modula-3 u recent implementation: Java RMI (Remote Method Invocation)
Advertisements

The ERATO Systems Biology Workbench Michael Hucka, Hamid Bolouri, Andrew Finney, Herbert Sauro ERATO Kitano Systems Biology Project California Institute.
Remote Procedure Call (RPC)
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
1 CS 106, Winter 2009 Class 4, Section 4 Slides by: Dr. Cynthia A. Brown, Instructor section 4: Dr. Herbert G. Mayer,
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
ARCS Data Analysis Software An overview of the ARCS software management plan Michael Aivazis California Institute of Technology ARCS Baseline Review March.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
1 Component Description Alice 3d Graphics Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Randy Pausch,
Software Development for Systems Biology Herbert M Sauro Frank Bergmann Keck Graduate Institute 535 Watson Drive Claremont, CA,
VB in Context Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh Pittsburgh, Pa 15260
WNT Client/Server SDK Tony Vaccaro CS699 Project Presentation.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
.NET Mobile Application Development Remote Procedure Call.
C++ fundamentals.
September 6, 2015 Connecting Client Applications to Informix Databases using IBM Informix Connect and ODBC James Edmiston Database Consultant Quest Information.
Java Beans.
The ERATO Systems Biology Workbench Michael Hucka, Andrew Finney, Herbert Sauro, Hamid Bolouri ERATO Kitano Systems Biology Project California Institute.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
CSE 425: Object-Oriented Programming I Object-Oriented Programming A design method as well as a programming paradigm –For example, CRC cards, noun-verb.
(Chapter 10 continued) Our examples feature MySQL as the database engine. It's open source and free. It's fully featured. And it's platform independent.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Implementing Remote Procedure Calls Authored by Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presented by Lars Larsson.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
The ERATO Systems Biology Workbench Hamid Bolouri ERATO Kitano Systems Biology Project California Institute of Technology & University of Hertfordshire,
 Remote Procedure Call (RPC) is a high-level model for client-sever communication.  It provides the programmers with a familiar mechanism for building.
Jian Gui WANG New Implementation of Agriculture Models APAN19---Jan New Implementations of Agriculture Models Using Mediate Architecture.
The ERATO Systems Biology Workbench Project: A Simplified Framework for Application Intercommunication Michael Hucka, Andrew Finney, Herbert Sauro, Hamid.
Herbert M Sauro Install from the web site sys-bio.org.
Chapter 4 – Threads (Pgs 153 – 174). Threads  A "Basic Unit of CPU Utilization"  A technique that assists in performing parallel computation by setting.
The ERATO Systems Biology Workbench: Enabling Interaction and Exchange Between Tools for Computational Biology Michael Hucka, Andrew Finney, Herbert Sauro,
Java Beans. Definitions A reusable software component that can be manipulated visually in a ‘builder tool’. (from JavaBean Specification) The JavaBeans.
Developing Applications with the CSI Framework A General Guide.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
JAVA INTRODUCTION. What is Java? 1. Java is a Pure Object – Oriented language 2. Java is developing by existing languages like C and C++. How Java Differs.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Overview of the Systems Biology Workbench Michael Hucka, Andrew Finney, Herbert Sauro, Hamid Bolouri ERATO Kitano Systems Biology Project California Institute.
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
Overview of Previous Lesson(s) Over View  Windows Programming  WinMain()  Where execution of the program begins and basic program initialization is.
Mobile Analyzer A Distributed Computing Platform Juho Karppinen Helsinki Institute of Physics Technology Program May 23th, 2002 Mobile.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Michael Hucka1 The Modeler’s Workspace Current Design Plans and Status Current project members: Michael Hucka Kavita Shankar Sara Emardson David Beeman.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Java Distributed Computing
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Objects as a programming concept
The ERATO Systems Biology Workbench
Chapter 5 Remote Procedure Call
Cross Platform Development using Software Matrix
Java Distributed Computing
Java Beans Sagun Dhakhwa.
The Client/Server Database Environment
Introduction to Operating System (OS)
מרכז אימות לפלטפורמת מתן שירותים
Northbound API Dan Shmidt | January 2017
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
CS285 Introduction - Visual Basic
Remote Procedure Call Hank Levy 1.
Realizing Concurrency using the thread model
F II 1. Background Objectives
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
Remote Procedure Call Hank Levy 1.
Remote Procedure Call Hank Levy 1.
Presentation transcript:

Herbert Sauro, Michael Hucka, Andrew Finney,Hamid Bolouri Principal Investigators: John Doyle, Hiroaki Kitano JST/ERATO Kitano Systems Biology Project California Institute of Technology Pasadena, California, USA Intro Experimental Prototype

This talk will illustrate a prototype version of SBW together with a variety of SBW compliant modules.

Prototype Features Omitted from Prototype Implementation: 1.No Auto-Startup of Modules 2.No Registry Facilities 3.No Cross-Internet Hooks

Overview SBW Broker SBW Interface Main Application SBW Interface Main Application SBW Interface SBW Broker Listening Socket Dispatcher Next Slide

SBW/Module Interface

Levels of Operation Raw Messaging Logic Low Level API Low Level API + High Level OOP API Message Crackers

Call/Send Messages 1.Destination Handle 2.Message Type (Call, Send, etc) 3.Source Handle 4.Service Id 5.Method Id 6.UID – Unique identifier 7.Payload UID is used to match a reply to the original sender

Description of the Prototype SBW Broker Less than 1500 lines of Delphi source code 450K exe footprint, could be made much smaller Thread use is optimized via a Thread pool Runs in the background, accessible via the Windows Tool-tray Uses no detectable CPU resources when Idle Can be run under Win32 or Linux OS

Module Bindings Less than 2000 lines of source code Implemented as a Delphi Component (cf. Java Bean) for ease of use. These bindings are compatible with C++ Builder as well as Delphi. Can be used to implement Modules for Windows or Linux

Delphi Prototype Code (Service Provider) Implementing a Simple Math Service Provider function TMathClass.MySin (Data : PDataStream) : TComType; begin result := PackComType (sin (ExtractDouble (Data))); end; TComType is a variant record which can hold any of the allowable SBW data types PDataStream is a pointer to a byte array containing the message payload ExtractDouble is a helper routine to assist in extracting data items from the byte array PackComType is a routine to pack a data type into the TComType variant sbw.RegisterService ('trig'); sbw.RegisterMethod ('trig', 'sin', MySin, dtDouble, [dtDouble], 'Compute sin of radian angle');

Delphi Prototype Code (Service User) Implementing a Simple Math Service User MySin := sbw.GetMethodObj ('TrigModule', ‘trig’, 'sin'); Answer := UnPackDouble (MySin.Call ([3.1415]))); x.Call() returns data as a TComType, therefore it is necessary to use UnPackDouble to unpack the double value. x.Call() takes a variable number of arguments of any allowable SBW data type, eg MyMeth.Call ([1.2, True, ‘Hello’])

Prototype Test Modules Non-visual: Trig - Math Service provider NOM – Network Object Model (SBML Module) Visual: Graph2D - Simple 2D Display Inspector - Module inspector JDesigner - Visual designer Jarnac - Simulator Gillespsie – Simulator (Baltazar Aguda)

Scripting Modules can automatically wrap up a message interface into a scripting object. SBW Request Interface Signature Object Constructor Interface Object User: >>Obj.doit Message Constructor Interface signature Object Construction Script Based Modules

NOM (Network Object Model) GetSBML LoadSBML NOM { Constructor Interface Deconstructor Interface {

Conclusion 1.Ease of programming 2.Language independence 3.Small, Network friendly, Extensible From our own experience with using SBW, the benefits of SBW in order of preference include:

Demonstrations (Private Slide) 1.Startup Broker, show popup menu 2.Basic Access to a simple service provider 3.Example illustrating exception handling (ln(-2)) 4.Demonstrate Inspector Tool 5.Demonstrate performance using Graph2D 6.Demonstrate JDesigner and Inspector tool 7.Demonstrate Jarnac proxy facility using JDesigner 8.Introduce NOM 9.Demonstrate JDesigner, Jarnac, NOM, Gillespise working together (Close J/JD before carrying out simulation)