Monday, April 27, 2015

Thesis background

Introduction
Ericsson is a telecommunication company in charge of setting up, developing and maintaining radio antennas linking mobile user devices to the phone operators’ networks/internet.

The DURA department (Development Unit Radio) is developing baseband processing functions for WCDMA (3G) and LTE (4G) in order to build the next generation Multi Standard Radio Base Station.

They currently describe their software system in a textual model written in a language they developed themselves called AMZ (YAML based 1). From this model they are able to generate C code which is the base of their software’s implementation.

As their software system can be quite big and complex, the team also wants to be able to automatically generate nice looking and readable UML graphical models from AMZ files. This will allow both developers and non-developers to more easily understand the system and to save the team time when writing/updating the documentation.

The UML, Unified Modeling Language, defines several kinds of diagrams which can be grouped into three families: Structure diagrams, Behavior diagrams and Interaction diagrams. The team primarily needs to be able to generate Component diagrams (Structure) and Activity diagrams (Behavior).

Component diagrams represent the structure/architecture of a system whereas activity diagrams model the system’s behaviors and its functionalities. (See examples below)

Whereas activity diagrams model the system’s behaviors and its functionalities.(See example below)

So far the team has succeeded in generating activity diagrams by using PlantUML/GraphViz, an open source graph visualization software. However, generating readable component diagrams from AMZ files has been proven to be challenging and has not been solved yet.

Aim of the thesis

The aim of this thesis project is to investigate how to generate readable component diagrams from AMZ files and to implement a solution. Some possible options would be to extend existing open source projects, to further develop AMZ and/or to implement a completely new solution.


Method of accomplishment

We plan to organize our thesis work as follow :
  • Define with the team the project’s specifications and requirements : functions, limitations and performance expectations (running time, memory use).
  • Do a background study and analyze existing UML/ graph visualization solutions. Our aim is to determine if it would be possible to use or extend them to generate readable diagrams for the team’s software system.
  • Study in details the software system specifications as well as AMZ. The goal is to get a good understanding about the system and tools at our disposal to propose the best solution possible.
  • Design and implement our solution. One challenge we will face is to develop a good algorithm which will place dynamically the graphical components in a readable manner.
  • Rassemble test sets : software textual models. Our goal is to cover as many configurations as possible in order to verify that our solution performs well. If not,  take a step back and rethink the solution.
  • Collect test results and analyze them. It will be interesting to see how our solution performs and how it models different software systems.
  • Write the thesis report continuously during the project.

Limitations

  • Ericsson software models : our primary task is to improve component diagrams generation for Ericsson’s department products.
  • Environment : our solution should be integrated in Ericsson’s environment. It is therefore a limitation on the tools we can and cannot use.
  • Time constraint : given the limited amount of time of a thesis work, it is not realistic to think that we will be able to work on all our diagram generation improvement ideas. Instead we should select the best subset possible and focus our efforts on them to deliver a working solution by August.

No comments:

Post a Comment