http://www.isencia.be
Tango & Passerelle -
Tango meeting at Synchrotron Soleil
June 16, 2004
Synchrotron Soleil – Passerelle Workshop 2© iSencia 2004
Topics
iSencia Belgium
Passerelle at Soleil - a solution component in the Tango environment
Concepts
Benefits
Sample assemblies
Extending Passerelle
Synchrotron Soleil – Passerelle Workshop 3© iSencia 2004
iSencia Belgium
Synchrotron Soleil – Passerelle Workshop 4© iSencia 2004
Who we are
Technology-driven services company with extensive experience in
Distributed systems
Object Oriented Programming
Web technology
for building
High-throughput robust transactional systems
Data- and process-flow management systems in services and industries
Synchrotron Soleil – Passerelle Workshop 5© iSencia 2004
Who we are
Part of iSencia group : offices in Barcelona and Gent
Total of approx. 20 IT professionals, with experience of OO and Java on several platforms: MS Windows, Unix flavours, iSeries
Sample customers:
automation, production planning (Brooks-PRI, Spiromatic, AutoJet)
pharma (e.g. Abott)
Belgacom, Belgian mail “De Post”
Financial institutions (via big consultancies)
…
Synchrotron Soleil – Passerelle Workshop 6© iSencia 2004
What we do
Expert Services
Consulting
Solution delivery based on robust frameworks and reusable components
Passerelle : Suite for Model Driven Solution Assembly
Target application domains
Pervasive event and alert handling
Automated process control
Automated data flow
Unified Event/Message handling
Maestro : Leading production planning tool
Main application domain: high-end automation of bulk processing
Synchrotron Soleil – Passerelle Workshop 7© iSencia 2004
Passerelle at Soleil
Synchrotron Soleil – Passerelle Workshop 8© iSencia 2004
Tango solution packages
Device
Device
Bus Logiciel TANGO
(moteur…)
Hardware
(E/S…)
Hardware
Environnements Utilisateurs:MATLAB,
IGOR, python,
Bindings
SupervisionConfiguration
Archivage
Séquenceur:
PASSERELLE
Synchrotron Soleil – Passerelle Workshop 9© iSencia 2004
Passerelle Concepts
Synchrotron Soleil – Passerelle Workshop 10© iSencia 2004
Passerelle conceptsTarget solution domains
Batch processing in business information systemsProcess sequencing and scheduling
Event-based data-flow solutions
Business activity monitoring
Alert management
...
Basic principles
A solution is constructed as an assembly model of interconnected actor components
Each actor has a single, well-defined function/responsibility
Actors are available in libraries for several categories
Assemblies are described in XML files
These XML files can be deployed to several execution options
Synchrotron Soleil – Passerelle Workshop 11© iSencia 2004
Passerelle concepts
Interactors
•Applets•Beans
Admin
Framework APIs
Solutionassemblymodels
ExecutorsActors
IDE
• IDE
• engine
• scheduler
• cmd line
•Sources
•Sinks
•Transform•...
Unified Messaging Scheduler Db access ...
Synchrotron Soleil – Passerelle Workshop 12© iSencia 2004
Passerelle actorsActors are Java components, each with a clear task, e.g.
Read a file
Drive a Tango motor device
Update a database
Generate a trigger pulse according to some schedule
Select alternative continuations based on some condition
... Actors are maintained in category libraries, e.g.
Sources
Sinks
Filters
Flow control
...They communicate via input and output ports (similar to digital electronics components)Their activity & life-cycle is controlled by a model Director
Synchrotron Soleil – Passerelle Workshop 13© iSencia 2004
Passerelle conceptsExecution of solution models
The model Director defines the RULES for the model execution
Sequential or parallel execution
Actor communication via method-calls, message queues, ...
...
An Executor defines HOW/WHEN the model is executed
Inside the IDE
From the command prompt
By delivering a new model in a designated folder for the executor service
According to a periodic or non-periodic schedule as defined by the Passerelle scheduler
Synchrotron Soleil – Passerelle Workshop 14© iSencia 2004
Passerelle IDE
Passerelle contains an IDE to design and test new assemblies
Synchrotron Soleil – Passerelle Workshop 15© iSencia 2004
Assembling a solution
Design models (IDE)
Pick existing actors & identify gaps
Use scriptable actors to fill gaps, or develop new actors
Configure actors (rules, source/sink identification, …)
Test
Deploy models
Models can be deployed to different executors ( Engine, Scheduler, Command Line )
Admin
Web-based admin console
Synchrotron Soleil – Passerelle Workshop 16© iSencia 2004
Passerelle Benefits
Synchrotron Soleil – Passerelle Workshop 17© iSencia 2004
Passerelle BenefitsDesigned for reuse
Pipe-and-filter architecture
Promotes clear definition of component responsibilities
Promotes low coupling of component implementations
Actor development framework
Graphical solution assembly
Clear split between actor development and solution assembly
Ready for different solution domains
Based on proven open-source frameworks&tools
Ptolemy (Univ.of Berkeley)
Netbeans (Sun)
Jboss
Tomcat, Log4J,... (Apache)
Synchrotron Soleil – Passerelle Workshop 18© iSencia 2004
Samples
Synchrotron Soleil – Passerelle Workshop 19© iSencia 2004
“Hello World”
Synchrotron Soleil – Passerelle Workshop 20© iSencia 2004
Simple file-driven motor positioning
Synchrotron Soleil – Passerelle Workshop 21© iSencia 2004
... with some timing condition
Synchrotron Soleil – Passerelle Workshop 22© iSencia 2004
... or a plot of the sequence
Synchrotron Soleil – Passerelle Workshop 23© iSencia 2004
Extending Passerelle
Synchrotron Soleil – Passerelle Workshop 24© iSencia 2004
Extending Passerelle
Options
Extend actors (simple)
Write JavaScript or Jython scripts for existing scriptable actor
Develop new Java-based actors
Investigate and reuse actors from Ptolemy
Extend directors (complex)
When new types of pipes are needed between actors
When new execution rules are needed
To support completely different application domains
Cfr Ptolemy domains
Synchrotron Soleil – Passerelle Workshop 25© iSencia 2004
Conclusion
Synchrotron Soleil – Passerelle Workshop 26© iSencia 2004
Conclusion
Passerelle is an open suite for component-based solutions for data- and process-flow
Current goal at Soleil: process sequencing
Easy to integrate in a distributed IT infrastructure, such as the Tango environment
Will be part of a well-controlled Soleil open-source community
Easy to extend/customize
Based on proven Java technology