scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Synthesizing Distributed Protocol Specifications from a UML State Machine Modeled Service Specification

15 Nov 2012-Journal of Computer Science and Technology (Springer US)-Vol. 27, Iss: 6, pp 1150-1168
TL;DR: A synthesis method is proposed that automatically synthesizes the protocol specification of distributed protocol entities from the service specification, given that both types of specifications are modeled in UML protocol state machines.
Abstract: The object-oriented paradigm is widely applied in designing and implementing communication systems. Unified Modeling Language (UML) is a standard language used to model the design of object-oriented systems. A protocol state machine is a UML adopted diagram that is widely used in designing communication protocols. It has two key attractive advantages over traditional finite state machines: modeling concurrency and modeling nested hierarchical states. In a distributed communication system, each entity of the system has its own protocol that defines when and how the entity exchanges messages with other communicating entities in the system. The order of the exchanged messages must conform to the overall service specifications of the system. In object-oriented systems, both the service and the protocol specifications are modeled in UML protocol state machines. Protocol specification synthesis methods have to be applied to automatically derive the protocol specification from the service specification. Otherwise, a time-consuming process of design, analysis, and error detection and correction has to be applied iteratively until the design of the protocol becomes error-free and consistent with the service specification. Several synthesis methods are proposed in the literature for models other than UML protocol state machines, and therefore, because of the unique features of the protocol state machines, these methods are inapplicable to services modeled in UML protocol state machines. In this paper, we propose a synthesis method that automatically synthesizes the protocol specification of distributed protocol entities from the service specification, given that both types of specifications are modeled in UML protocol state machines. Our method is based on the latest UML version (UML2.3), and it is proven to synthesize protocol specifications that are syntactically and semantically correct. As an example application, the synthesis method is used to derive the protocol specification of the H.323 standard used in Internet calls.
Citations
More filters
Book
11 May 2010
TL;DR: This paper evaluates the suitability of UML 2.0 combined with its Testing profile for the engineering of industrial communication protocols using a case study.
Abstract: The engineering of communication protocols is quite difficult and a complex task, as it demands good experience in the field of protocol and system design, implementation, testing, optimization and maintenance of such protocols. In most cases, these protocols are described using informal techniques like informal textual documentations, graphical description techniques, and structural analysis and design. As proven in practice, these lead to ambiguous definitions and lack of definitions because completeness, and consistency cannot be proved. The advent of Unified Modeling Language version 2.0 (UML 2.0) along with its UML Testing Profile (U2TP)in the recent years, promises to be a major break through in the field of formal description techniques. Thus, this work evaluates the suitability of UML 2.0 combined with its Testing Profile for engineering communication protocols using a case study. For experimental case study, this work uses a simple and the most commonly known INRES (Initiator - Responder) protocol. This book is expected to serve as a good starting point for learning UML 2.0 and protocol engineering.

12 citations

Proceedings ArticleDOI
01 Nov 2013
TL;DR: A process modeling method, combining UML state machine and hierarchical analysis, is presented to address the problems of non-simple disassembly and assembly procedure and enormous system models in the aircraft maintenance training system.
Abstract: To address the problems of non-simple disassembly and assembly procedure and enormous system models in the aircraft maintenance training system, a process modeling method, combining UML(Unified Modeling Language)state machine and hierarchical analysis, is presented. UML state machine is used to build a model contained of state, migration and constraints on regulating the component model. The adoption of hierarchical analysis was used to achieve a logical and orderly presentation and real-time monitoring the parts. This simplified models and improved the efficiency of modeling. A fairly good simulation result is achieved and shows the feasibility of our approach.

3 citations

Posted Content
TL;DR: Using SMT solvers to automate the protocol generation is the key idea behind the presented synthesis approach and the protocols generated followed the most optimal way of data transmission for the given network requirements.
Abstract: Networks protocols are the heart of communication networks. An efficient network protocol does maximum utilization of the underlying network capabilities. Network Protocol synthesis is the process of synthesizing or deriving network specific protocols from the requirements of a given specific network. In this report, we present a step-by-step approach for the automated synthesis of network protocols from the network specifications. Using SMT solvers to automate the protocol generation is the key idea behind the presented synthesis approach. The protocols generated using this approach followed the most optimal way of data transmission for the given network requirements.

3 citations


Cites background or methods from "Synthesizing Distributed Protocol S..."

  • ...So in [18] the service specifications are modeled as UML protocol state machines and they apply similar projection and evaluation steps as in [19] to transform the service specifications to protocol specifications but in the form of UML protocol state machines....

    [...]

  • ...An example of service specification in the form of UML state machine [18]...

    [...]

  • ...Specifically, UML protocol state machines can be used to express concurrency and state hierarchy, consider figure III from [18]....

    [...]

  • ...However in one of their recent works [18] Saleh K....

    [...]

Proceedings ArticleDOI
01 Nov 2013
TL;DR: This paper addresses the problem of time assignment to the events defined in the service specification and shows how to extend a technique that automatically synthesizes protocol specifications from a service specification to consider the timing constraints given in theservice specification.
Abstract: In real time applications, the time required to execute the events can be crucial and must be considered. However, the existing technique for synthesizing computer communication protocol specifications from UML-based service specification does not account for timing constraints and, therefore, cannot be used in real time applications. In this paper, we address the problem of time assignment to the events defined in the service specification. In addition, we show how to extend a technique that automatically synthesizes protocol specifications from a service specification to consider the timing constraints given in the service specification. Both the service and protocol specifications are modeled using a UML state machine.

3 citations

