Project Title:
Generating Distributed Applications from Formal Object-Oriented Specifications
SureObJects
13 Eaton Road
Amherst, NH 03031
93-1 06.03 4334 __ AMOUNT REQUESTED $65611.91
Generating Distributed Applications from Formal Object-Oriented Specifications
Abstract:
SureObjects proposes specifying and implementing a practical
development environment for creating formal algebraic
specifications of the semantics of potentially distributed objects
and functions and subsequently automatically generating the source
code corresponding to those specifications. Such specifications
typically specify, but are not necessarily restricted to, object
class definitions. Unique features incorporated include: (1) the
first use of the formal semantics of partitioned algebras as the
basis for generating code, (2) the use of graphics to specify the
algebraic semantics instead of the usual textual equations (i.e.,
provides a more applicable and intuitive means of specifying
imperative semantics), and (3) automatically generating code
directly from formal specifications including the capability of
supporting distributed objects transparently. Furthermore, the
proposal directly addresses several of the suggestions for reliable
software development including: automated support of analysis and
design, automatic program generators, and particularly the interest
in environments for developing distributed applications.
Anticipated results of the project include the ability to create,
modify, store, retrieve formal graphic specifications of object
classes and functions, and also completely generate application
source code from them. NASA should benefit by increasing the
quality of the application code and decreasing the effort to create
that code.
Both public and private sectors need reliable software and
increased programming productivity both in support of research and
development of products, and for financial transactions. By
eliminating the manual coding of the specifications, there is a
substantive decrease in the amount of programming, thereby
increasing programming productivity.
specifications, object-oriented, distributed, generators, graphic
programming