15
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

What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

Embed Size (px)

Citation preview

Page 1: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

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

Page 2: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

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…

Page 3: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and
Page 4: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

Simple RCP

Page 5: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and
Page 6: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and
Page 7: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and
Page 8: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

Plug-in Architecture

Plug-in Loader

Application

ExtensionsPlug-ins

Extensible Application Eclipse

Page 9: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

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

Page 10: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

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.

Page 11: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

What is Tango ?

• Tango has an API supporting three kinds of communication between client and server– Synchronously– Asynchronously– Using event

Page 12: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

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

Page 13: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

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

Page 14: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

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

Page 15: What is Eclipse? Official Definition: –Eclipse is an open source community whose projects are focused on providing an extensible development platform and

• Model-Driven Development of Distributed Systems - Volter

• ITER