Domain-specific Multimodeling - Motivating Example

Motivating Example

Enterprise systems based on multiple domain-specific languages are abundant. Languages with a metamodel defined in the Extensible Markup Language (XML) enjoy particularly widespread adoption. To illustrate development with multiple languages, we will draw an example from a case study: The Apache Open For Business (OFBiz) system. Briefly stated, OFBiz is an enterprise resource planning system that includes standard components such as inventory, accounting, e-commerce etc. These components are implemented by a mixture of XML-based languages and regular Java code. As an example, let us focus on the content management component, particularly a use case in which the administrative user creates an online web survey as shown in the screenshot below. We will refer to this example as the create survey example.

The figure shows a screenshot of the administrative interface of the content management application in a running OFBiz instance. To create a survey, the user fills out the fields of the input form and hits the update button. This creates a new survey which can be edited and later published on a frontend website in OFBiz. Behind the scenes, this use case involves several artifacts written in different languages. In this example, let us focus on only three of these languages: the Entity, the Service, and the Form DSL.

These three languages correspond roughly to the structural, the behavioural, and the user interface concern in OFBiz. The Entity DSL is used to describe the underlying data model and hence the way the created survey will be saved. The Service DSL is used to describe the interface of the service that is invoked when the user hits the update button. Finally, the Form DSL is used to describe the visual appearance of the form. Although the three languages are tailored for different things, they can not be separated entirely. The user interface invokes a certain application logic and this application logic manipulates the data of the application. This is an example of non-orthogonal concerns. The languages overlap because the concerns that they represent cannot be separated entirely. Let us examine these three languages in a bottom-up manner and point out their overlaps.

Read more about this topic:  Domain-specific Multimodeling

Famous quotes containing the word motivating:

    Decisive inventions and discoveries always are initiated by an intellectual or moral stimulus as their actual motivating force, but, usually, the final impetus to human action is given by material impulses ... merchants stood as a driving force behind the heroes of the age of discovery; this first heroic impulse to conquer the world emanated from very mortal forces—in the beginning, there was spice.
    Stefan Zweig (18811942)

    ...one of my motivating forces has been to recreate the world I know into a world I wish I could be in. Hence my optimism and happy endings. But I’ve never dreamed I could actually reshape the real world.
    Kristin Hunter (b. 1931)