Herbert Sauro, Michael Hucka, - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Herbert Sauro, Michael Hucka,

Description:

http://www.cds.caltech.edu/erato. Intro. Experimental Prototype. This talk will illustrate a prototype version of SBW together with a variety of ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 17
Provided by: hsa8
Category:
Tags: cds | herbert | hucka | michael | sauro

less

Transcript and Presenter's Notes

Title: Herbert Sauro, Michael Hucka,


1
Intro
Experimental Prototype
  • 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
  • http//www.cds.caltech.edu/erato

2
This talk will illustrate a prototype version of
SBW together with a variety of SBW compliant
modules.
3
Prototype
  • Features Omitted from Prototype Implementation
  • No Auto-Startup of Modules
  • No Registry Facilities
  • No Cross-Internet Hooks

4
Overview
Main Application
Main Application
SBW Broker
SBW Interface
SBW Interface
Next Slide
Listening Socket
SBW Interface
Dispatcher
SBW Broker
5
SBW/Module Interface
6
Levels of Operation
Raw Messaging Logic
Low Level API
Message Crackers
Low Level API
High Level OOP API
7
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
8
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

9
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

10
Delphi Prototype Code (Service Provider)
  • Implementing a Simple Math Service Provider

function TMathClass.MySin (Data PDataStream)
TComTypebegin 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')
11
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)
12
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)

13
Script Based Modules
Object Construction
Scripting Modules can automatically wrap up a
message interface into a scripting object.
Request Interface Signature
SBW
Object Constructor
Interface signature
User
Message Constructor
Interface Object
gtgtObj.doit
14
NOM(Network Object Model)

Deconstructor Interface
GetSBML
NOM

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

16
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)
Write a Comment
User Comments (0)
About PowerShow.com