CS 290C: Formal Models for Web Software


Nov 5, 2013 (3 years and 5 months ago)


CS 290C: Formal Models for Web Software

Lecture 11:

Model Driven Development for Web
Software with WebML

Tevfik Bultan

Model Driven Development (MDD)

In MDD approach software development is driven by

Models are written in a software modeling language
such as UML

These high level models are systematically translated to
concrete implementations

Models provide an abstract, implementation platform
independent view of the software system

Model Driven Development

Software development is a modeling activity

Even if the developers do not use any modeling
language they have mental models of the problem and
the solution they are developing

These models are then translated to code using the
abstractions provided by the programming language

MDD adds more layers of abstraction that can be used for
modeling both the problem domain and the solution

Different aspects of an application can be modeled using
different modeling techniques

Separation of Concerns

MDD promotes separation of concerns

Different modeling techniques are used for modeling
different aspects of the application

MDD separates technology dependant concerns from the
application logic


MDD promotes automation

Automated analysis and verification of models

Since models do not contain implementation details they
are easier to analyze

Automated code generation from models

Guaranteeing conformance to models

Runtime monitoring based on models

Using runtime monitoring to make sure that the
implementation follows the behavior specified in the

Automated test generation

Models can be used to generate tests for testing the

Model Driven Architecture (MDA)

MDA is supported by the Object Management Group

MDA separates the business and application logic from the
underlying implementation platform

MDA is a forward engineering approach where first abstract
model diagrams are developed which are later transformed
to code

The goal of MDA is to separate the conceptual design from
the implementation architecture

The MDA approach

First, the developers build platform independent models
for the application

uses machine readable design models

uses modeling languages such as UML

These platform independent models document the
business functionality of an application

separate from the technology
specific code that
implements it

After the implementation platform is chosen

the platform independent models are translated to
platform specific models

then the platform specific models are used to guide the
implementation for the chosen platform

Platform Independance

The platform independent models enable the business and
technological concerns to evolve separately

Models enable interoperability both within and across
platform boundaries

models serve as a technology neutral specification of the

Different components of the system can be implemented in
different platforms

they can be easily integrated since they all conform to
the same design models

MDA Benefits for Software Lifecycle


MDA enables integration of new
implementation infrastructures based on the existing design


Integration is easier since both the
implementation and the design models exists at the time of


the availability of the design in a machine
readable form gives developers direct access to the
specification of the system, making maintenance much

Testing and simulation:
The design models can be
validated against requirements and executable models can
also be used to simulated the behavior of the system

Web Modeling Language (WebML)


is a modeling language for developing web



if a modeling language for MDD of web


models are high
level, implementation
independent, conceptual models

WebML References

Stefano Ceri,

Piero Fraternali,

Aldo Bongio: Web Modeling
Language (WebML): a modeling language for designing
Web sites.

Computer Networks 33(1
6): 137
157 (2000)

Stefano Ceri,

Piero Fraternali,

Maristella Matera:
Conceptual Modeling of Data
Intensive Web

IEEE Internet Computing 6(4): 20
30 (2002)

Stefano Ceri,

Marco Brambilla,

Piero Fraternali: The History
of WebML Lessons Learned from 10 Years of Model
Development of Web Applications.

Conceptual Modeling:
Foundations and Applications 2009: 273

Stefano Ceri et al. Designing Data
Intensive Web
Morgan Kaufmann Series in Data
Management Systems.

WebML and WebRatio

There is a spinoff company that has a software tool that
generates code from WebML models


WebML models can be developed and translated to
implementations using a software toolsuite called WebRatio

More than 70 companies adopted the commercial version
of the WebRatio toolsuite and used it for medium
development projects

Separation of concerns

Technological mapping is handled by WebRatio and
WebML models are platform independent


WebML is used to create orthogonal conceptual models:

Data model

relationship diagrams (UML class diagrams),
describes the data schema

Navigation model

Modeling of how information is assembled to pages
and linked to each other (hypertext model)

Presentation model

Modeling of the views, page layout

Separation of concerns: data content, interface logic and
presentation logic are specified separately

Data Model

The data model is consists of entity
relationship diagrams

similar to UML class diagrams

Identify the data objects that will be stored in the back

The attributes of the data objects

The relations among the data objects

Navigation Model (Hypertext Model in WebML)

Units for publishing content:

Data and index units


Navigation links

Transport links (no navigation, just parameter passing
between units)

Automatic links (automatically navigated)

Contextual links transfer data whereas non
contextual links
only used for navigation

The semantics of navigation model is based on statecharts

There is a page navigation algorithm which given a
WebML navigation model and a user event identifies
what the contents of the next page will be

Presentation Model

Enables dressing of the hypertext model to obtain web
pages with the desired layout and the look & feel

It allows the use of html templates which are applied to the
hypertext model to generate the pages

WebML includes pre
defined presentation style sheets that
can be used

Modeling skeleton

Using WebML it is possible to abstract a web application to
elementary structures called skeletons (pairs of data and
hypertext diagrams) that show a certain aspect of the

Core skeletons for displaying and managing business

Access skeletons for categorizing and selecting concepts

Interconnection skeletons define the relations between the
business objects

Content management skeletons