Abstract

UML sequence diagrams usually represent the behavior of systems execution. Automated verification of UML sequence diagrams’ correctness is necessary because they can model critical algorithmic behaviors of information systems. UML sequence diagrams applications are often on the requirement and design phases of the software development process, and their correctness guarantees the accurate and transparent implemen-tation of software products. The primary goal of this article is to review and improve the translation of basic and complex UML sequence diagrams into Spin / Promela code taking into account behavioral properties and elements of combined fragments of UML sequence diagrams for synchronous and asynchronous messages. This article also redefines a previous proposal for a transition system for UML sequence diagrams by specifying Linear Temporal Logic (LTL) formulas to verify the model correctness. We present an application example of our modeling proposal on a modified version of a traditional case study by using UML sequence diagrams to translate it into Promela code to verify their properties and correctness.

Highlights

  • Developing computerized systems requires the use of modeling languages like UML to identify and characterize the systems structural and behavioral elements along with their properties [1] [2]

  • Taking into account current references about the correctness verification of UML sequence diagrams [6] [10] [11] with the common application of the model checker Spin / Promela and other formal tools [12] [13], the main goals of this article are to improve previous concerning the representation in Promela code of UML sequence diagrams [12] [10] and to give the necessary steps for establishing Linear Temporal Logic (LTL) formulas to verify properties of execution scenarios for the modeled system

  • The use of combined fragments in UML sequence diagrams gives the capacity for modeling algorithmic behavior, and by their translation into Promela code along with the definition and correctness verification of LTL formulas, detecting algorithmic, and faults in the requirement for their correction seem possible

Read more

Summary

Introduction

Developing computerized systems requires the use of modeling languages like UML to identify and characterize the systems structural and behavioral elements along with their properties [1] [2]. For behavior modeling, UML offers use cases, sequences and state diagrams [3]. UML use case diagrams are usual at the beginning of the software development process [1] [2] [3]. UML sequence diagrams are useful to identify participant objects in use case scenarios and how those objects interact each other during the use case execution process. Participant objects in UML sequence diagrams modeled scenarios are part of the system’s classes and respect their properties and communication methods [1] [2] [3]. Even though UML state diagrams can represent states, state transitions, and events for those state changes either of individual objects or an instance of the complete system, those models do not give details about objects involved in the state

Objectives
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call