1 / 15

A Plea for Using Algebraic Specifications

Franz Lichtenberger Franz.Lichtenberger@ scch.at +43 7236 3343 8 55 www.scch.at. A Plea for Using Algebraic Specifications. as a Basis for Formal MKM. Initiated by RISC. Historical Remarks(1). 1972: First paper by Sir C.A.R. Hoare 1974-76: ADJ-Group, Guttag/Horning, Liskov/Zilles,...

onaona
Download Presentation

A Plea for Using Algebraic Specifications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Franz Lichtenberger Franz.Lichtenberger@scch.at+43 7236 3343 855 www.scch.at A Plea for Using Algebraic Specifications as a Basis for Formal MKM Initiated by RISC

  2. Historical Remarks(1) • 1972: First paper by Sir C.A.R. Hoare • 1974-76: ADJ-Group, Guttag/Horning, Liskov/Zilles,... • 1983: B.Kutzler, F.Lichtenberger„Bibliography of Abstract Data Types“more than 500 references! Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  3. Historical Remarks(2) • Several AlgSpec languages developed: OBJ(3), ASL, ACT ONE/TWO, Larch, ... • AlgSec Concepts used in CA Systems:Scratchpad, Axiom, Magma, (Reduce 4), ... • CoFI: The Common Framework Initiative for Algebraic Specification and Development, EU-Project, started 1995 Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  4. CASL • The specification language developed by CoFI:CASL – The Common Algebraic Specification Language • Family of languages: extendable and restrictable • CATS – The CASL Tools Set: Still under development (by the Bremen CASL Team) Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  5. CASL example(1) spec LISTNAT = free type Nat ::= 0 | succ(Nat) op __+__: Nat*Nat->Nat vars m,n : Nat . %[addNat_0] 0 + m = m . %[addNat_succ] succ(n) + m = succ(n + m) sort Elem free type List ::= nil | __::__(Elem; List) op __++__: List * List -> List var x: Elem; K,L: List . %[app_nil] nil ++ K = K . %[app_cons] (x::K) ++ L = x ::(K++L) Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  6. CASL example(2) op rev: List -> List var x: Elem; L:List . %[rev_nil] rev(nil)= nil . %[rev_cons] rev (x::L) = rev(L) ++ (x::nil) op len: List -> Nat var x: Elem; L:List . %[len_nil] len(nil)=0 . %[len_cons] len(x::L) = succ(len(L)) end Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  7. Later developments • Modules • Objects and Components • Concurrency • Etc. etc. • Specification of entire software systems Dead End Street! Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  8. Abstract Data Types: Sorts Operations Axioms Mathematical Models, Domains, Structures, Spaces, ... : Sets Basic functions and predicates Axioms Software vs. Math It‘s the same thing! Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  9. Features (1) • Strong typing, subtypes, partiallity, error handling, ... • Parametrized Types„Mathematical domain towers“ Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  10. Types M : SquareMatrix(3, MultivariatePolynomial( [x,y,z], GF(2,1) ) ) Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  11. Features(2) • Formal semantics:Initial, final, loose, behavioral, ... • Views: e.g. every boolean algebra can be VIEWED as a partial ordering Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  12. Features(3) • Independent of particular logics: „Institution“ (Goguen/Burstall, 1992) (Sign, Sen, Mod, Sat) • Signatures • Sentences • Models • Satisfaction relation Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  13. Features(4) • Easy to communicate, exchange, ... viaXML based protocols • Semantics is included! • First call of FP6:„Semantics-based knowledge management“ Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  14. Two suggestions • Bechmark example:AlgSpec of Hilbert Space Theory(compare with Theorema/Risc project) • Get (more) AlgSpec people onboard Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

  15. Conclusions • It would be unwise to ignore 25+ years of research on AlgSpec that • can serve (formal) MKM very well. • Give AlgSpec a (second) chance! Algebraic Specifications - Bologna/Bertinoro, 18.02.2003

More Related