Whole Platform

A technology for engineering the production of software.
Download

Whole Platform Ranking & Summary

Advertisement

  • Rating:
  • License:
  • LGPL
  • Price:
  • FREE
  • Publisher Name:
  • Riccardo Solmi
  • Publisher web site:

Whole Platform Tags


Whole Platform Description

A technology for engineering the production of software. Whole Platform project is a technology for engineering the production of software.We think that programming is an activity concerning the development of domain languages; so, we provide a platform for developing new languages, manipulating them using domain notations and transforming them to executable code.Using the Whole Platform, the problem domain experts can work together with the programming experts for the development of software products.The Whole Platform includes a modeling framework, a generative system, a family of languages, and domain editors integrated with the Eclipse platform.The languages boundled with the Platform include popular languages such as Java and XML together with some new domain languages used for modeling the structure, the behavior, the persistence and the notations of a language. Here are some key features of "Whole Platform": Architecture: · Extensible. The architecture provides an API for language extension. You can add/remove languages, notations, persistences and operations. · Java frameworks and domain languages. All the expressive power of the Whole Platform is available as standard Java frameworks. Part of this expressive power is also available through a family of domain languages. · Generative. The Whole modeling languages generate code on top of the Java frameworks. Together with the extensive use of wellknown Design Patterns in frameworks, the code generated feels hand written. Metaprogramming: · Native support. Each Whole language can be used at template level and, if it has an executable semantics, it can be also used at base or host level. · Staging support for visitors. Staging support is available for behavior defined using the visitors traversal framework. · Mixing template languages. A single artifacts generator can use multiple template languages. Persistence: · Stream based persistence. The Persistence syntax of a model is pluggable. Both stream based and model based persistence methods (kits) are supported. The streaming API looks like the building events produced by the Director participant of the Builder Design Pattern. · Java code and XML default serializers. The standard persistence kits are based on a streaming API and are available in two flavor: Java and XML. The Java code, when executed, fires a stream of building events. · Stream based behavior. Model behavior can be defined directly on top of the streaming API without prior building of the model. · Multiple languages support. Programs written using multiple languages are supported even on a single source file. · Versioning support. Facilities for versioning metamodels and migrate/import existing models are provided. Editing: · GEF based editors for Eclipse. Model based visual editors for Eclipse can be added to a Whole language even using separate plugins. · Rich graphical user interfaces. Multiple kinds of notations are supported including grammar layouts for text oriented languages, math layout for mathematical expressions, tree and graph layouts for diagram oriented languages. · Multiple notations for a language. For each language multiple notations can be defined and deployed in a modular way. The notation can be changed while editing. · Mixing notations. Multiple notations can be mixed even on a single editor view. This feature is especially useful for metaprogramming using concrete syntaxes for template languages. Requirements: · Java 2 Standard Edition Runtime Environment · Eclipse What's New in This Release: General: · Improved test suites of Queries and XSD languages. IDE: · Added Choose models dialog for loading models through the Task activity. Frameworks: · Added support for result iterator · Added API support for strategies · Added support for content assist menu (via CTRL+Space) · Uniformed behavior of horizontal arrow key press on a textual selection to Eclipse text editors. Languages: · Reorganized and fixed the Interpreter · Added support for parsing BigDecimals and BigIntegers. · Added support for inline definition of unparsing behavior in DataTerminals. · Added support for EnumValue, Date, Comparable and Object data types into relational and equality constructs. · Added support in generator for AllOf, AnyOf, IsAssignableTo, HasType, HasKind. · Added support for using deployed grammars in Parse/Unparse activities · Added model support for Notation and Constraint declarations, foreign language attributes, redefine directive. Notations: · Added support for Unbounded maxOccurs attribute and foreign attributes. · Added support for composite attributes. Bugs fixed: · Fixed stage down behavior (void case) in GenericTemplateInterpreterVisitor. · Fixed variable substitution behavior for void values. · Fixed regression on transformations substituting the root entity. · Fixed unparsing of Choose rule. · Fixed how variables in ExpressionTest templates affect removal of context variables. · Fixed boolean expressions behavior in Equals and NotEquals. · Fixed AtFeatureTest with feature URI. · Fixed comparison constructs behavior with booleans, objects, enum values, and dates. · Fixed class loading regression in Content Assist and Interpreter. · Fixed type in the prototype of the Element content feature. · Fixed mapping of complex types with empty content model. · Fixed editing of data entities with Object datatype. · Fixed behavior of actions after using the Retry button of editor failure status page.


Whole Platform Related Software