Upload
roderick-bryan
View
214
Download
1
Tags:
Embed Size (px)
Citation preview
What is Eclipse?
• Official Definition:– Eclipse is an open source community whose
projects are focused on providing an extensible development platform and application frameworks for building software.
• Eclipse Evolution– Version 1.0: Open Source Java IDE– Version 2.0: Universal Tooling Platform– Version 3.0: Platform for Rich Client Application
Eclipse as an IDE• Language supported:
– Java, C/C++, C#, FORTRAN, Ruby, Python, Ada, AspectJ……you name it!!
• Agile Method– Incremental build, Refactoring
• Test Driven Development– JUnit Test, Automated Testing Framework
• Model Driven Software Development– Open Architectureware
• Team Concurrent Development support– CVS, Subversion
• Plus More– ANT support, Interactive Debugger, Visual Editor…
Simple RCP
Plug-in Architecture
Plug-in Loader
Application
ExtensionsPlug-ins
Extensible Application Eclipse
What is Tango ?
• It is a distributed object oriented control system
• It uses CORBA for network communication– omniORB in C++ and JacORB in Java
• It supports two languages (C++ and Java) and 3 OS (Linux, Solaris and Windows)
• It is an LGPL licensed software available from ESRF web site as– Source distribution (For UNIX like OS)– Windows binaries package
What is Tango ?
• Every controlled equipment is a device belonging to a class and supporting commands (action) and attributes (data)
• Tango classes are merged within process called “device server”
• Each device server process has a polling mechanism with data cache to speed-up response time in case of a slow device.
What is Tango ?
• Tango has an API supporting three kinds of communication between client and server– Synchronously– Asynchronously– Using event
Introduction to Tango polling
• Every Tango device server process has a polling thread
• Its rule is to– Poll attribute and/or command (without input
parameters)– Store result in a data cache (called polling
buffer) managed as a circular buffer– Detect events and throw them to the CORBA
notification service
Introduction to Tango polling
• Every Tango device server process has a polling thread
• Its rule is to– Poll attribute and/or command (without input
parameters)– Store result in a data cache (called polling
buffer) managed as a circular buffer– Detect events and throw them to the CORBA
notification service
Introduction to Tango polling
• Each device has its own polling buffer• Polling buffer depth is tunable
– By device (default is 10)– By command/attribute for finer tuning
• Client get their data from– The real device– The last record in the polling buffer– The polling buffer and in case of error from the
real device– The choice is done by a Tango API client call
• Model-Driven Development of Distributed Systems - Volter
• ITER