Tango, Eclipse Workshops

quaggahooliganInternet και Εφαρμογές Web

5 Φεβ 2013 (πριν από 4 χρόνια και 2 μήνες)

116 εμφανίσεις

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

Extensions

Plug
-
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