Synthesizing a protocol converter from executable protocol traces (original) (raw)
Related papers
A Discrete Event Systems Approach for Protocol Conversion
Discrete Event Dynamic Systems, 1997
A protocol mismatch occurs when heterogeneous networks try to communicate with each other. Such mismatches are inevitable due to the proliferation of a multitude of networking architectures, hardware, and software on one hand, and the need for global connectivity on the other hand. In order to circumvent this problem the solution of protocol conversion has been proposed. In this paper we present a systematic approach to protocol conversion using the theory of supervisory control of discrete event systems, which was partially first addressed by Inan. We study the problem of designing a converter for a given mismatched pair of protocols, using their specifications, and the specifications for the channel and the user services. We introduce the notion of converter languages and use it to obtain a necessary and sufficient condition for the existence of protocol converter and present an effective algorithm for computing it whenever it exists.
Towards analyzing and synthesizing protocols
… IEEE Transactions on, 1980
Abstraft--The production of error-& protomls or complex process interactions is essential to reliable communications. This paper presents techniques for both the detection of errors in prdoeols and for prevention of errors in their design. The methods have been used suceesstully , t o detect and correct errors in existing protomls. A technique based on a reachability analysis is described which detects errors in a design. This "perturbation technique" has been implemented and has s u d y detected inconsistencies or errors in existing protocol designs including both X.21 and X.25. The types of errors handled are state deadlocks, unspecified receptions, nonexecutable interactions, and state ambiguities. Therrors are d s e d and their effects considered. An interactive design technique is then described that prevents design errors. The technique is based on a set of production rules which guarantee that complete reception capability is provided in the interacting processes. These rules have been implemented in the form of a tracking algorithm that prevents a designer from creating unspecified receptions and nonexecutable interactions and monitors for the presence of state deadlocks and ambiguities. ZAFIROPULO et al.: ANALYZING AND SYNTHESIZING PROTOCOLS IEEE
International Journal of Communication Systems, 2012
Several methods have been proposed for synthesizing communication protocol specifications starting from given service specifications. Because of the inherently sequential nature of a finite state machine (FSM), some FSM-based protocol synthesis methods assume that primitives in the service specifications cannot be executed simultaneously. However, other synthesis methods were introduced to handle controlled primitive concurrency by imposing restrictions on the applicable FSM topologies. This paper proposes two alternative FSM-based protocol synthesis methods that eliminate the restrictions on concurrency imposed by earlier methods. The first method applies a sequential-based synthesis method to derive a sequential protocol specification (P-SPEC) from a service specification (S-SPEC) and then applies several state-expansion rules to remodel the resulting P-SPEC to consider the concurrency behavior specified in the S-SPEC. The second method remodels a concurrent S-SPEC into a sequential-like one by expanding its states and applies a sequential-based synthesis method to derive the concurrent P-SPEC. Thus, the paper's main contribution is proposing synthesis methods that allow the protocol designers to model their service specifications with concurrency behaviors, using FSM-based models, and to derive, automatically, the corresponding protocol specifications for the concurrently executable protocol entities. The derived protocol specifications are guaranteed to be free of design errors; therefore, they do not require any further verification. The complexity of the two methods is discussed and their syntactic and semantic correctness are proven. As an example application, the synthesis method is used to derive the protocol specification of the H.323 call release standard used in Internet calls.
A Model Checking Approach to Protocol Conversion Technical Report No.0000482
2000
Protocol conversion for mismatched protocols has been addressed in a number of formal and informal settings. However, existing solutions address this problem only partially. This paper develops the first on-thefly local approach to protocol conversion based on temporal logic model checking. The tableau-based approach verifies the existence of a converter, and if a converter exists, it is automatically synthesized. Our approach handles control and data mismatches under a single unifying framework. A NuSMV-based implementation has been developed and we provide results for some non-trivial protocol mismatch examples.
A novel technique for synthesizing distributed and concurrent protocol specifications
2008
Several methods have been proposed for synthesizing computer communication protocol specifications starting from service specifications. Some protocol synthesis methods based on the Finite State Machine (FSM) model assume that primitives in the service specifications cannot be executed simultaneously. Others either handle only controlled primitive concurrency or have tight restrictions on the applicable FSM topologies. This paper proposes a concurrent-based protocol synthesis method that eliminates the restrictions imposed by the earlier methods. The synthesis method uses a sequential-based synthesis method to derive a sequential protocol specification (P-SPEC) from a service specification (S-SPEC) and then applies several transformation rules to remodel the resulting P-SPEC to consider the concurrency behavior specified in the S-SPEC.
A Model Checking Approach to Protocol Conversion
Electronic Notes in Theoretical Computer Science, 2008
Protocol conversion for mismatched protocols has been addressed in a number of formal and informal settings. However, existing solutions address this problem only partially. This paper develops the first on-thefly local approach to protocol conversion based on temporal logic model checking. The tableau-based approach verifies the existence of a converter, and if a converter exists, it is automatically synthesized. Our approach handles control and data mismatches under a single unifying framework. A NuSMV-based implementation has been developed and we provide results for some non-trivial protocol mismatch examples.
On limits and possibilities of automated protocol analysis
2006
It is not likely that many traveling salesmen can be discouraged from their job by a lecture on its complexity . Not surprisingly, writers of automated protocol analyzers are much the same. The problem of determining whether an arbitrary message passing system contains deadlocks is PSPACEcomplete at best (for bounded queue lengths) . Yet for any given formal analysis model it is easy to derive state space exploration routines that can find such errors with certainty -given a sufficient amount of time and space. In practice, therefore, one of the main problems is to optimize the speed and memory usage of an automated validator. To phrase it differently: it is not hard to validate protocols, it is hard to do it (sufficiently) fast. In reachability analyses, the limits of what can be analyzed in practice can be moved substantially if the traditional finite state machine model is abandoned. To illustrate this, we introduce a simple symbolic execution method based on vector addition. It is extended into a full protocol validator, carefully avoiding known performance bottlenecks. Compared with previous methods the performance of this validator is roughly two orders of magnitude in speed faster and allows validation of protocol systems up to 10 6 states in only minutes of CPU time on a medium size computer.
Rules for synthesizing correct communication protocols
ACM SIGCOMM Computer Communication Review, 1982
An approach to communication protocols synthesis is proposed which permits the development of general (FIFO and non-FIFO channels), N-party (N>=2) protocols with the following properties: completeness, deadlock freeness, livelock or tempo-blocking freeness, termination or cyclic behavior, liveness, boundedness and absence of non-executable interactions.
Journal of Computer Science and Technology, 2012
The object-oriented paradigm is widely applied in designing and implementing communication systems. The 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.