Take a sneak peek at the new NIST.gov and let us know what you think!
(Please note: some content may not be complete on the beta site.).

View the beta site
NIST logo

Publication Citation: Analyzing Properties and Behavior of Service Discovery Protocols Using an Architecture-Based Approach

NIST Authors in Bold

Author(s): Christopher E. Dabrowski; Kevin L. Mills;
Title: Analyzing Properties and Behavior of Service Discovery Protocols Using an Architecture-Based Approach
Published: December 01, 2001
Abstract: Current trends suggest that future software components will need to discover and adapt to dynamic changes in available software services and network connections. This implies that future systems may appear as collections of components that combine and recombine dynamically in reaction to changing conditions. Such environments demand new analysis approaches and tools for software design, implementation, and testing. Our work considers how one might rigorously assess the robustness of distributed software systems in response to dynamic change, such as process, node, and link failures. More particularly we seek techniques that can be applied early in the development process to test the behavior and resilience of dynamic distributed systems, and to compare and contrast various approaches to design such systems. As a challenging application we investigate service discovery protocols. We adopt an architecture-based approach that entails the following general steps: (1) construct an architectural model of each discovery protocol, (2) identify and specify relevant consistency conditions that each model should satisfy, (3) define appropriate metrics for comparing the behavior of each model, (4) construct interesting scenarios to exercise the models and to probe for violations of consistency conditions, and (5) compare the results from executing similar scenarios against each model. We elaborate our approach, using Jini as a specific example, and show how Jini can be analyzed using Rapide, an Architecture Description Language (ADL). Our analyses take two forms: property analysis and event analysis. Both depend upon Rapide's ability to execute a specification and to generate events. We use property analysis to investigate robustness to dynamic change, while we use event analysis to discern underlying causes of observed behavior and performance. We argue that static, natural-language specifications largely miss collective behavior arising when various components interact together in a distributed system. We show that a single architectural model can be used to understand both logical and performance properties of a distributed system design. We evaluate how well Rapide supported our modeling and analyses. We also recommend improvements in ADLs to help test and analyze designs for distributed systems.
Citation: Proceedings of Working Conference on Complex and Dynamic Systems Architecture
Keywords: architecture description languages,discovery protocols,fault-tolerant networks
Research Areas: Information Technology, Networking
PDF version: PDF Document Click here to retrieve PDF version of paper (241KB)