References
More filters
Book
01 Jan 2008
TL;DR: Theoretical Computer Science, Information Structures, and Networks and Flows.
Abstract: Foundations Counting Methods Sequences Number Theory Algebraic Structures Linear Algebra Discrete Probability Graph Theory Trees Networks and Flows Partially Ordered Sets Combinatorial Designs Discrete and Computational Geometry Coding Theory and Cryptology Discrete Optimization Theoretical Computer Science Information Structures Data Mining Bioinformatics

402 citations


"Synthesizing Distributed Protocol S..." refers background in this paper

  • ...Proving semantic correctness requires proving that the resulting protocol specification provides the same service specified in the S-SPEC with the same possible orderings of the SPs. Definition 8. µ(SM ) is the collection of all of the possible traces of SPs modeled in the state machine SM....

    [...]

Book
25 Apr 2006
TL;DR: Engaging and accessible, this book shows you how to use UML to craft and communicate your project's design and is the one source you need to get up and running with UML 2.0.
Abstract: "Since its original introduction in 1997, the Unified Modeling Language has revolutionized software development. Every integrated software development environment in the world--open-source, standards-based, and proprietary--now supports UML and, more importantly, the model-driven approach to software development. This makes learning the newest UML standard, UML 2.0, critical for all software developers--and there isn't a better choice than this clear, step-by-step guide to learning the language." --Richard Mark Soley, Chairman and CEO, OMG If you're like most software developers, you're building systems that are increasingly complex. Whether you're creating a desktop application or an enterprise system, complexity is the big hairy monster you must manage.The Unified Modeling Language (UML) helps you manage this complexity. Whether you're looking to use UML as a blueprint language, a sketch tool, or as a programming language, this book will give you the need-to-know information on how to apply UML to your project. While there are plenty of books available that describe UML, Learning UML 2.0 will show you how to use it. Topics covered include:Capturing your system's requirements in your model to help you ensure that your designs meet your users' needsModeling the parts of your system and their relationshipsModeling how the parts of your system work together to meet your system's requirementsModeling how your system moves into the real world, capturing how your system will be deployedEngaging and accessible, this book shows you how to use UML to craft and communicate your project's design. Russ Miles and Kim Hamilton have written a pragmatic introduction to UML based on hard-earned practice, not theory. Regardless of the software process or methodology you use, this book is the one source you need to get up and running with UML 2.0. Additional information including exercises can be found at www.learninguml2.com.Russ Miles is a software engineer for General Dynamics UK, where he works with Java and Distributed Systems, although his passion at the moment is Aspect Orientation and, in particular, AspectJ. Kim Hamilton is a senior software engineer at Northrop Grumman, where she's designed and implemented a variety of systems including web applications and distributed systems, with frequent detours into algorithms development.

171 citations


"Synthesizing Distributed Protocol S..." refers background in this paper

  • ...x [50], a state machine (previously referenced as a state chart in UML 1) is a diagram where typical states are shown in rounded-corner rectangles connected with labeled arrows that represent transitions....

    [...]

Book ChapterDOI
07 Jul 2008
TL;DR: This paper presents the first full implementation of a language and runtime for session-based distributed programming featuring asynchronous message passing, delegation, and session subtyping and interleaving, combined with class downloading and failure handling in Java.
Abstract: This paper demonstrates the impact of integrating session types and object-oriented programming, through their implementation in Java. Session types provide high-level abstraction for structuring a series of interactions in a concise syntax, and ensure type-safe communications between distributed peers. We present the first full implementation of a language and runtime for session-based distributed programming featuring asynchronous message passing, delegation, and session subtyping and interleaving, combined with class downloading and failure handling. The compilation-runtime framework of our language effectively maps session abstraction onto underlying transports and guarantees communication safety through static and dynamic session type checking. We have implemented two alternative mechanisms for performing distributed session delegation and prove their correctness. Benchmark results show session abstraction can be realised with low runtime overhead.

156 citations

Book ChapterDOI
03 Jul 2006
TL;DR: This work describes the design of Moose, its syntax, operational semantics and type system, and develops a type inference system that establishes the progress property: once a communication has been established, well-typed programs will never starve at communication points.
Abstract: A session takes place between two parties; after establishing a connection, each party interleaves local computations with communications (sending or receiving) with the other. Session types characterise such sessions in terms of the types of values communicated and the shape of protocols, and have been developed for the π-calculus, CORBA interfaces, and functional languages. We study the incorporation of session types into object-oriented languages through Moose, a multi-threaded language with session types, thread spawning, iterative and higher-order sessions. Our design aims to consistently integrate the object-oriented programming style and sessions, and to be able to treat various case studies from the literature. We describe the design of Moose, its syntax, operational semantics and type system, and develop a type inference system. After proving subject reduction, we establish the progress property: once a communication has been established, well-typed programs will never starve at communication points.

146 citations

Journal Article
TL;DR: MOOSE as mentioned in this paper is a multi-threaded language with session types, thread spawning, iterative and higher-order sessions, which aims to consistently integrate the object-oriented programming style and sessions, and to treat various case studies from the literature.
Abstract: A session takes place between two parties; after establishing a connection, each party interleaves local computations with communications (sending or receiving) with the other. Session types characterise such sessions in terms of the types of values communicated and the shape of protocols, and have been developed for the π-calculus, CORBA interfaces, and functional languages. We study the incorporation of session types into object-oriented languages through MOOSE, a multi-threaded language with session types, thread spawning, iterative and higher-order sessions. Our design aims to consistently integrate the object-oriented programming style and sessions, and to be able to treat various case studies from the literature. We describe the design of MOOSE, its syntax, operational semantics and type system, and develop a type inference system. After proving subject reduction, we establish the progress property: once a communication has been established, well-typed programs will never starve at communication points.

132 citations