JAVA
Java is one of the most used programming languages in the world. The usage of modern java virtual machines makes ThirdEye not only platform independent but also fast. Java furthermore offers a vast ecosystem of tools and libraries that make programming simulation models easy and fast. If legacy code has to be integrated into simulator models, Java offers connectivity to most other relevant programming languages. The ThirdEye is based on and tested with JAVA 8 but is compatible with more recent versions too.
Eclipse
The Eclipse Platform is not only an IDE but much more a platform for running OSGI Bundles and Eclipse plug-ins. It is entirely modular composed and by selecting existing and implementing custom plug-ins it is possible to very quickly build very powerful tools based on Eclipse. Hundreds of open-source as well as proprietary Eclipse based tools are available. This makes the integration of different systems engineering tools and project management tools very easy. A few examples of Eclipse based open-source systems engineering tools are:
- ProR, a requirements engineering tool
- Papyrus, an UML modeling tool
- Capella, a model-based systems engineering tool.
Eclipse Modeling Framework
The Eclipse Modeling Framework (EMF) is a modeling framework and code generation facility for Java. It is widely used in the Eclipse ecosystem and all of the aforementioned Eclipse based systems engineering tools are based on EMF. The user can specify structured data models through annotated Java, XML or graphical editors. From these data models, then Java source code can be generated. EMF also provides means of integrating the hand-written code with the auto-generated code. The EMF ecosystem furthermore provides many tools for displaying, manipulating, storing or transforming EMF modeled objects such as:
- Eclipse Client Platform (ECP) for form based UI components
- Sirius for displaying EMF models in graphical diagrams
- CDO (Connected Data Objects) for revision control and storage of complex EMF models
- Acceleo for model-to-text transformation
The ThirdEye simulator kernel as well as the ThirdEye simulator models are modeled in EMF. This allows the usage of the aforementioned EMF tools and easy integration with other EMF based tools such as the Eclipse based system engineering tools described in the section above. While the usage of EMF allows integration of ThirdEye into the Eclipse ecosystem, it does not require it. The ThirdEye simulator can also be used in a headless mode that does not require a full Eclipse installation.