Recovering Repetitive Sub-functions from Observations

  • Guy-Vincent Jourdan
  • Hasan Ural
  • Shen Wang
  • Hüsnü Yenigün
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4574)


This paper proposes an algorithm which, given a set of observations of an existing concurrent system that has repetitive sub-functions, constructs a Message Sequence Charts (MSC) graph where repetitive sub-functions of the concurrent system are identified. This algorithm makes fewer assumptions than previously published work, and thus requires fewer and easier to generate observations to construct the MSC-graph. The constructed MSC-graph may then be used as input to existing synthesis algorithms to recover the design of the existing concurrent system.


  1. 1.
    ITU Telecommunication Standardization Sector: ITU-T Recommendation Z.120. Message Sequence Charts (MSC96) (1996)Google Scholar
  2. 2.
    Rudolph, E., Graubmann, P., Gabowski, J.: Tutorial on message sequence charts. Computer Networks and ISDN Systems–SDL and MSC 28 (1996)Google Scholar
  3. 3.
    Uchitel, S., Kramer, J., Magee, J.: Detecting implied scenarios in message sequence chart specifications. In: 9th European Software Engineering Conferece and 9th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE’01) (2001)Google Scholar
  4. 4.
    Alur, R., Etessami, K., Yannakakis, M.: Inference of message sequence charts. IEEE Transactions on Software Engineering 29, 623–633 (2003)CrossRefGoogle Scholar
  5. 5.
    Chikofsky, E., Cross, J.: Reverse engineering and design recovery. IEEE Software 7, 13–17 (1990)CrossRefGoogle Scholar
  6. 6.
    Lee, D., Sabnani, K.: Reverse engineering of communication protocols. In: IEEE ICNP’93, pp. 208–216 (1993)Google Scholar
  7. 7.
    Braberman, V., Oliveto, F., Blaunstein, S.: Scenario-based validation and verification for real-time software: On run conformance and coverage for msc-graphs. In: 2nd International Workshop on Scenarios and State Machines: Models, Algorithms, and Tools, ICSE 2003 (2003)Google Scholar
  8. 8.
    Ural, H., Yenigun, H.: Towards design recovery from observations. In: de Frutos-Escrig, D., Núñez, M. (eds.) FORTE 2004. LNCS, vol. 3235, pp. 133–149. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
    Jourdan, G.V., Ural, H., Yenigun, H.: Recovering the lattice of repetitive sub-functions. In: Yolum, p., Güngör, T., Gürgen, F., Özturan, C. (eds.) ISCIS 2005. LNCS, vol. 3733, pp. 956–965. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  10. 10.
    Alur, R., Holzmann, G.J., Peled, D.: An analyzer for message sequence charts. Software Concepts and Tools 17, 70–77 (1996)Google Scholar
  11. 11.
    Ben-Abdallah, H., Leue, S.: Syntactic detection of progress divergence and non–local choice in message sequence charts. In: 2nd TACAS, pp. 259–274 (1997)Google Scholar
  12. 12.
    Alur, R., Yannakakis, M.: Model checking of message sequence charts. In: 10th International Conference on Concurrency Theory, pp. 114–129. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  13. 13.
    Alur, R., Etessami, K., Yannakakis, M.: Inference of message sequence charts. In: 22nd International Conference on Software Engineering, pp. 304–313 (2000)Google Scholar
  14. 14.
    Crochemore, M., Rytter, W.: Text Algorithms. Oxford University Press, Oxford (1994)MATHGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2007

Authors and Affiliations

  • Guy-Vincent Jourdan
    • 1
  • Hasan Ural
    • 1
  • Shen Wang
    • 1
  • Hüsnü Yenigün
    • 2
  1. 1.School of Information Technology and Engineering (SITE), University of Ottawa, 800 King Edward Avenue, Ottawa, Ontario, K1N 6N5Canada
  2. 2.Faculty of Engineering and Natural Sciences, Sabancı University, Tuzla, Istanbul, 34956Turkey

Personalised recommendations