The C programming language
Programming embedded systems with Ada
Programming embedded systems with Ada
Program Verification Using ADA
Program Verification Using ADA
Descartes: A programming-language approach to interactive display interfaces
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
A practical method of documenting and verifying Ada programs with packages
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on Ada programming language
ANNA: towards a language for annotating Ada programs
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on Ada programming language
Life cycle support in the Ada environment
ACM SIGAda Ada Letters
ACM SIGCHI Bulletin
ACM SIGCHI Bulletin
Hi-index | 0.00 |
The private type mechanism of Ada is used to hide the details of the structure of the type from the user (as programmer). Thus, it is possible to build Ada packages that are correct implementations of abstract data types whereby the only operations available on the data type are precisely those made externally available to the user in the visible part of the package specification. To be able to use such a package, the semantics of the operations in the visible part must be unambiguously conveyed to the user. I propose a formal specification and classification of the user of such Ada packages. Associated with each user is an appropriate UCM (user's conceptual model) of the application domain corresponding to which there exists the respective Ada package(s). Such a UCM would incorporate the necessary set of semantics for understanding the visible part of the package(s). In an APSE (Ada programming support environment) it is envisaged that one of the key tools will be an Ada-oriented UIMS (user interface management system) which will perform a function for Ada programmers much like that which a DBMS (data base management system) currently performs for users of a data base. The specification and implementation of the (abstract) data type "complex number" as an Ada package is used as an example.