This poster presents our work on reverse engineering SDL to OMT. The Specification and Description Language (SDL) [Olsen e.a., 1994] is a formal design language mostly used in the telecommunication domain. Today a lot of large and highly detailed design specifications exist. In order to maintain or reengineer those legacy systems, more abstract analysis models are needed. The Object Modeling Technique (OMT) [Rumbaugh e.a., 1991] is one of the more popular analysis formalisms in the market today.
This work further builds on the INSYDE methodology [Holz e.a., 1994]. The INSYDE methodology consists of four phases: analysis, system design, detailed design and evaluation. Each phase has its own formalism: OMT, OMT* (a formal version of OMT tailored towards SDL) [Jonckers e.a., 1995] and SDL respectively. This methodology also provides guidelines for the transition from one phase to another. For the transition between system design and detailed design there exist translation rules to translate the OMT* models into SDL models. We will call those constructed SDL models SDL* models to make a distinction with the full SDL models that will exist after performing the detailed design.
In order to introduce the INSYDE methodology in a company, the already existing designs have to be integrated with the new methodology. Therefore, analysis models and system design models are to be extracted from the (SDL) detailed design models. In other words, the detailed design models have to be reverse engineered.
The reverse engineering is done in three steps. First the detailed design has to be removed from the SDL models. Especially concepts that don't exist in OMT* (e.g. timers, gates, user defined types, ...), and therefor can't be translated, have to be reformulated or isolated. In the INSYDE methodology a classification exists of actions to be taken during the detailed design. Also some of these actions can be reversed.
The second step is the translation of the obtained SDL* model into an OMT* model. For this purpose transformation rules are constructed that are mainly the reverse of the existing transformation rules (OMT* into SDL*). Preliminary results are available for both of these steps.
In the near future we plan to improve step one and two by looking for patterns in the SDL models that can be transformed into certain OMT* patterns. Also SDL concepts that aren't directly translatable into OMT* concepts could be taken into consideration at this point. It's the intention to use the OMT concepts as much as possible.
In the third step the system design model (OMT*) has to be transformed into an analysis model (OMT). Although we didn't do research on this topic yet, we plan to do this in the future. A first problem however is that there exists no concensus about what the difference is between analysis and system design. Furthermore, the forward transformation between OMT and OMT* is a highly creative step, which will make the reverse engineering much more difficult.
[Holz e.a., 1994] Holz, E., Wasowski, M., Witaszek, D., Lau, S., Fischer, J., Cuypers, L., Heirbaut, J., Verschaeve, K., and Jonckers, V. The INSYDE methodology Report. INSYDE/WP1/HUB/400/v3 Esprit Ref:P8641 (Dec. 1994)
[Jonckers e.a., 1995] Jonckers, V., Verschaeve, K., Wydaeghe, B., Cuypers, L., and Heirbaut, J. OMT*, Bridging the Gap between Analysis and Design. In Proceedings of the 8th International Conference on Formal Description Techniques, FORTE'95 (Oct. 1995, Montreal, Canada) University de Montreal Montreal. 1995, pp. 23-39.
[Olsen e.a., 1994] Olsen, A., Faergemand, O., Moller-Pedersen, B., Reed, R., and Smith, J.R.W. Systems Engineering Using SDL-92. North-Holland Elsevier, Amsterdam, 1994.
[Rumbaugh e.a., 1991] Rumbaugh, J., Blaha, M., Premilani, W., Eddy, F., and Lorensen, W. Object-Oriented modeling and Design. Prentice-Hall, Englewood Cliffs, N.J., 1991.