Proceedings. [1989] 11th International Conference on Software Engineering
DOI: 10.1109/icse.1988.93714
|View full text |Cite
|
Sign up to set email alerts
|

Algebraic specification of Macintosh's QuickDraw using OBJ2

Abstract: We have described QuickDraw, a typical graphics package, using OBJ2, a powerful algebraic language now in the phase of experimental use as a specification language. The results testify the applicability of OBJ2 to some practical problem domains, as well as the premonitioned advantages the use of formal specification techniques brings. The work also sheds some critical lights upon the design of QuickDraw; we detect incomplete procedure definitions, and find imprecise the classification of procedures.keywordsfor… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...

Citation Types

0
1
0

Publication Types

Select...
1
1

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(1 citation statement)
references
References 16 publications
0
1
0
Order By: Relevance
“…With its module database and its ability to incorporate Lisp code, this provides a very flexible and extensible environment that is convenient for specification and rapid prototyping, as well as for building new systems, such as experimental languages and theorem proving environments. For example, OBJ3 has been used for building FOOPS, an object oriented specification and programming system [74,87], the Eqlog system [71,72,25] for equational logic (or relational) programming, OOZE [3], an object oriented specification language influenced by Z [142], the 20B] metalogical framework theorem prover [81], and TOOR [130], a system for tracing requirements.OB] has been used for many applications, including debugging algebraic specifications [77], rapid prototyping [69], defining programming languages in a way that directly yields an interpreter (see Appendix Section C.2, as well Introducing OBl 5 as [79] and some elegant work of Peter Mosses [120,121]), specifying software systems (e.g., the GKS graphics kernel system [28], an Ada configuration manager [40], the MacIntosh QuickDraw program [126], and OBJ itself [20]), hardware specification, simulation, and verification (see [144] and Section 4.8), speci fication and verification of imperative programs [66], specification of user interface designs [60,58], and theorem proving [53,66,59]; several of these were done under a UK government grant. OBJ has also been combined with Petri nets, thus allowing structured data in tokens [5], and was used to verify compilers for parallel programming languages in the ESPRIT sponsored PROcos project [137,138].…”
mentioning
confidence: 99%
“…With its module database and its ability to incorporate Lisp code, this provides a very flexible and extensible environment that is convenient for specification and rapid prototyping, as well as for building new systems, such as experimental languages and theorem proving environments. For example, OBJ3 has been used for building FOOPS, an object oriented specification and programming system [74,87], the Eqlog system [71,72,25] for equational logic (or relational) programming, OOZE [3], an object oriented specification language influenced by Z [142], the 20B] metalogical framework theorem prover [81], and TOOR [130], a system for tracing requirements.OB] has been used for many applications, including debugging algebraic specifications [77], rapid prototyping [69], defining programming languages in a way that directly yields an interpreter (see Appendix Section C.2, as well Introducing OBl 5 as [79] and some elegant work of Peter Mosses [120,121]), specifying software systems (e.g., the GKS graphics kernel system [28], an Ada configuration manager [40], the MacIntosh QuickDraw program [126], and OBJ itself [20]), hardware specification, simulation, and verification (see [144] and Section 4.8), speci fication and verification of imperative programs [66], specification of user interface designs [60,58], and theorem proving [53,66,59]; several of these were done under a UK government grant. OBJ has also been combined with Petri nets, thus allowing structured data in tokens [5], and was used to verify compilers for parallel programming languages in the ESPRIT sponsored PROcos project [137,138].…”
mentioning
confidence: 99%