Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

Mining Hybrid UML Models from Event Logs of SOA Systems

https://doi.org/10.15514/ISPRAS-2017-29(4)-10

Abstract

In the paper we consider a method for mining so-called “hybrid” UML models, that refers to software process mining. Models are built from execution traces of information systems with service-oriented architecture (SOA), given in the form of event logs. While common reverse engineering techniques usually require the source code, which is often unavailable, our approach deals with event logs which are produced by a lot of information systems, and some heuristic parameters. Since an individual type of UML diagrams shows only one perspective of a system’s model, we propose to mine a combination of various types of UML diagrams (namely, sequence and activity ), which are considered together with communication diagrams. This allows us to increase the expressive power of the individual diagram. Each type of diagram correlates with one of three levels of abstraction (workflow, interaction and operation), which are commonly used while considering web-service interaction. The proposed algorithm consists of four tasks. They include splitting an event log into several parts and building UML sequence, activity and communication diagrams. We also propose to encapsulate some insignificant or low-level implementation details (such as internal service operations) into activity diagrams and connect them with a more general sequence diagram by using interaction use semantics. To cope with a problem of immense size of synthesized UML sequence diagrams, we propose an abstraction technique based on regular expressions. The approach is evaluated by using a developed software tool as a Windows-application in C#. It produces UML models in the form of XML-files. The latter are compatible with well-known Sparx Enterprise Architect and can be further visualized and utilized by that tool.

About the Authors

K. V. Davydova
National Research University Higher School of Economics
Russian Federation


S. A. Shershakov
National Research University Higher School of Economics
Russian Federation


References

1. W. M. P. van der Aalst. Process Mining: Discovery, Conformance and Enhancement of Business Processes. Springer Publishing Company, Incorporated, 1st edition, 2011. 


2. V. Rubin, C. W. Günther, W. M. P. van der Aalst, E. Kindler, B. F. van Dongen, and W. Schäfer. Process Mining Framework for Software Processes, pages 169– 181. Springer Berlin Heidelberg, Berlin, Heidelberg, 2007. 


3. A. K. A. de Medeiros, B. F. van Dongen, W. M. P. van der Aalst, and A. J. M. M. Weijters. Process mining: Extending the α-algorithm to mine short loops. In Eindhoven University of Technology, Eindhoven, 2004. 


4. W. M. P. van der Aalst, A. J. M. M. Weijter, and L. Maruster. Workflow Mining: Discovering process models from event logs. IEEE Transactions on Knowledge and Data Engineering, 16:2004, 2003. 


5. F. Friedrich, J. Mendling, and F. Puhlmann. Process Model Generation from Natural Language Text, pages 482–496. Springer Berlin Heidelberg, Berlin, Heidelberg, 2011. 


6. C. W. Günther and W. M. P. van der Aalst. Fuzzy Mining – Adaptive Process Simplification Based on Multiperspective Metrics, pages 328–343. Springer Berlin Heidelberg, Berlin, Heidelberg, 2007. 


7. OMG. OMG Unified Modeling Language (OMG UML), Superstructure, Version 2.5, August 2015. 


8. T. Erl. Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2005. 


9. K. V. Davydova and S. A. Shershakov. Mining Hierarchical UML Sequence Diagrams from Event Logs of SOA systems while Balancing between Abstracted and Detailed Models. 28(3):85–102, 2016. 


10. S. A. Shershakov and V. A. Rubin. System runs analysis with process mining. In Modeling and Analysis of Information Systems, pages 818–833, 2015. 


11. A. Rountev and B. H. Connell. Object Naming Analysis for Reverse-engineered Sequence Diagrams. In Proceedings of the 27th International Conference on Software Engineering, ICSE ’05, pages 254–263, New York, NY, USA, 2005. ACM. 


12. A. Rountev, O. Volgin, and M. Reddoch. Static Control-flow Analysis for Reverse Engineering of UML Sequence Diagrams. SIGSOFT Softw. Eng. Notes, 31(1):96–102, September 2005. 


13. P. Tonella and A. Potrich. Reverse engineering of the interaction diagrams from C++ code. In International Conference on Software Maintenance, pages 159–168. IEEE Computer Society, 2003.


14. E. Korshunova, M. Petkovic, M. G. J. van den Brand, and M. R. Mousavi. CPP2XMI: Reverse Engineering of UML Class, Sequence, and Activity Diagrams from C++ Source Code. In WCRE, pages 297–298. IEEE Computer Society, 2006.

15. Sparx Systems’ Enterprise Architect. http://www.sparxsystems.com.au/products/ea/.

16. IBM Rational Software Architect. https://www.ibm.com/ developerworks/downloads/r/architect/. 


17. Visual Paradigm. https://www.visual-paradigm.com/ features/. 


18. Altova UModel. http://www.altova.com/umodel.html. 


19. NetBeans UML. http://plugins.netbeans.org/plugin/1801/netbeans-uml. 


20. L. C. Briand, Y. Labiche, and J. Leduc. Toward the 
Reverse Engineering of UML Sequence Diagrams for Distributed Java Software. IEEE Trans. Softw. Eng., 32(9):642–663, September 2006. 


21. R. Delamare, B. Baudry, and Y. Le Traon. Reverse-engineering of UML 2.0 Sequence Diagrams from Execution Traces. In Proceedings of the workshop on Object-Oriented Reengineering at ECOOP 06, Nantes, France, July 2006. 


22. T. Ziadi, M. A. A. da Silva, L. M. Hillah, and M. Ziane. A Fully Dynamic Approach to the Reverse Engineering of UML Sequence Diagrams. In Isabelle Perseil, Karin Breitman, and Roy Sterritt, editors, ICECCS, pages 107– 116. IEEE Computer Society, 2011. 


23. B. Agarwal. Transformation of UML Activity Diagrams into Petri Nets for Verification Purposes. 2(3):798–805, 2013. 


24. A. Bergmayr, H. Bruneliere, J. Cabot, J. García, T. Mayerhofer, and M. Wimmer. fREX: FUML-based Reverse Engineering of Executable Behavior for Software Dynamic Analysis. In Proceedings of the 8th International Workshop on Modeling in Software Engineering, MiSE ’16, pages 20–26, New York, NY, USA, 2016. ACM. 


25. S. Dustdar, R. Gombotz, and K. Baina. Web Services Interaction Mining. Tech. Rep. TUV-1841-2004-16. 2004. 


26. W. M. P. van der Aalst. Service Mining: Using Process Mining to Discover, Check, and Improve Service Behavior. IEEE Transactions on Services Computing, 
6(4):525–535, 2013. 


27. S. J. J. Leemans, D. Fahland, and W. M. P. van der 
Aalst. Discovering Block-Structured Process Models from Event Logs Containing Infrequent Behaviour, pages 66–78. Springer International Publishing, Cham, 2014. 



Review

For citations:


Davydova K.V., Shershakov S.A. Mining Hybrid UML Models from Event Logs of SOA Systems. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2017;29(4):155-174. https://doi.org/10.15514/ISPRAS-2017-29(4)-10



Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)