scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Designing and Verifying Communication Protocols Using Model Driven Architecture and Spin Model Checker

09 Dec 2008-Journal of Software Engineering and Applications (Scientific Research Publishing)-Vol. 01, Iss: 1, pp 13-19
TL;DR: A 2-Phase strategy based on the UML state machine and sequence diagram is introduced to satisfy the properties of communication protocols and is compared with the developed UML models.
Abstract: The need of communication protocols in today’s environment increases as much as the network explores. Many new kinds of protocols, e.g. for information sharing, security, etc., are being developed day-to-day which often leads to rapid, premature developments. Many protocols have not scaled to satisfy important properties like deadlock and livelock freedom, since MDA focuses on the rapid development rather than on the quality of the developed models. In order to fix the above, we introduce a 2-Phase strategy based on the UML state machine and sequence diagram. The state machine is converted into PROMELA code as a protocol model and its properties are derived from the sequence diagram as Linear Temporal Logic (LTL) through automation. The PROMELA code is interpreted through the SPIN model checker, which helps to simulate the behavior of protocol. Later the automated LTL properties are supplemented to the SPIN for the verification of protocol properties. The results are compared with the developed UML model and SPIN simulated model. Our test results impress the designer to verify the expected results with the system design and to identify the errors which are unnoticed during the design phase.

Content maybe subject to copyright    Report

Citations
More filters
01 Jan 2014
TL;DR: The problem of feedback from the customers must be reinforced to redesign the service flow or identify new way of handling the service and a mechanism for service innovation discovery in the domain of service redesign for enterprise is proposed.
Abstract: Enterprises launch many business services to its clients. The business process must be effective in meeting the client's expectations for the enterprises success in the competitive business area. The job of business architects in the enterprise is to design a service process flow and provide to managers to implement the service flow. When the service is ready it is open to customer access. Customer use service process flow and gets their requirements satisfied. Being the end users of the service flow, customers have lot of queries and suggestions on the service flow. Feedback from the customers must be reinforced to redesign the service flow or identify new way of handling the service. Not many systems are present in the market for this kind of service innovation requirements from the business analyst. In this paper, we explore this problem and propose a mechanism for service innovation discovery in the domain of service redesign for enterprise.
References
More filters
01 Sep 1996
TL;DR: Model checking tools, created by both academic and industrial teams, have resulted in an entirely novel approach to verification and test case generation that often enables engineers in the electronics industry to design complex systems with considerable assurance regarding the correctness of their initial designs.
Abstract: Turing Lecture from the winners of the 2007 ACM A.M. Turing Award. In 1981, Edmund M. Clarke and E. Allen Emerson, working in the USA, and Joseph Sifakis working independently in France, authored seminal papers that founded what has become the highly successful field of model checking. This verification technology provides an algorithmic means of determining whether an abstract model---representing, for example, a hardware or software design---satisfies a formal specification expressed as a temporal logic (TL) formula. Moreover, if the property does not hold, the method identifies a counterexample execution that shows the source of the problem. The progression of model checking to the point where it can be successfully used for complex systems has required the development of sophisticated means of coping with what is known as the state explosion problem. Great strides have been made on this problem over the past 28 years by what is now a very large international research community. As a result many major hardware and software companies are beginning to use model checking in practice. Examples of its use include the verification of VLSI circuits, communication protocols, software device drivers, real-time embedded systems, and security algorithms. The work of Clarke, Emerson, and Sifakis continues to be central to the success of this research area. Their work over the years has led to the creation of new logics for specification, new verification algorithms, and surprising theoretical results. Model checking tools, created by both academic and industrial teams, have resulted in an entirely novel approach to verification and test case generation. This approach, for example, often enables engineers in the electronics industry to design complex systems with considerable assurance regarding the correctness of their initial designs. Model checking promises to have an even greater impact on the hardware and software industries in the future. ---Moshe Y. Vardi, Editor-in-Chief

7,392 citations

Journal ArticleDOI
Gerard J. Holzmann1
01 May 1997
TL;DR: An overview of the design and structure of the verifier, its theoretical foundation, and an overview of significant practical applications are given.
Abstract: SPIN is an efficient verification system for models of distributed software systems. It has been used to detect design errors in applications ranging from high-level descriptions of distributed algorithms to detailed code for controlling telephone exchanges. The paper gives an overview of the design and structure of the verifier, reviews its theoretical foundation, and gives an overview of significant practical applications.

