Hostname: page-component-8448b6f56d-mp689 Total loading time: 0 Render date: 2024-04-24T05:28:33.067Z Has data issue: false hasContentIssue false

Communiqué: a planning-based sequence diagrams generator

Published online by Cambridge University Press:  23 July 2018

Moataz Ahmed
Affiliation:
King Fahd University of Petroleum & Minerals, Dhahran 31261, Saudi Arabia e-mail: moataz@kfupm.edu.sa, yaser.a.sulaiman@gmail.com
Yaser Sulaiman
Affiliation:
King Fahd University of Petroleum & Minerals, Dhahran 31261, Saudi Arabia e-mail: moataz@kfupm.edu.sa, yaser.a.sulaiman@gmail.com

Abstract

During the software system development lifecycle, different types of Unified Modeling Language model are developed to represent different views of the system. Sequence diagrams represent one of the most important types of model. They show how objects in the system interact to offer the functionality manifested in the form of use cases. As the complexity of the system being modeled increases, creating the sequence diagrams manually becomes harder. However, the problem of automatic sequence diagrams generation has not caught enough researchers yet. This paper presents an approach and a tool to automatically generate sequence diagrams from use cases and class diagrams. The problem of determining the sequence of message passing is treated as an Artificial Intelligence action planning problem and solved as such. In doing so, Design by Contract concepts are enforced in the specification of the given use cases and class diagrams. A special message-passing planner, Communiqué, was developed and implemented accordingly. The overall approach was empirically evaluated against sets of manually created sequence diagrams available in the literature. Communiqué was able to create sequence diagrams comparable to the manually developed ones. The paper also sheds the light on some directions for future work to advance the applicability of the approach.

Type
Research Article
Copyright
© Cambridge University Press, 2018 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Al Akel, I., Al Kalaji, A., Labani, L., Al Hazemi, F., Ba Haziq, A. & Al Zahrani, H. 2011. MeetingsMate, Software Engineering Senior Project SRS, Department of Information and Computer Science, KFUPM.Google Scholar
Bruegge, B. & Dutoit, A. H. 2010. Object-Oriented Software Engineering using UML, Patterns and Java, 3rd edition. Prentice Hall.Google Scholar
Fikes, R. & Nilsson, N. J. 1971. STRIPS: a new approach to the application of theorem proving to problem solving. Artificial Intelligence 2(3/4), 189208.Google Scholar
Ghallab, M., Nau, D. & Traverso, P. 2004. Automated Planning: Theory and Practice, 1st edition. Morgan Kaufmann.Google Scholar
Hatzi, O., Vrakas, D., Bassiliades, N., Anagnostopoulos, D. & Vlahavas, I. 2013. The PORSCE II framework: using AI planning for automated semantic web service composition. The Knowledge Engineering Review 28(2), 137156.Google Scholar
Jacobson, I., Christerson, M., Jonsson, P. & Overgaard, G. 2004. Object-Oriented Software Engineering: A Use Case Driven Approach. ACM Press.Google Scholar
Kitchenham, B. A., Pfleeger, S. L., Pickard, L. M., Jones, P. W., Hoaglin, D. C., El Emam, K. & Rosenberg, J. 2002. Preliminary guidelines for empirical research in software engineering. IEEE Transactions On Software Engineering 28(8), 721734.Google Scholar
Li, L. 2000. Translating use cases to sequence diagrams. In Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering. IEEE Computer Society, 293–296, http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=873681.Google Scholar
McDermott, D., Ghallab, M., Howe, A., Knoblock, C., Ram, A., Veloso, M., Weld, D. & Wilkins, D. 1998. PDDL – The Planning Domain Definition Language. Technical report, Yale Center for Computational Vision and Control.Google Scholar
Meyer, B. 1997. Object-Oriented Software Construction, 2nd edition. Prentice Hall PRT.Google Scholar
Object Management Group 2005. XML metadata interchange specification Version 2.0.1, http://www.omg.org/spec/XMI/.Google Scholar
Object Management Group 2010. OMG Unified Modeling Language (OMG UML), Superstructure, http://www.omg.org/spec/UML/2.3/.Google Scholar
Pednault, E. 1994. ADL and the state-transition model of action. Journal of Logic and Computation 4(5), 467512.Google Scholar
Pednault, E. P. D. 1989. ADL: exploring the middle ground between STRIPS and the situation calculus. In Proceedings of the first international conference on Principles of knowledge representation and reasoning, 324–332. Morgan Kaufmann Publishers Inc.Google Scholar
Perrotta, P. 2010. Metaprogramming Ruby: Program Like the Ruby Pros, 1st edition. The Pragmatic Programmers.Google Scholar
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. & Lorensen, W. 1991. Object-Oriented Modeling and Design, 1st edition. Prentice Hall.Google Scholar
Russell, S. & Norvig, P. 2009. Artificial Intelligence: A Modern Approach, 3rd edition. Pearson Education.Google Scholar
Sawprakhon, P. & Limpiyakorn, Y. 2014. Model-driven approach to constructing uml sequence diagram. In 2014 International Conference on Information Science and Applications (ICISA).Google Scholar
Sommerville, I. 2004. Software Engineering, 7th edition. Pearson Education Limited.Google Scholar
Sulaiman, Y. & Ahmed, M. 2012. Automating UML sequence diagram generation by treating it as a planning problem. In The 18th International Conference on Distributed Multimedia Systems (DMS 2012), 124–129. Knowledge Systems Institute.Google Scholar
Sulaiman, Y. A. 2013. Planning-based approach for automating sequence diagram generation. M.Sc., Department of Information and Computer Science, KFUPM.Google Scholar
Thakur, J. S. & Gupta, A. 2014. Automatic generation of sequence diagram from use case specification. In ISEC ‘14 Proceedings of the 7th India Software Engineering Conference.Google Scholar
Thomas, D., Fowler, C. & Hunt, A. 2012. Programming Ruby 1.9: The Pragmatic Programmers’ Guide, 3rd edition. The Pragmatic Programmers.Google Scholar
Vaquero, T. S., Silva, R. & Beck, J. C. 2011. A brief review of tools and methods for knowledge engineering for planning & scheduling. In Proceedings of the ICAPS2011 Workshop on Knowledge Engineering for Planning and Scheduling, Bartfiak, R., Fratini, S., McCluskey, L. & Vaquero, T. S. (eds). Freiburg, Germany, 714.120.Google Scholar
Vaquero, T. S., Silva, J. R., Tonidandel, F. & Beck, J. C. 2013. itSIMPLE: towards an integrated design system for real planning applications. The Knowledge Engineering Review 28(2), 215230.Google Scholar
Warmer, J. & Kleppe, A. 2003. The Object Constraint Language: Getting Your Models Ready for MDA, 2nd edition. Addison Wesley.Google Scholar
Yue, T., Briand, L. & Labiche, Y. 2009. A use case modeling approach to facilitate the transition towards analysis models: concepts and empirical evaluation. In Model Driven Engineering Languages and Systems, Schürr, A. & Selic, B. (eds). Lecture Notes in Computer Science 5795, 484498. Springer.Google Scholar
Yue, T., Briand, L. C. & Labiche, Y. 2011. A systematic review of transformation approaches between user requirements and analysis models. Requirements Engineering 16, 7599.Google Scholar
Yue, T., Briand, L. C. & Labiche, Y. 2013. Facilitating the transition from use case models to analysis models: approach and experiments. ACM Transactions on Software Engineering and Methodology (TOSEM) 22(1), 5.Google Scholar