A Formal Method for the Abstract Specification of Software
Journal of the ACM (JACM)
ADL—an interface definition language for specifying and testing software
IDL '94 Proceedings of the workshop on Interface definition languages
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Java Language Specification
The Java Language Specification
AMAST '96 Proceedings of the 5th International Conference on Algebraic Methodology and Software Technology
A Specification Language for Object-Oriented Analysis and Design
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Preliminary design of ADL/C++: a specification language for C++
COOTS'96 Proceedings of the 2nd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 2
Hi-index | 0.00 |
A methodology and language for specifying behaviors of interfaces (a la OMG's IDL, JavaTM, C++, etc.) for object-oriented systems is proposed based on the message-passing paradigm. Signatures of messages are enhanced to include semantic information, expressing behavior clients can expect from a server. Formulas are given to disambiguate normal termination from abnormal termination of a message using the return values and exceptions to reflect whether the pre-condition associated with the message is satisfied or not. State changes caused by a message invocation are specified by explicitly enumerating subsequent messages that a message invocation enables (and/or) disables, by establishing (or violating, respectively) their pre-conditions. Special operators on sequences of messages are defined to specify such semantic information. A specification language IBDL, Interface Behavior Description Language, based on this methodology is developed. As IBDL specifications explicitly capture the interactions between messages, they are ideal for validating implementation behaviors with sequences of messages. We present a scheme for sequence testing by translating IBDL specifications into code.