Computer-aided dispatch system family architecture and verification: an integrated formal approach
IEE Proceedings - Software
Software architecture is an important level of description for software systems. Formal modelling techniques can be used to define and verify software architectures precisely. An integrated formal approach to the architecture modelling and verification of a computer-aided dispatch (CAD) system family, is presented. An incremental three-layer model, that is, architecture style layer, generic system layer and customised system layer, is presented to capture the design of the CAD system family.
... tical CAD system properties in the architecture models are formally verified by using the state and event-based proof techniques of the underlying specification language. In summary, it is demonstrated that integrated formal techniques could be a good candidate for modelling and verifying various levels of descriptions of software architectures. 1 Introduction Software architecture is an important level of description for software systems . It represents the high-level structure of a system, which comprises the definitions of software components involved, the external visible properties of those components and the communications (relationships and constraints) among the components . The current practice of software architecture mainly relies on diagrammatic and textural descriptions. Several architectural description languages (ADL) have been proposed, such as Darwin  and Rapide . These ADLs offer approaches to describe software architectures explicitly as hierarchical structures. Formal modelling techniques have also been applied to the software architecture descriptions. The well-defined semantics and syntax make them suitable for precisely specifying and formally verifying software architecture designs. Some researchers [5, 6] have used Z to formalise the computational data/state aspects of software architectures. Allen and Garlan  have also applied a CSP-like notation (Wright)  to formalise the interactive communication aspects of software architectures. Both approaches are beneficial and provide some formal foundations to software architecture modelling. We believe that the recent advances in the integrated formal methods [9, 10] may provide more promising solutions to the problem. In this paper, we demonstrate the approach of using the integrated formal notation, that is, Timed Communicating Object-Z (TCOZ)  , to capture the software architecture modelling and verification of a computer-aided dispatch (CAD) system family. TCOZ builds on the strengths of object-Z [12, 13] in modelling complex data and state with the strengths of TCSP [14, 15] in modelling process control and real-time interactions. It is capable of capturing both the data and computation states of the components, as well as the interactive communication aspects among the components. The class construct in TCOZ is an ideal encapsulation mechanism for composing and extending architecture components. The synchronous and asynchronous communication interfaces in TCOZ are well suited for capturing various interactions between the components. The network topology of TCOZ is a good mechanism to depict the architectural configurations of a system. Furthermore, TCOZ preserves a large part of both the syntax and semantics of the two blending notations, Object-Z and TCSP, hence it can potentially benefit from existing reasoning systems of the two notations. With new additional proof rules for the TCOZ constructs, critical system properties specified in TCOZ architecture models can be formally verified by using state and event-based proof techniques  . In this paper, we also demonstrate the formal reasonings towards the verification of a CAD system architecture model. CAD system is a generic family system that can provide automatic dispatching of the requested tasks within their critical timing requirements. In our research project, 'Software Reuse Framework for Reliable Mission-Critical Systems' one goal was to develop the reuse-based design and development methods of reliable CAD systems (Supported by Singapore -Ontario Joint Research Programme.). We have found that high-level reuse can be best achieved through software architecture models. An effective approach to reuse requires a generic CAD architecture that defines the overall structure and a common base of customisable software assets to be reused across CAD systems. In this paper, we apply TCOZ to represent an incremental three-layered architecture model of the CAD system family  . These three layers include the following: † Style: an architectural style for the CAD system family describes the basic elements and communication patterns in the system.