Whole Platform

An open source technology for engineering the production of software
Download

Whole Platform Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Riccardo Solmi
  • Publisher web site:
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 180 MB

Whole Platform Tags


Whole Platform Description

An open source technology for engineering the production of software Based on the idea that programming is an activity concerning the development of domain languages, the Whole Platform provides an Eclipse-based Language Workbench for developing new languages, manipulating them using domain notations and transforming them using a generative model driven approach.In using the Whole Platform, business knowledge can be expressed with domain specific languages and made independent of the technologies used to realize the products.The introduction of domain notations and languages enables the problem domain experts to work together with the programming experts for the development of the software products: the latter write the generators and the former write the business knowledge.The Whole Platform enforces an economy of scale. The fact that the generators are coupled to the domain languages and not to a particular business knowledge expressed with them, means that the effort of the software development is not spent in a singular product but rather in building a software product line.The languages bundled with the Whole Platform include:· modeling languages;· query and transformation languages;· data integration languages for grammars, XSD, RDB and Java libraries;· and popular languages such as Java and XML.NOTE: Whole Platform is released and licensed under the terms of the GNU Lesser General Public License. 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 a code on top of the Java frameworks. The code generated feels hand written because of the extensive use of the well-known Design Patterns. Metaprogramming: · Native support. Each Whole language can be used at a template level and, if it has an executable semantics, it can also be used at a 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 flavors: 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 5 or later 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 Cartesian iterators. · Fixed repeated calls to IEntityIterator.set. · Fixed pattern matching behavior between patterns. · 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 escaping of comments. · Fixed mapping of complex types with empty content model. · Fixed editing of data entities with Object datatype. · Fixed Outline View and behavior of actions after using the Retry button in editor failure status page.


Whole Platform Related Software