E4/Scripting/telcon20130820

From Eclipsepedia

< E4‎ | Scripting
Jump to: navigation, search

Attendees

  • Pierre Gaufillet, Airbus
  • Arthur Daussy, ATOS
  • Christian Pontesegger, Infineon
  • Martin Oberhuber, WindRiver

Summary

The migration of TOPCASED to Eclipse and PolarSys includes needs for a scripting capability. The goal of this meeting is to initiate the discussion between the interested parties.

Notes

  • Airbus and ATOS are now porting the TOPCASED scripting environment to Eclipse 4.
    • The main deadline is the first binary release of PolarSys, scheduled for October 25th.
    • TOPCASED scripting is largely based on EclipseMonkey and PythonMonkey, from J.R. Fonséca. It includes several DOMs or modules making the development of modeling scripts easier.
    • This feature globally targets model designers who need to automate some activity on their models, e.g modifying fonts in all their diagrams. Those people are not Java or Eclipse developers and therefore need a very simple API.
    • Several aspects of the engine may be improved: Groovy support, module loading, UI (contextual menus).
    • Arthur has started refactoring the code based on EclipseMonkey on github:
  • WindRiver is looking for a simple and procedural scripting feature (that could be built on top of any Object Oriented DOM).
    • This Scripting feature should be drivable from the outside/network (could also be on top of any Eclipse-internal scripting), with good performances, an interactive shell with code completion (important feature) and history navigation inside Eclipse.
    • It has to be end-users oriented and really simple.
  • Infineon is looking for a very simple scripting capability that helps avoiding complex menus, etc.
    • EScript has been created to cover this need. It primarily targets Javascript (based on Rhino), but support for other languages can be added quite easily.
    • Can load dynamically modules.
    • Macro Recording Service can query a script engine (an engine takes text, and notifies listeners for every line executed). Macro Recorder attaches to those notifications - Infineon RCP is built on scripts as a core, therefore the macro recording works. But it's much harder in Eclipse... Maybe in e4, all the commands and handlers could be leveraged ? Martin thinks that components need to be macro-enabled, it can't ever work globally.
    • Details about EScript can be found at Escript blog.
  • Some issues will have to addressed on the auto-completion side, due to the dynamic typing nature of scripting language like Python. Java reflexion and Python typing annotations may help here.
  • Actions and Next Steps
  1. Confirm with Wayne that a new project needs to be started for Scripting (being hosted by an existing project would need less resources). Write Project Proposal in case a new project is needed - [Pierre]
  2. Begin writing a common simple specification on the Wiki - [Pierre]
  3. Analyze our respective code: Arthur knows Monkey, will look at Christian's code [and probably also Martin's] to see what is the best code base to start with - [Arthur]
  4. Write minimal instructions for testing EclipseMonkey+PythonMonkey+TOPCASED extensions - [Arthur]
  5. Provide a repository to test EScript - [Christian]