Visual languages are popular for visualizing concepts and systems. However, just being graphical in nature does not automatically make a diagram easy to understand. Its usefulness much rather depends on the placement of its elements, that is: on its layout. Getting the layout right is labour intensive and time consuming and can be made a lot easier by making algorithms do the work. The Eclipse Layout Kernel (ELK) provides such layout algorithms, as well as an infrastructure to connect them to diagram editors.
The project aims to develop and sustain the necessary tooling that will assist Cloud application lifecycle management operations, using open standards and languages, where appropriate. As aforementioned, these operations are classified into three distinct categories: (1) application description, (2) application deployment and (3) application monitoring. CAMF will follow the Eclipse OSGi plug-in based software architecture for each of the aforementioned operations and will inherit the same look-and-feel that Eclipse users are accustomed to. To guarantee the quality of the resulting product, the project will follow designated development cycles with rigorous code reviews, unit tests and release cycles.
The Eclipse Handly project provides basic building blocks for handle-based models, with an emphasis on language-specific source code models of the underlying Eclipse workspace. It allows creating highly scalable, robust, and thoroughly optimized models similar in design principles to the tried-and-tested Java model of Eclipse Java development tools while reducing programming effort, fostering software reuse, and enabling interoperability.
Handly is designed for flexibility and can be used to create source code models for practically any language, whether general-purpose or domain-specific; it is compatible with any parsing technology. The model implementor has complete control over the model's base-level API, including the ability to implement a preexisting handle-based model API. At the same time, the provided uniform meta-level API establishes a common language and makes it possible for IDE components to work in a generic way with any Handly-based model.