| J.V. Guttag, J.J. Horning, and J.M. Wing. Larch in Five Easy Pieces. Technical report, Digital, Systems ResearchCenter, Paolo Alto, California, 1985. |
....write a program from a specification, it would also be easy for a specifier engaged in reverse engineering to write a specification from an implementation. While there currently exist many different languages and approaches to formal specification (such as VDM [Jones 90] Z [Spivey 88] and Larch [Guttag et al. 85] few of them concentrate on the issue of matching the structure and feel of the actual program. Spectur is notable for being immediately accessible and understandable to implementors. 2 Spectur: Goals and Realization 2.1 Goals of Spectur The creation of Spectur was undertaken with a number ....
....for use in the later stages of program development, where the specifications become more concrete (and less mathematical) in nature. Spectur has both mathematical and programming language style data structures, which makes it convenient for use at all stages of program development. Larch [Guttag et al. 85] uses a two tiered approach to specification. The bulk of the work is done using the Larch Shared Language, which uses an algebraic approach to define traits that model the function of the program. The program interface specification is then done using the appropriate Larch Interface Language ....
J. V. Guttag, J. J. Horning, and J. M. Wing, "Larch in Five Easy Pieces", Technical Report 5, Digital Equipment Corporation Systems Research Center, July 1985.
....way in which the specification language was given a semantics. It was not at all clear how the two could be combined. Doing so was a major achievement of the RAISE Specification Language RSL. The modularity in RSL is largely inspired by the algebraic languages (CLEAR [6] OBJ [7, 8] Larch [9], etc. Concurrency is based on process algebras close to CSP [10] and CCS [11] but with value passing [12] RSL added a new operator, interlock , that enabled the axiomatic specification of concurrency. And, of course, it was high time there were some decent tools RSL is a wide ....
J. Guttag, J.J. Horning, and J.M. Wing. Larch in five easy pieces. Technical Report 5, DEC SRC, Dig. Equipm. Corp. Syst. Res. Ctr., Palo Alto, California, USA, 1985.
....of Oslo, and based on a typed logic for partial functions, 21, 8] A separate paper, 16] will discuss the extension to higher order. The most important sources of ideas have been as follows: SIMULA 67 (classes and subclasses) 7] the LARCH and IOTA activities (generator induction) [11, 12], 19] and OBJ (order sorted algebras) 9, 10] The so called TGI fragment of ABEL deals with constructively defined types and functions (both partial and total) TGI stands for Terminating Generator Induction . TGI specifications give rise to convergent sets of rewrite rules, which enable ....
J.V. Guttag, J.J. Horning, J.M. Wing: "Larch in Five Easy Pieces." Digital Systems Research Center, Palo Alto, CA, July 1985.
.... is a proof tool for the formal verification of software properties. 45, 25] cover HOL. 10. Larch is a comprehensive method (set of languages, proof system (LP) design techniques) for implementing software. Larch has well established interfaces to the Modula 3, C, C coding languages. [27, 28] cover Larch 11. Lotos is a comprehensive method (language, proof system, design techniques) for implementing communications (protocol) software. 48, 6] cover Lotos Report No. 12, November 7, 1993 UNU IIST, P.O. Box 3058, Macau Design Calculi 15 12. OBJ is a comprehensive method (language, ....
J. Guttag, J.J. Horning, and J.M. Wing. Larch in five easy pieces. Technical Report 5, DEC SRC, Dig. Equipm. Corp. Syst. Res. Ctr., Palo Alto, California, USA, 1985.
.... (st,crs) enrolledIn enrolledIn = enrolledIn (st,crs) size = size crs size(crs) 1 This approach works well if we can modularize the presentation to give names to appropriate subsets of variables, such as Rest above. Many other specification languages, such as Larch [Guttag85] and VDM [Jones86] take a second approach, whereby a procedure specifier is required to identify the variables that it might modify, with the implicit assertion that any variable not so declared remains unchanged. This implicit assertion must then be expanded by some automatic background tool ....
....specific student st , and the size of the specific course crs may change. PROC enrolInCourse: STUDENT # COURSE IN st,crs PRE size(crs) classLimit(crs) crs) enrolledIn(st) MOD enrolledIn(st) size(crs) POST enrolledIn (st) enrolledIn(st) crs size (crs) size(crs) 1 Larch [Guttag85] provides a modifies at most clause with similar capabilities. Clearly, these techniques work quite well in this simple case. However, we present next a series of examples that do not fare as well. 2.3 Conditional Specifications Suppose we now want to redefine enrolInCourse so that if there is ....
J. Guttag, J.J. Horning, and J.W. Wing, "Larch in Five Easy Pieces", TR 5, DEC Systems Research Center, 1985.
....(LSL) which is used to specify general properties of CGC, and one in the Larch C Language (LCL) which uses the LSL traits to specify all of the C routines used in the implementation. The specification should be readable even by those not familiar with Larch. For a general introduction to LSL see [6] [5] and to LCL [4] Both the LSL and LCL specifications have been syntax and type checked, although no effort has been made at formal verification. I do not further consider Mark and Sweep collection in detail. However since it is also based on tracing the pointer graph, those portions of the ....
J.V. Guttag, J.J. Horning, and J.M. Wing. Larch in five easy pieces. TR 5, DEC SRC, 7 1985.
....execution within a queue (there might however be other concurrent threads) concurrency within a queue is considered in the final development step where its use is justified by arguing that it provides the same visible behaviour as the sequential implementation. Specification As in a Larch [GHW85, GH93] interface language , the design notation is used here to provide a framework for the specification which is given as a class definition. The methods are specified by pre and post conditions in a style similar to that used in VDM [Jon90] 2 In post conditions, hooked identifiers refer ....
J. V. Guttag, J. J. Horning, and J. M. Wing. Larch in five easy pieces. Technical Report 5, DEC, SRC, July 1985.
....rewritten every time. 3.2 Context independent abbreviation The standard approach in languages such as Z or VDM is to introduce some abreviatory schema for expressing the frame axioms. Following ObjectZ [12] with its 1(p) notation indicating that everything but p remains unchanged) and Larch [14] (with its modifies at most assertion) we use the notation 1(x,y) to indicate that everything but maybe x and y remain unchanged . Continuing with the previous approach where we separate effect and frame assertions the resulting specification for B m would be h(p 0 = p [ f1g) 1(p)i ....
Guttag, J., J.J. Horning, and J.W. Wing, "Larch in five easy pieces", TR 5, DEC Systems Research Center, 1985.
....of Ada that is roughly PASCAL with exceptions. We have completed some of the mathematics that supports the Larch Ada 88 definition and the Penelope implementation. Specification language The Larch Ada 88 specification language is part of the Larch family of two tiered specification languages [3, 4]. 1 The two tiered approach separates the specification of individual program modules from the specification of underlying abstractions. The Larch Shared Language is used to specify the underlying abstractions; for example, it can be used to define the notions of array, list, set, bag, and so ....
J. V. Guttag, J. J. Horning, and J. M. Wing, "Larch in five easy pieces," Tech. Rep. TR 5, DEC/SRC, July 1985.
....called visualization templates, that display program behavior when later instantiated by data from an executing program. LIVE uses the formal specifications of the subject program s data structures to guide the generation of the visualization templates. The Larch specification language [3] is used to describe the data structures, where Larch is a two tiered specification language that provides an algebraic specification language for specifying data abstractions and a predicate logic based specification language for describing behavioral properties of procedural abstractions. The ....
....Second, due to the well defined syntax and semantics of formal specification languages, many types of manipulation are amenable to automation. Finally, a formal specification can be used to give an abstract view of the intent of a program, where implementation details are hidden. The Larch Project [3] is developing tools and techniques to aid in the production of formal specifications. Each Larch specification has components written in two languages: one designed for a specific programming language (interface) and the other common to all programming languages (shared) The Larch Shared ....
[Article contains additional citation context not shown here]
J. Guttag, J. J. Horning, and J. M. Wing, "Larch in five easy pieces," tech. rep., Digital Equipment Corporation, Systems Research Center, July 1985.
....they are either purely theoretical or rely on specialized software in prototype form. The advantage of using the technique of algebraic specifications is that it allows designers to apply the method immediately, even with the possibility of using computer supported design tools such as Larch [Guttag, Horning, and Wing 1985] or CLEAR [Burstall and Goguen 1981] 4. An Algebraic Approach 4.1. ALGEBRAIC SPECIFICATIONS Algebraic specifications describe objects in terms of operations. The associated theory has been developed and used for specifying abstract data types [Goguen, Thatcher, and Wagner 1978, Guttag and ....
....happens to be isomorphic to that of the SURFACE schema. This correspondence may, in fact, contribute to the coherence of the DESKTOP metaphor. From a cognitive perspective, however, two different kinds of experiences are described. The CONTAINER schema can be specified as follows (see also [Guttag, Horning, and Wing 1985]) # # # ##### Container, Item, Bool # new: Container insert: Container x Item Container in: Container x Item Bool # in(new,i) false in(insert(c,i1) i2) i1=i2 # true # in(c,i2) This specification can again be enriched toward the previously given specifications of physical ....
Guttag, J.V., J.J. Horning, and J.M. Wing. 1985. Larch in Five Easy Pieces. Digital Equipment Corporation, Systems Research Center.
....Wing and Amy Moormann Zaremski February 25, 1991 CMU CS 91 112 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Submitted to Sixth International Workshop on Software Specification and Design. Abstract This paper presents a non trivial case study on the use of the Larch [GHW85, GHM90] specification languages to describe the Miro visual languages and graphical editor [HMT 90] In addition to excerpts from the specification, we discuss properties of Miro provable from the specification, limitations of Larch, and general lessons learned from this exercise. The ....
....Our formal specification captures this behavior precisely. 2.2. Specification Language: Larch We wrote our specifications using Larch specification languages. We assume some rudimentary knowledge of Larch, present a refresher here, and give further details as we present the specification. See [GHW85, GHM90] for more type = File type = User Write Read Figure 2: A sample constraint picture details. Larch provides a two tiered approach to specification. In one tier, the specifier writes traits in the Larch Shared Language (LSL) to assert state independent properties of a program. Each trait ....
[Article contains additional citation context not shown here]
J.V. Guttag, J.J. Horning, and J.M. Wing. Larch in five easy pieces. Technical report, DEC-SRC, 1985.
....a given file system, and a verifier that determines whether the result of the prober matches an instance picture. We revisit the relationship among these tools in Section 3. 2.2. Specification Language: Larch We present a brief refresher of Larch here and give further details as necessary. See [GHW85b, GHM90] for more details. Figure 5: The Miro editor and a sample instance picture Larch provides a two tiered approach to specification. In one tier, the specifier writes traits in the Larch Shared Language (LSL) to assert state independent properties of a program. Each trait introduces sorts ....
....pictures by beginning with one that describes basic pictures. Figure 10 shows the sorts and operators introduced in the BasicPicture trait. A picture (sort Pic) is a collection of boxes and arrows. The renamings of sort identifiers in the two uses of the Set trait (from the Larch Handbook [GHW85b] gives us the sorts BSet and ASet for sets of boxes and arrows, and, among others, the operators fg: BSet and fg: ASet to denote respectively the empty set of boxes and the empty set of arrows. The generated by clause says that all terms denoting values of pictures are expressed in terms of ....
J.V. Guttag, J.J. Horning, and J.M. Wing. Larch in five easy pieces. Technical report, DEC-SRC, 1985.
....it was really fair to present the two ways as uses of the very same primitives. On the one hand, we have the semaphores used for mutual exclusion, on the other hand, the private semaphores. Dijkstra 68] Specification Approach We use the Larch two tiered approach to specification [Wing 83, Guttag 85a, b] The Larch Shared Language tier [Guttag 86a] is algebraic, and defines mathematical abstractions that can be used in the interface language tier to specify program interfaces. As it happens, all the abstractions needed for the Threads specification are well known (e.g. booleans, integers, ....
J. V. Guttag, J. J. Horning, and J. M. Wing, "Larch in Five Easy Pieces," Report 5, Digital Equipment Corporation Systems Research Center, Palo Alto; portions published separately in [Guttag 85b, 86a, b].
No context found.
J.V. Guttag, J.J. Horning, and J.M. Wing. Larch in Five Easy Pieces. Technical report, Digital, Systems ResearchCenter, Paolo Alto, California, 1985.
No context found.
J. V. Guttag, J. J. Horning, and J. M. Wing. Larch in five easy pieces. Technical Report 5, DEC, SRC, July 1985.
No context found.
Guttag, J. V., J. J. Horning and J. M. Wing (1985). Larch in Five Easy Pieces, Digital Systems Research Center.
No context found.
J. V. Guttag, J. J. Horning, and J. M. Wing. Larch in five easy pieces. Technical Report 5, DEC, SRC, July 1985.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC