Hasso-Plattner-Institut
  
Hasso-Plattner-Institut
Prof. Dr. Holger Giese
  
 

Bachelors' project

Winter term 2009/2010 - summer term 2010

Scalable model-driven Software development

Background

Model-driven software development allows to specify applications at a higher level of abstraction. This increases development efficiency and portability of the application, and extends the application's life-cycle. Model-driven software development uses models as the primary development artifacts. The transition from high-level specifications to executable code is partly automated by suitable transformations. Development costs can be reduced this way.

Figure 1: Process component model of one of SAP's larger projects.

Model-driven software development is already used successfully for development of systems of moderate sizes. Nevertheless, existing technologies do not sufficiently scale for very large models like the one shown in Figure 1. This applies to meta-models, techniques for model transformation, as well as checking constraints expression in OCL (Object Constraint Language).

Setting of this bachelors' project is the fact that SAP needs scalable technologies for model-driven software development to use them for development of their very complex software systems. SAP uses open-source components in various areas, e.g. for providing infrastructures for building software development tools. In case of model-driven software development, the Eclipse Modeling Framework (EMF) covers many basic requirements.

Unfortunately, EMF does not scale as good as it would be necessary to support large models resulting from complex systems and large numbers of developers. EMF is already used in several projects, e.g. "NetWeaver Composite Applications Framework" and "NetWeaver Composition Designer". Before even larger projects can be based on EMF, EMF-based tools have to scale well enough.

Project Task

Therefore, this bachelors' project shall examine how scalability problems of EMF can be overcome. A working prototype shall be implemented and tested besides theoretical solution concepts.

Example problems shall be analyzed to understand the specific problems of scalability. Possible problems are:

  • efficient memory management of large models
  • decoupling of models also in case of bidirectionally navigable associations
  • efficient evaluation of OCL expressions in case of large instance models
  • incremental evaluation of OCL expressions
  • incremental model transformation and synchronization

Based on these analyses, concepts shall be developed and validated against the example problems. Based on these concepts, a scalable version of EMF shall be developed. Aim of the bachelors' project is to explore, for which cases scalability needs to be improved and how such a scalable variant of EMF could look like.

Realization

The students can make use of existing technologies to realize their concepts. EMF is publicly available software. Furthermore, the research group can provide technologies for efficient and incremental model transformation and synchronization.

The prototype shall be integrated into the Eclipse platform and, therefore, should be development with Java. A tutorial on the necessary tools and technologies will be held in the course of this project.

External Environment

The project is conducted in cooperation with SAP AG. The students will act as contractors of SAP AG. SAP AG will act as customer and domain expert. This especially applies to capturing requirements but also to evaluating the project's results.

It can be expected, that after a successful conclusion of the project, a part-time job at HPI and/or a master's thesis in cooperation with SAP AG are possible.

Organization

The procedure of the project will be aligned to capturing requirements, developing solution concepts and realizing and evaluationg a scalable variant of EMF. A goal-oriented approach shall be achieved by short iterations and feedback loops with the customer in meetings in Potsdam and Walldorf.

During the preparation phase, basic knowledge about meta-modeling, model transformation and sychronization and efficient data structures will imparted. Example tasks will solved by a single person or in small teams and the results presented to the whole team.

Students willing to participate in this project should be interested in modeling and model-driven development. They also should familiarize themselves with the necessary methodologies during the project.

Project Start

The project starts on October, 1st 2009.

General Information

For further information contact Prof. Dr. Holger Giese (Building A, room A-2.5, holger.giese(at)hpi.uni-potsdam.de). Contactperson at SAP is Dr. Axel Uhl (Chief Development Architect bei der SAP AG, axel.uhl(at)sap.com).