CPN models have been applied in a number of industrial projects. This has usually been as an "appendix"
to other system development methods, without integrating CPN and the CPN Tools with these methods and
their tools. Based on our experiences from earlier projects, we are convinced that it will be fruitful
to integrate CPN models more directly with other system development methods and their tools.
In the present project we take the first steps towards such an integration. Although this idea is simple,
it is also challenging from a scientific point of view. The reason for this is that we want static
UML models and dynamic CPN models to form an integrated set of models, allowing reuse
of data from one model to the other and making possible automatic checks of consistency between
models. This is not at all straightforward. Otherwise, it is rather obvious that UML already would have
had much better facilities for dynamic modelling.
The basic idea of this research is to integrate CPN Tools to the current architecture modelling tools
used at Nokia so that the dynamic scenarios and static data about the memory consumption figures of components
could be extracted from UML models and fed into CPN Tools. Then, CPN Tools can be used in a transparent
way to simulate the scenarios and produce statistics about memory usage during the scenarios. In particular,
this will require:
- Extracting relevant information from UML models.
- Modelling basic mechanisms of the underlying operating system in CPN and defining generic collaboration
- Feeding the scenarios to be simulated from a UML model into CPN Tools.
- Simulating the scenarios and producing statistics in an appropriate format to be added as an appendix
to architecture documentation.
The first step will be to investigate whether the UML diagrams contain enough information for the CPN
simulations that we want to make. We are not sure that is the case from the beginning, but then we must
investigate how the needed information can be added. Some of it can be added via the UML tools, but it
is also likely that we need some core elements of the system architecture to be modelled directly in CPN.
If this can be done general enough to be applicable for a large range of features, we see no problem in
doing this, since it can be totally hidden from the ordinary application engineer.
To investigate the basic idea in the proposed approach, we will start by making manual bridges between
the UML tool and CPN Tools. We will manually extract the necessary information from UML and put it in
the CPN model, but of course in such a way that the process later can be automated. Analogously, we manually
feed the simulation results back in the UML documents and other design documents to illustrate how the
end result will look, but again in such a way that the process can eventually be automated. Next we will
investigate what it takes, from the technical point of view, to automate the bridges between the UML tools
and CPN Tools. Whether the actual implementation of the bridges can be achieved as part of the present
project is not yet clear.
The investigation of memory requirements is only one out of many ways in which CPN models may be used
to augment UML models. We will start by pursuing this idea, but as the project progresses we may also
decide to investigate other ways of using CPN models together with UML models.
Software Architecture Group at Nokia Research Center
The Software Architecture Group (SAG) is one of the most important research groups in the Software Technology
Laboratory at Nokia Research Center.
The mission of SAG is to help Nokia to excel in software engineering and software architecture. Within
Nokia SAG works on the following areas: technology development, technology application in product development,
development of new product ideas, standardisation, and knowledge transfer. SAG has strong relations with
the research community and has many joint research projects with universities and research organisations
in Europe. SAG participates in EU co-operation projects to contribute its research results and gain visibility,
contacts and ideas.
- Research manager:
- Jens Bæk Jørgensen, PostDoc, DAIMI
Phone: +45 8942 5657, firstname.lastname@example.org
- Other partcipants from CPN group:
- Kurt Jensen, Prof., Dr. Scient., DAIMI, email@example.com
Søren Christensen, Assoc. Prof., PhD, DAIMI, firstname.lastname@example.org
- Participants from Nokia:
- Jianli Xu, email@example.com
Antti-Pekka Tuovinen, firstname.lastname@example.org