Structured algebraic specifications: A kernel language (Q1080652): Difference between revisions
From MaRDI portal
Added link to MaRDI item. |
Changed an Item |
||
Property / describes a project that uses | |||
Property / describes a project that uses: LCF / rank | |||
Normal rank |
Revision as of 14:00, 28 February 2024
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Structured algebraic specifications: A kernel language |
scientific article |
Statements
Structured algebraic specifications: A kernel language (English)
0 references
1986
0 references
A language called ASL for describing structured algebraic specifications is presented. ASL is a declarative higher-order language. It contains constructs for building (possibly infinite) signatures, sets of terms, and sets of formulas as well as constructs embodying primitive operations on algebraic specifications. In particular, ASL includes a very general 'observability' operation which can be used to behaviourally abstract from a specification. The expressive power of these operations allows the choice of a simple notion of implementation which is transitive and monotonic. Syntax and two different denotational semantics, a 'presentation semantics' and a 'model class semantics', are given. The presentation semantics is used for showing the existence of a complete (semiformal) proof system for specifications, whereas the model class semantics is fully abstract with respect to specification expressions. Both semantics are related by a homomorphism. Moreover, computability questions are studied. It is shown that any recursively enumerable signature and any class of algebras which is 'pseudo-axiomatizable' in a recursively enumerable way are definable in ASL; also, every computable transformation of specifications can be expressed in ASL.
0 references
ASL
0 references
declarative higher-order language
0 references
implementation
0 references
denotational semantics
0 references
presentation semantics
0 references
model class semantics
0 references
computability questions
0 references