A Method for Modeling and Verifying of UML 2.0 Sequence Diagrams using SPIN

Luan Chi Le

Abstract


AbstractThis paper proposes a method for modeling and verifying UML 2.0 sequence diagrams using SPIN/PROMELA. The key idea of this method is to generate models that specify behaviors of each object in the given UML 2.0 sequence diagrams. In this paper, I/O automata are used as the models to maintain the interaction among objects. This work also proposes a mechanism to translate these models into PROMELA to use SPIN for checking the correctness of the system. By ensuring software design correctness, several properties can be guaranteed such as safety, stability, and the fact that no vulnerability is left. A support tool for this method is presented and tested with some particular systems to show the accuracy and effectiveness of the proposed method. This approach has promising potential to be applied in practice.

Tóm tắt— Bài báo này đề xuất một phương pháp để mô hình hóa và kiểm chứng biểu đồ trình tự UML 2.0 sử dụng SPIN/ PROMELA. Ý tưởng chính của phương pháp là xây dựng các mô hình mô tả hành vi của từng đối tượng trong biểu đồ trình tự UML 2.0. Các mô hình này biểu diễn dưới dạng các ôtômát vào/ra nhằm giữ nguyên tính tương tác giữa các đối tượng. Nghiên cứu đưa ra một kỹ thuật hỗ trợ chuyển đổi các mô hình này thành các đặc tả PROMELA để cung cấp cho bộ công cụ SPIN nhằm kiểm chứng tính đúng đắn của các biểu đồ tuần tự. Bằng cách đảm bảo tính chính xác của thiết kế phần mềm, một số thuộc tính có thể được đảm bảo như an toàn, ổn định và thực tế là không còn lỗ hổng nào. Một công cụ hỗ trợ cho phương pháp đề xuất cũng được cài đặt và thực nghiệm với một số hệ thống điển hình nhằm minh chứng cho tính đúng đắn, hiệu quả và dễ sử dụng. Cách tiếp cận này hứa hẹn sẽ được áp dụng trong thực tế.


Keywords


Model Checking; Model Generation; SPIN/PROMELA; I/O Automata; Sequence Diagrams.

Full Text:

PDF

References


[1]. ALAWNEH, L., DEBBABI, M., HASSAINE, F., JARRAYA, Y., & SOEANU, A., “A unified approach for verification and validation of systems and software engineering models”, In 13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06), pp. 409-418, 2006.

[2]. BAIER, C., KATOEN, J. P., LARSEN, K. G., “Principles of model checking”, MIT Press, 2008.

[3]. CLARKE, E. M., GRUMBERG, O., PELED, D., “Model checking”. MIT press, 1999.

[4]. COBLEIGH, J. M., GIANNAKOPOULOU, D., PĂSĂREANU, C. S., “Learning assumptions for compositional verification”, In International Conference on Tools and Algorithms for the Construction and Analysis of Systems, Springer Berlin Heidelberg, pp. 331-346, 2003.

[5]. GRØNMO, R., MØLLER-PEDERSEN, B., “From UML 2 Sequence Diagrams to State Machines by Graph Transformation”. Journal of Object Technology, 10(8), 1-22, 2011.

[6]. GUELFI, N., MAMMAR, A., “A formal semantics of timed activity diagrams and its PROMELA translation”, In 12th Asia-Pacific Software Engineering Conference, 2005.

[7]. H. M. DUONG, L. K. TRINH, P. N. HUNG, “An Assume-Guarantee Model Checker for Component-Based Systems”, In IEEE-RIVF, pp. 22-26, 2013.

[8]. JUSSILA, T., DUBROVIN, J., JUNTTILA, T., LATVALA, T., PORRES, I., & LINZ, J. K. U., “Model checking dynamic and hierarchical UML state machines”, Proc. MoDeV2a: Model Development, Validation and Verification, pp. 94-110, 2006.

[9]. KNAPP, A., WUTTKE, J., “Model checking of UML 2.0 interactions”, In International Conference on Model Driven Engineering Languages and Systems, pp. 42-51, 2006.

[10]. L. C. LUAN, P. N. HUNG, “A method for model generation from UML 2.0 sequence diagrams”, Proc. FAIR’9, Can Tho, pp. 619-625, 2016.

[11]. LATELLA, D., MAJZIK, I., & MASSINK, M., “Automatic verification of a behavioural subset of UML statechart diagrams using the SPIN model-checker”, Formal aspects of computing, 11(6), pp. 637-664, 1999.

[12]. LIMA, V., TALHI, C., MOUHEB, D., DEBBABI, M., WANG, L., POURZANDI, M., “Formal verification and validation of UML 2.0 sequence diagrams using source and destination of messages”, Electronic Notes in Theoretical Com. Science, 254, pp.143-160, 2009.

[13]. MIKK, E., LAKHNECH, Y., SIEGEL, M., & HOLZMANN, G. J. (1998). “Implementing statecharts in PROMELA/SPIN”, In Industrial Strength Formal Specification Techniques, Proc. 2nd IEEE Workshop, pp. 90-101, 1998.

[14]. P. N. HUNG, T. KATAYAMA, “Modular Conformance Testing and Assume-Guarantee Verification for Evolving Component-Based Software”, In the 15th Asia-Pacific Software Engineering Conference, IEEE Computer Society Press, pp. 479-486, 2008.

[15]. SCHÄFER, T., KNAPP, A., MERZ, S., “Model checking UML state machines and collaborations”, Electronic Notes in Theoretical Com. Sci., 55(3), pp.357-369, 2001.

[16]. SIVERONI, I., ZISMAN, A., SPANOUDAKIS, G., “Property specification and static verification of UML models”, In Availability, Reliability and Security, pp. 96-103, 2008.

[17]. VAN AMSTEL, M. F., LANGE, C. F., & CHAUDRON, M. R., “Four automated approaches to analyze the quality of UML sequence diagrams”. In Computer Software and Applications Conf., pp. 415-424, 2007.

[18]. ZHANG, C. & DUAN, Z., “Specification and Verification of UML 2.0 Sequence Diagrams Using Event Deterministic Finite Automata”, in 'SSIRI (Companion)', IEEE Computer Society, pp. 41-46, 2011.

[19]. OMG Unified Modeling Language. [Online]. http://www.omg.org/spec/UML/2.5/PDF.

[20]. HOLZMANN, GERARD J (1997). "The model checker SPIN." IEEE Transactions on software engineering 23.5: 279.

[20]. Basic SPIN Manual. [Online]. Available: http://spinroot.com/spin/Man/Manual.html


Refbacks

  • There are currently no refbacks.