The Whole Platform is 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 languages and notations enables the problem domain experts to work together with the programming experts for the development of the software products: the former write the business knowledge, the latter write the generators.
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, JavaScript, Objective C and XML.