Abstract:
An Automated Teller Machine (ATM) is a safety-critical and real-time system that is
highly complicated in design and implementation. This paper presents the formal
design, specification, and modeling of the ATM system using a denotational
mathematics known as Real-Time Process Algebra (RTPA). The conceptual model
of the ATM system is introduced as the initial requirements for the system.The
architectural model of the ATM system is created using RTPA architectural modeling
methodologies and refined by a set of Unified Data Models (UDMs), which share a
generic mathematical model of tuples. The static behaviors of the ATM system are
specified and refined by a set of Unified Process Models (UPMs) for the ATM
transition processing and system supporting processes. The dynamic behaviors of
the ATM system are specified and refined by process priority allocation, process
deployment,and process dispatch models. Based on the formal design models of the
ATM system, code can be automatically generated using the RTPA Code Generator
(RTPA-CG), or be seamlessly transformed into programs by programmers. The
formal models of ATM may not only serve as a formal design paradigm of real-time
software systems, but also a test bench for the expressive power and modeling
capability of exiting formal methods in software engineering.