Brief history of the MARTe framework -...

34
MARTe History G. De Tommasi Outline Where we started from JETRT From JETRT to MARTe Conclusions 1 Brief history of the MARTe framework CODAC MARTe Meeting Barcelona, September 30, 2013 G. De Tommasi 1 1 CREATE, Universit` a di Napoli Federico II

Transcript of Brief history of the MARTe framework -...

Page 1: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

1

Brief history of the MARTe framework

CODAC MARTe MeetingBarcelona, September 30, 2013

G. De Tommasi11CREATE, Universita di Napoli Federico II

Page 2: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

2

Outline

Where we started from - JETRTJETRT

From JETRT to MARTe

Conclusions

Page 3: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

3

PPCC Control systems in the mid 90s

PPCC systems for plasma magnetic control

The two main systems run at JET by the Plasma Positionand Current Control Group were (and still are!):

Shape Controller (SC) C code deployed on aVxWorks/VME/Motorola68k platform

the Vertical Stabilization System (VS) C code deployed on 4Texas Instruments DSPs

I The code was tailored for the specific platform

I Lack of modularity

I Different software solutions to interface with the JETsoftware infrastructure (pre-pulse system configuration,post-pulse data collection,. . .)

M. Lennholm et al.,

Plasma control at JET,Fus. Eng. Design, vol. 48(1–2), Aug. 2000

Page 4: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

4

A new framework for RT applications

I In 2001/2002 the revamping of the SC was planned in order to add theeXtreme Shape Controller algorithm (XSC)

I Within the PPCC group, it was decided to move to a commonframework for the development of real-time applications

Aims (User Requirements)

I Standardize the development of real-time applications

I Increase the code reusability

I Separate (as much as possible) the user application from the softwarerequired to interface with the plant infrastructure

I Reduce the time needed for commissioning

High Level System Requirements

The new framework would have been:

I portable (multi-OS and multi-platform)

I modular – the user application would have been easily plugged intoan executor of real-time application

I written in C++ (object oriented approach)

Page 5: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

4

A new framework for RT applications

I In 2001/2002 the revamping of the SC was planned in order to add theeXtreme Shape Controller algorithm (XSC)

I Within the PPCC group, it was decided to move to a commonframework for the development of real-time applications

Aims (User Requirements)

I Standardize the development of real-time applications

I Increase the code reusability

I Separate (as much as possible) the user application from the softwarerequired to interface with the plant infrastructure

I Reduce the time needed for commissioning

High Level System Requirements

The new framework would have been:

I portable (multi-OS and multi-platform)

I modular – the user application would have been easily plugged intoan executor of real-time application

I written in C++ (object oriented approach)

Page 6: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

4

A new framework for RT applications

I In 2001/2002 the revamping of the SC was planned in order to add theeXtreme Shape Controller algorithm (XSC)

I Within the PPCC group, it was decided to move to a commonframework for the development of real-time applications

Aims (User Requirements)

I Standardize the development of real-time applications

I Increase the code reusability

I Separate (as much as possible) the user application from the softwarerequired to interface with the plant infrastructure

I Reduce the time needed for commissioning

High Level System Requirements

The new framework would have been:

I portable (multi-OS and multi-platform)

I modular – the user application would have been easily plugged intoan executor of real-time application

I written in C++ (object oriented approach)

Page 7: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

5

Separation between application and infrastructuresoftware

Why we want to separate application frominfrastructure software?

I Scientists (process experts) can abstract from the plantinterfaces

I Increase code reusability

I Achieve standardization

Page 8: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

6

JETRT

I The JETRT framework was developed in 2002/2003 to deploy the XSCI JETRT is based on the cross-platform BaseLib library (developed within

the PPCC group)

Page 9: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

7

Services and servers

1. Identification of the services

2. Definition of the servers interface

3. Implementation (technological solutions)

Page 10: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

7

Services and servers

1. Identification of the services

2. Definition of the servers interface

3. Implementation (technological solutions)

Page 11: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

7

Services and servers

1. Identification of the services

2. Definition of the servers interface

3. Implementation (technological solutions)

Page 12: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

8

Real-time application plug-in

The Real-time ApplicationPlug-in that can be used to:

I

I

I

RT Plug-in

Page 13: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

8

Real-time application plug-in

The Real-time ApplicationPlug-in that can be used to:

I perform offline validationagainst a plat model

I

I

RT Plug-in

Offline validation

Page 14: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

8

Real-time application plug-in

The Real-time ApplicationPlug-in that can be used to:

I perform offline validationagainst a plat model

I perform real-time validationwith hardware-in-the-loop

I

RT Plug-in

Offline validation

HIL validation

Page 15: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

8

Real-time application plug-in

The Real-time ApplicationPlug-in that can be used to:

I perform offline validationagainst a plat model

I perform real-time validationwith hardware-in-the-loop

I run the real-time system onthe plant

RT Plug-in

Offline validation

HIL validation

Plant

Page 16: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

9

XSC

I The new SC (including the XSC) was deployed on a400 MHz G4 PowerPC running VxWorks

I 2 ms control loop (but it can easily run at 1 ms)

Commissioning of the JETRT framework and of theXSC

I Thanks to portability, an exhaustive debug of both theJETRT framework and the XSC was performed

I offline, on a Windows–based platform

I in lab, with a mockup of the JET timing system and ofthe I/O

I Only 3 days of testing on the plant were neededfor the commissioning of the new system

Page 17: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

9

XSC

I The new SC (including the XSC) was deployed on a400 MHz G4 PowerPC running VxWorks

I 2 ms control loop (but it can easily run at 1 ms)

Commissioning of the JETRT framework and of theXSC

I Thanks to portability, an exhaustive debug of both theJETRT framework and the XSC was performed

I offline, on a Windows–based platformI in lab, with a mockup of the JET timing system and of

the I/O

I Only 3 days of testing on the plant were neededfor the commissioning of the new system

Page 18: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

9

XSC

I The new SC (including the XSC) was deployed on a400 MHz G4 PowerPC running VxWorks

I 2 ms control loop (but it can easily run at 1 ms)

Commissioning of the JETRT framework and of theXSC

I Thanks to portability, an exhaustive debug of both theJETRT framework and the XSC was performed

I offline, on a Windows–based platformI in lab, with a mockup of the JET timing system and of

the I/O

I Only 3 days of testing on the plant were neededfor the commissioning of the new system

Page 19: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

10

MARTe - The origins (Fall Winter 2004/05)

Page 20: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

11

JETRT limitations

I JETRT didn’t provide a real separation between theuser application from the plant-interface software!

I In 2011, about 1 ppm was needed to include theCurrent Limit Avoidance system in SC!

From JETRT to MARTe

I More modularity → Generic Application Modules(GAMs)

I Real separation → Dynamic Data Buffer (DDB)

. . .what happened after is a well-known story

Page 21: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

11

JETRT limitations

I JETRT didn’t provide a real separation between theuser application from the plant-interface software!

I In 2011, about 1 ppm was needed to include theCurrent Limit Avoidance system in SC!

From JETRT to MARTe

I More modularity → Generic Application Modules(GAMs)

I Real separation → Dynamic Data Buffer (DDB)

. . .what happened after is a well-known story

Page 22: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

11

JETRT limitations

I JETRT didn’t provide a real separation between theuser application from the plant-interface software!

I In 2011, about 1 ppm was needed to include theCurrent Limit Avoidance system in SC!

From JETRT to MARTe

I More modularity → Generic Application Modules(GAMs)

I Real separation → Dynamic Data Buffer (DDB)

. . .what happened after is a well-known story

Page 23: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

11

JETRT limitations

I JETRT didn’t provide a real separation between theuser application from the plant-interface software!

I In 2011, about 1 ppm was needed to include theCurrent Limit Avoidance system in SC!

From JETRT to MARTe

I More modularity → Generic Application Modules(GAMs)

I Real separation → Dynamic Data Buffer (DDB)

. . .what happened after is a well-known story

Page 24: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

12

What I like (as a user). . .

I I need to know very few things about theframework to write my GAMs

I I can make the functional tests in my officewithout any specific hardware

I I’m sure that the code I’m writing will be the onedeployed on the plant

I I can easily build a web-based HMI that will notaffect the system performance

I If someone develops something interesting, I caneasily use it in my project

Page 25: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

13

. . .and what I don’t

I Writing the config files by hand!

I Lack of tools that facilitate the system setup

I Although some of effort has been done so far. . .I . . .documentation is one of the weakest point for

MARTe

Page 26: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

13

. . .and what I don’t

I Writing the config files by hand!I Lack of tools that facilitate the system setup

I Although some of effort has been done so far. . .I . . .documentation is one of the weakest point for

MARTe

Page 27: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

13

. . .and what I don’t

I Writing the config files by hand!I Lack of tools that facilitate the system setup

I Although some of effort has been done so far. . .I . . .documentation is one of the weakest point for

MARTe

Page 28: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

14

What (I think) is important for the ITER framework

Long term scenario

ITER is an international project and people from all over theworld will contribute to the development of real-timesystems (control systems and diagnostics)

I They will contribute coming on-site

I They will contribute developing new features at theirhome lab

I Definition of the APIs for all the services (I/Odrivers, data collection, communication services,etc.)

I Separation between the user application and theinfrastructure

I Possibility of testing the real-time software with asimple PC (no need of special DAQ hardware)

I Automatic code generation(?)

Page 29: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

14

What (I think) is important for the ITER framework

Long term scenario

ITER is an international project and people from all over theworld will contribute to the development of real-timesystems (control systems and diagnostics)

I They will contribute coming on-site

I They will contribute developing new features at theirhome lab

I Definition of the APIs for all the services (I/Odrivers, data collection, communication services,etc.)

I Separation between the user application and theinfrastructure

I Possibility of testing the real-time software with asimple PC (no need of special DAQ hardware)

I Automatic code generation(?)

Page 30: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

14

What (I think) is important for the ITER framework

Long term scenario

ITER is an international project and people from all over theworld will contribute to the development of real-timesystems (control systems and diagnostics)

I They will contribute coming on-site

I They will contribute developing new features at theirhome lab

I Definition of the APIs for all the services (I/Odrivers, data collection, communication services,etc.)

I Separation between the user application and theinfrastructure

I Possibility of testing the real-time software with asimple PC (no need of special DAQ hardware)

I Automatic code generation(?)

Page 31: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

14

What (I think) is important for the ITER framework

Long term scenario

ITER is an international project and people from all over theworld will contribute to the development of real-timesystems (control systems and diagnostics)

I They will contribute coming on-site

I They will contribute developing new features at theirhome lab

I Definition of the APIs for all the services (I/Odrivers, data collection, communication services,etc.)

I Separation between the user application and theinfrastructure

I Possibility of testing the real-time software with asimple PC (no need of special DAQ hardware)

I Automatic code generation(?)

Page 32: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

14

What (I think) is important for the ITER framework

Long term scenario

ITER is an international project and people from all over theworld will contribute to the development of real-timesystems (control systems and diagnostics)

I They will contribute coming on-site

I They will contribute developing new features at theirhome lab

I Definition of the APIs for all the services (I/Odrivers, data collection, communication services,etc.)

I Separation between the user application and theinfrastructure

I Possibility of testing the real-time software with asimple PC (no need of special DAQ hardware)

I Automatic code generation(?)

Page 33: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

14

What (I think) is important for the ITER framework

Long term scenario

ITER is an international project and people from all over theworld will contribute to the development of real-timesystems (control systems and diagnostics)

I They will contribute coming on-site

I They will contribute developing new features at theirhome lab

I Definition of the APIs for all the services (I/Odrivers, data collection, communication services,etc.)

I Separation between the user application and theinfrastructure

I Possibility of testing the real-time software with asimple PC (no need of special DAQ hardware)

I Automatic code generation(?)

Page 34: Brief history of the MARTe framework - wpage.unina.itwpage.unina.it/detommas/presentations/MARTe_History.pdf · MARTe History G. De Tommasi Outline Where we started from JETRT From

MARTe History

G. De Tommasi

Outline

Where we startedfrom

JETRT

From JETRT toMARTe

Conclusions

14

What (I think) is important for the ITER framework

Long term scenario

ITER is an international project and people from all over theworld will contribute to the development of real-timesystems (control systems and diagnostics)

I They will contribute coming on-site

I They will contribute developing new features at theirhome lab

I Definition of the APIs for all the services (I/Odrivers, data collection, communication services,etc.)

I Separation between the user application and theinfrastructure

I Possibility of testing the real-time software with asimple PC (no need of special DAQ hardware)

I Automatic code generation(?)