PolarSys technology vision becomes reality with Luna!
A vision for extensible tool chains for Embedded Systems
In 2011, even before starting PolarSys officially, the team designed the first version of our technology vision:
It is the fundamental vision behind PolarSys development and collaboration. What you should remember is that:
- PolarSys relies on Eclipse in terms of infrastructure and platform.
- PolarSys provides and catalogs technology bricks that provide single features like modeling support, documentation and code generation and model verification.
- PolarSys leverages these technology bricks into engineering tools that fully address one specific activity of Embedded System Engineering like Architecture Design, Development or Testing.
- Tools vendors, service providers or large organization (mainly their methods and tools teams), put together engineering tools and add their specific features to add extra value to the tool chain, or to adapt the tools to a specific company workflow and environment.
In 2014, this vision becomes reality as major PolarSys projects are about to publish their 1.0 version and reach a new level of maturity.
During last EclipseCon, we were doing a status about our technologies and designed the following image:
This diagram is not about the actual size of each component, but it puts forward the fact that the shared technologies between the different tools (the Eclipse platform, Eclipse modeling technologies and the shared components) represent a significant piece of software and millions of line of code that we leverage to build the tools.
This diagram exactly shows the different kind of tools we are creating for the Polarsys engineering layer, among them:
- Capella for system architecture and design
- Papyrus for UML/SysML modeling
- CDT for realtime and embedded development
The cool things is that with Luna, we are in the unique situation to deliver 1.0 version of two major kinds of Modeling projects:
- Papyrus, the Eclipse project for UML and SysML reaches its long awaited 1.0 version. The project provides advanced customization features on top of UML and SysML. The team is now working on better user experience, and more documentation that will be ready for Luna. (See this specific article about Papyrus.)
- Sirius reaches its 1.0 version and makes it much easier and quicker than GMF to develop specific modeling tools (see the Sirius newsletter). This can be used to create tools that help visualize and analyze architecture constraints with various domain specific models.
We also share more and more components like Acceleo for code generation, Gendoc for documentation generation, OCL for model verification, Reqcycle for requirements engineering, UML Generators, and the most interesting projects from the Topcased community finally migrated to PolarSys.
We have several upcoming projects that cover new System Engineering tasks and bring new innovations.
- POP offers a synchronous modeling infrastructure to verify or transform models or generate C or Java code from e.g. AADL, Geneauto Simulink models.
- Chess brings a method and a Papyrus customization for the development of high-integrity embedded systems in domains like satellite on board systems.
- On top of Sirius, Thales is open sourcing KitAlpha for the definition of multi-viewpoint oriented tools, and will open source Capella, the system engineering tool they use in several significant projects.
Join us and contribute!
Of course, it is still a work in progress, and some of you are impatient to get to use these tools. I would say that it is certainly the perfect time to step in the community.
First, to challenge us with your expectations, and to submit bugs, request for documentation or to ask questions on the mailing list.
Second, we are starting to work an idea we have since several months: our integrated demo.
The goal is to design, develop and build a nice and extensible rover system and to show how the PolarSys tools help design this system.
The process will be iterative and fully open. We will collect new ideas, and we will regularly select several ideas to inject in the next iteration.