An integrated framework for formal development of open distributed systems☆
Introduction
Motivated by the need for modeling the dynamic features of object-oriented programming languages and openness in distributed applications, the study of open, and dynamically extendable systems has become a very popular research area. In fact, since late 1980s, much research within theoretical computer science has been directed towards this kind of systems. The emphasis has mainly been put on semantic issues; in particular, on how such systems should be represented faithfully and fully abstracted. The emphasis in our work is not on the semantics of systems, rather on the formal system development.
On one hand, most specification techniques supporting the development of open distributed systems (ODSs), e.g. the Unified Modeling Language (UML) [6], lack formal semantics and the rigorous reasoning facilities necessary for formal development of software systems. On the other hand, the existing formal development methods suffer from certain limitations, which constrain their application to large scale projects in the industrial settings, especially their esoteric feature is a major obstacle. Moreover, we are not aware of any conventional formal development method that is capable to fully handle the flexibility, extendability and dynamic features characterizing contemporary distributed systems. In RMODP [4], formal description techniques such as LOTOS, Z, SDL and Estelle are proposed for the specification of systems from various viewpoints. Yet, as pointed out in Ref. [1], these languages are only partly satisfactory.
Taking the above remarks into account, the challenge is to build a development framework and a supporting CASE tool that exhibits the following capabilities:
- –
can be grasped and used in an industrial context;
- –
supports description of major aspects such as openness and dynamic reconfigurability exhibited by ODSs;
- –
supports formal system specifications that are amenable to rigorous reasoning;
- –
have strong and efficient tool support.
In this context, based on the evaluation of several existing methods and CASE tools, we propose a multi-formalism approach where we integrate existing technologies. More specifically, we propose a formal development framework and a supporting tool that is based on the UML for specification and refinement, and on the Prototype Verification System (PVS) [7] for semantic foundation and rigorous reasoning.
The rest of the paper is organized as follows: In Section 2 we give a brief overview of UML and discuss the rational behind our choice of notations. In Section 3, we briefly discuss our formalization approach. Then, in Section 4, we present a case study of a network reconfiguration protocol. Finally, in Section 5 we make some concluding remarks.
Section snippets
Modeling open distributed systems in UML
The choice of the UML notations was dictated by the fact that it is built on an object-oriented paradigm and provides several capabilities such as extension mechanisms (e.g. stereotyping), dynamic and multiple classification, which are useful for the description of open distributed systems (ODSs). In addition, UML provides underlying methodology for specification and refinement, a graphical notation, which contributes to communicability and friendliness, and very importantly, UML is an
Formalization of graphical OO models
Several works have attempted to provide a mathematical basis for the concepts underlying object-oriented graphical models using different approaches [2]. Some of the approaches consist of adapting or extending a novel or existing formal description technique with object-oriented concepts. Others derive a formal specification from the semi-formal (or informal) model built with existing object-oriented notations such as UML. The main problem with these approaches is the fact that users should
A case study
In this section, we illustrate usability of our approach through a case study of a network reconfiguration protocol.
Concluding remarks
In this paper, we have presented a framework for formal development of ODSs and an automated platform that supports the framework. One of the main objectives of our platform is to minimize the formal artifacts that users of the platform should have to deal with. This in turn facilities the industrial usability of the platform. In this respect, we have decided to use the PVS-SL as underlying semantic foundation and not as a specification language. As a result, the user need not have an in-depth
References (8)
- et al.
Formal Methods and the RMODP
Research Report No. 261
(1998) - A. Evans, UML class diagrams-filling the semantic gap, Technical Report, York University,...
- IEEE, IEEE Standard for a High Performance Serial Bus, Standard 1394-1995, August...
- ISO-IEC JTC1/SC21/WG7, The Reference Model of Open Distributed Processing,...
Cited by (4)
Supporting UML-based development of embedded systems by formal techniques
2008, Software and Systems ModelingA formalized design method for building e-government architectures
2006, Secure E-Government Web ServicesReasoning about real-time statecharts in the presence of semantic variations
2005, 20th IEEE/ACM International Conference on Automated Software Engineering, ASE 2005Applying the ISO RM-ODP standard in e-government
2005, Lecture Notes in Artificial Intelligence (Subseries of Lecture Notes in Computer Science)
- ☆
An earlier version appeared in the Proceedings of ACM Symposium on Applied Computing (SAC03), March 9–12, 2003, Melbourne, FL, USA.