4,159 citations


"Designing and Verifying Communicati..." refers methods in this paper

  • ...The model properties are translated into a temporal logic and imported together with the PROMELA code into the model checker SPIN (Simple Protocol INterpreter) [4] for verification....

    [...]

Book
21 Apr 2003
TL;DR: Insight is given in what MDA means and what you can achieve, both today and in the future, thereby raising the level of maturity of the IT industry.
Abstract: From the Book: For many years, the three of us have been developing software using object oriented techniques. We started with object oriented programming languages, like C++, Smalltalk, and Eiffel. Soon we felt the need to describe our software at a higher level of abstraction. Even before the first object oriented analysis and design methods, like Coad/Yourdon and OMT, were published, we used our own invented bubbles and arrows diagrams. This naturally led to questions like "What does this arrow mean?" and "What is the difference between this circle and that rectangle?". We therefore rapidly decided to use the newly emerging methods to design and describe our software. During the years we found that we were spending more time on designing our models, than on writing code. The models helped us to cope with larger and more complex systems. Having a good model of the software available, made the process of writing code easier and in many cases even straightforward. In 1997 some of us got involved in defining the first standard for object oriented modeling called UML. This was a major milestone that stimulated the use of modeling in the software industry. When the OMG launched its initiative on Model Driven Architecture we felt that this was logically the next step to take. People try to get more and more value from their high level models, and the MDA approach supports these efforts. At that moment we realized that all these years we had naturally walked the path towards model driven development. Every bit of wisdom we acquired during our struggle with the systems we had to build, fitted in with this new idea of how to build software. It caused a feeling similar to an AHA-erlebnis: "Yes, this is it," the same feeling we had years before when we first encountered the object-oriented way of thinking, and again when we first read the GOF book on design patterns. We feel that MDA could very well be the next major step forward in the way software is being developed. MDA brings the focus of software development to a higher level of abstraction, thereby raising the level of maturity of the IT industry. We are aware of the fact that the grand vision of MDA, which Richard Soley, the president of the OMG, presents so eloquently, is not yet a reality. However some parts of MDA can already be used today, while others are under development. With this book we want to give you insight in what MDA means and what you can achieve, both today and in the future. Anneke Kleppe, Jos Warmer, and Wim Bast Soest, the Netherlands January 2003

2,031 citations


"Designing and Verifying Communicati..." refers methods in this paper

  • ...The final step takes PSM as an input to produce the implementation for a particular platform using a transformation tool....

    [...]

01 Nov 1998
TL;DR: 본 논문에서는 Dr Gerald J. Holzmann이 제시하였던 커널 스케줄링 방식을 프로세스 ACSR-VP 보인다.
Abstract: 본 논문에서는 Dr Gerald J. Holzmann이 제시하였던 커널 스케줄링 방식을 프로세스 알제브라 ACSR-VP를 이용해서 있음을 보인다. 본 오류는 SPIN을 통하여 역시 확인하였다. 이것을 다시 모델링하여 오류를 수정하였고 ACSR-VP와 SPIN으로 오류가 수정되었음을 확인하였다.

163 citations

Proceedings ArticleDOI
26 Aug 2002
TL;DR: This work presents a toolset which can validate both static and dynamic aspects of a model; and this toolset is based on the semantic model using Abstract State Machines, which means it is correct with respect to the semanticmodel.
Abstract: The Unified Modeling Language has become widely accepted as a standard in software development. Several tools have been produced to support UML model validation. However most of them support either static or dynamic model checking; and no tools support to check both static and dynamic aspects of a UML model. But a UML model should include the static and dynamic aspects of a software system. Furthermore, these UML tools translate a UML model into a validation language such as PROMELA. But they have some shortcomings: there is no proof of correctness (with respect to the UML semantics) for these tools. In order to overcome these shortcomings, we present a toolset which can validate both static and dynamic aspects of a model; and this toolset is based on the semantic model using Abstract State Machines. Since the toolset is derived from the semantic model, the toolset is correct with respect to the semantic model.

53 citations


"Designing and Verifying Communicati..." refers background in this paper

  • ...The Platform Independent Model is a model with a high level of abstraction that is independent of any implementation technology [11]....

    [...]