KENNESAW STATE UNIVERSITY

DEPARTMENT OF COMPUTER SCIENCE AND INFORMATION SYSTEMS
Yamacraw Research Project
"A Light-weight Approach with Formal Specification of Real-Time
Systems"
Dr. Jose M. Garrido
GENERAL
A light-weight method and
supporting environment for using formal and empirical techniques to analyze,
apply simulation to verify real-time software systems from requirements
specifications.
The overall in software
engineering is the development of reliable and trustworthy real-time systems.
This document proposes a general approach for specifying and then modeling
real-time systems.
The three basic parts of the proposed
research are:
Standard notations and concepts
are to be used for this work. OCL has been proposed by OMG to complement UML.
The simulation language to be used is Java, a standard programming language.
Current practice in industry has
shown that on one extreme ad-hoc development techniques are still applied in
development of real-time systems. On the other extreme, large corporations that
apply formal methods have realized that these are extremely difficult to apply
to large and complex systems.
This proposal is based on the
hypothesis that a development method for large and complex systems (real-time
systems) must include:
The outcome of this project will
be:
Specification Levels
1.
Formal
specification, with OCL
2.
Operational
specification, with RT-UML using an operational semantics.
Verification
1.
Language
acceptance in grammar of specification language. (Not yet considered.)
2.
Automatic
analysis of traces as a history of events from simulation runs.
Formal proofs, a mathematical
certainty of the correctness of design with respect to a specification. It is a
labor-intensive, costly, error-prone activity (requiring highly skilled
people). Automatic verification can be performed only with reference to finite
domains because the problem is unsolvable in the general case. In practice,
only critical parts of a system can formally be verified.
With simulation, the traces of
simulation runs are recorded and checked for consistency with respect to the
specification by means of a history checker. The implementation of the system
can be considered a refinement of the simulation model.
Without formal methods,
real-time systems can be developed, but the total development time is long, and
the process is expensive. Corporations using formal methods have produced
designs with a higher quality and decreased cost because of shorter testing
times.
In the near future, more
emphasis will be placed on integrated formal development environments. More and
better education and training is necessary for engineers. The practical purpose
of applying formal methods is to reduce the risk of serious errors in
specification and design. The cost of full verification is prohibitive, and
early detection of errors is a more realistic goal. In more clear terms,
finding bugs (early) is a much more achievable goal than trying to guarantee
correctness. The conceptual gap between application domains and mathematics
must be bridged by building mathematical models of the application domains.
This work will build, in part, upon
KDL developed at California Institute of Technology and the work on simulation
and DEVS carried out by Prof. Zeigler at the University of Arizona.