Go to content
SV På svenska

Research visit at Ericsson, Improvement of Executable UML

Reference number
SM09-0054
Start and end dates
100101-121231
Amount granted
1 192 000 SEK
Administrative organization
Chalmers University of Technology
Research area
Information, Communication and Systems Technology

Summary

The main high level objective is to improve the test environment for executable UML and investigate the possibilities of using executable UML to ease the use of multicore. The test environment will be done by extra tool support and case studies. The work on multicore will be case studies and improvements to the model compiler. These topics are not just taken out of curiosity; they are problems which are important for the future of software development and Ericsson. This is a long term research project with the goal of introducing more relevant industrial research issues regarding modeling into academia. Today this research is often carried out on toy models, which do not reflect the problems of industry. When it comes to creating code from large models Ericsson is in front of academia and most other industries. In this way we can carry out research which better contributes to Sweden's future competitiveness. Visit to Ericsson will also have the consequence that I can better help in producing courses with more relevance to industry; something which Ericsson does not think is the case today.

Popular science description

Building software systems can be a hard task for large and complex systems. This can be compared with building a complex physical structure such as bridge. To obtain an overview of the bridge a blue print is created. This blue print is both important for calculating the strength of the bridge as well as for the building contractors. In similar way we have blue print for software systems which we call a software model. The de facto standard modeling language is UML. The problem with UML is that it is not that precise. It is hard to say concrete things about a software system such as it security, performance, or correctness, from UML software models. Even when a model may, for example, correctly state that a certain connection has to be secure we have no guarantee that code will conform to the model constraint. This is why executable models, Executable UML, have come alive. Instead of writing both a software model and code separately, with executable models one only needs to create the models. Software models behave as if they were programs. Moreover, these types of models can be transformed to programs with good behavior such as good complexity and size use. This is fantastic since one only needs to focus on software models. This is truth with a little bit of modification: the models do contain some code, but code on an abstract level. Executable UML is not as mature as programming languages. There is still a lot of work do be done to have similar tools support for executable UML as for programming languages. In this project we will focus on testing at the level of models. We want to find ways of automatically test models to reduce the job of writing test cases by hand. This is important for the future success of executable UML. The job will be at Ericsson which is one of the world's largest software companies. This will give me the opportunity to work with real software models and not toy models which we are used to from academia. This will have the further benefit of learning how software models are used in industry. This not only opens up new research areas, but will benefit our student as well. Lecturing based on real work experience has a huge benefit. The benefit for Ericsson is to have someone who has been working with theoretical questions around software modeling for years, who understand the problems involved in modeling, who also strongly believes in executable UML, and who wants to contribute to the future competitiveness of Ericsson.