I'm writing this message after viewing what emacs can do in the field of modeling using the CEDET Cogre package.
I've stumbled upon the this project during my search for an ideal modeling tool:
I'm convinced that graphical modeling will play a major role in system (hardware, software) and process (business management, workflows) engineering. A picture is worth a thousand words!
I must say that the possibilities for UML/SysML modeling are a bit skinny compared to eclipse. The eclipse/topcased is great thanks to all the plugins being developed at the moment (transformations, cdo, model comparison). I've been testing several of all the features available and I really like them!
BUT eclipse doesnt really fit in the workflow. Currently I'm working as lightweight as possible, using a minimal but pleasant environment:
- ubuntu server
- 'awesome' window manager
- emacs as editor
- conkeror for web browsing
Using a heavy weight application as eclipse doesnt fit in... I've been looking for alternatives with similar functionalities but there simply are none!
What I need is some way for emacs to communicate with the components written for eclipse. Been thinking on using the eclipse plugins as standalone headless RCP apps but I returned from that road after web-search. An alternative solution would be to use eclipse components by communicating through scripts.
Theres an eclipse project running which allows script based communication with all components of the platform. It's called EASE (http://wiki.eclipse.org/E4/Scripting
) and I've suggested this use case on their mailing list (email@example.com
) as they've been asking to add possible use cases in one of their presentations. Perhaps you could contact them to see if they're intrested in co-development.
I would be great to generate diagrams, transform and compare models by executing scripts in emacs/other external programs and return the output to them:
-diagrams in an xemacs-buffer or an emacs org-mode latex/html export
-using the output of modelica model execution (uml models with modelicaML stereotypes)
-source code generation for ROS nodes using engines written in eclipse epsilon project.
-literate programming within emacs org and graphical execution in presentations.
These could a few possibilities. My MAIN request is simply not having to move back and forth between emacs and eclipse when I attempt integrate models within a project.
The workflow described above is actually only one of the possible implementations of what could be one of the future goals: Using a headless eclipse RCP as middleware for software development components.
The intention would be to shift focus AWAY from all current eclipse based graphical UI. In some sense I'd compare my view to a solution which is already available in robotics software development: the core components of ROS (robotic operating system) handle all communications in a standardized fashion between a very broad and distributed community of robotic software developers.
Eclipse is a component based application, but the core-components are not often used to fulfill non-IDE functionalities.
Having the eclipse core listening as server on port using minimal resources is a start. (network communication is already a requirement within Eclipse Advanced Scripting Environment project). Adding script based communication to create jobs which execute eclipse plugin functionality is great!
Eclipse is a great IDE, perhaps even the greatest when it comes to modeling. But if the user interface could be non-eclipse based, I think you'd attract alot of non-eclipse users.