44 citations found. Retrieving documents...
Jeannette M. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1):1-24 (Jan. 1987).

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Object-Oriented Programs - Tr July Fl   (Correct)

....to reason informally about object oriented programs. There are also some syntactic constraints on subtype relationships. Abstract types are described by specifications that describe a set of abstract values and how the operations behave on objects with different abstract values. Such two tiered [Win87] or abstract model style [Jon86] specifications allow one to specify types incompletely, including types that are not intended to be implemented directly (e.g. deferred types in Eiffel [Mey88] Such specifications also allow one to specify operations that may fail to terminate or that are ....

....and Function Specifications In this chapter a new method for the modular specification of abstract types and polymorphic functions that use message passing is described. The specification language is adapted from Wing s interface specification language for CLU [Win83] LG86, Chapter 10] GHW85] [Win87] and Chen s Larch Generic interface specification language [Che89] However, unlike Wing, the specifications only deal with immutable types. The specification of a function or a program operation is written as if each argument and result has the specified type. However, actual arguments and ....

Jeannette M. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987. 91


How the Design of JML Accommodates Both Runtime.. - Leavens, Cheon.. (2004)   (4 citations)  (Correct)

....1. 1 Background By a Hoare style specification we mean one that uses pre and postconditions to specify the behavior of methods [34,43,44] A behavioral interface specification language (BISL) is a specification language that specifies both the syntactic interface of a module and its behavior [33,48,52,85]. JML, the interface specification languages in the Larch family [33,48,52,85] and RESOLVE C [22,73] are BISLs. Most design by contract languages and tools, such as Ei#el [70,71] and APP [77] are also BISLs, because they place specifications inside programming language code. By contrast, ....

.... and postconditions to specify the behavior of methods [34,43,44] A behavioral interface specification language (BISL) is a specification language that specifies both the syntactic interface of a module and its behavior [33,48,52,85] JML, the interface specification languages in the Larch family [33,48,52,85] and RESOLVE C [22,73] are BISLs. Most design by contract languages and tools, such as Ei#el [70,71] and APP [77] are also BISLs, because they place specifications inside programming language code. By contrast, neither Z [80,79,87] nor VDM [6,27,74,43] is a BISL; they have no way to specify ....

[Article contains additional citation context not shown here]

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


An Informal Formal Method for Systematic JUnit Test Case.. - Stotts, Lindsey, Antley (2002)   (6 citations)  (Correct)

....carried forward into commercial quality tools. We also think the use of the functional notation of algebraic ADT axioms is an advantage over the trace spec approach; such axiom can be expressed in a functional programming language (we give our examples in ML) giving executable specs. Larch [13,14,15] is another research effort in which formal program specs are used to gain leverage over software problems. In Larch, program specifications have a portion written in Guttags functional style, along with a second portion written to express semantic specific details for a particular programming ....

J. Wing, Writing Larch Interface Language Specifications, ACM Trans. on Programming Languages and Systems, 9(1), Jan. 1987, pp. 1-24.


Model Variables: Cleanly Supporting Abstraction in.. - Cheon, Leavens.. (2003)   (3 citations)  (Correct)

....does not have the equivalent of JML s model variables, which are specification only variables whose values are implicitly given by using user declared abstraction functions. Anna also does not have the equivalent of JML s spec public modifier. In Larch family of interface specification languages [6, 12, 16, 39], specifications are written solely in terms of abstract values, specified algebraically, and no explicit mapping is specified between abstract and representation values . What distinguishes our approach from work on Larch, is the use of specification purpose declarations to hold abstract ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987. 19


Exploiting Specifications to Improve Program Performance - Vandevoorde (1994)   (13 citations)  (Correct)

....in specifying iterators such as int from to, which yields a subrange of integers in ascending order. Larch Speckle has many features in common with other interface languages, e.g. Larch CLU [52] Larch C [22] and Larch C [34] as well as features in common with generic interface languages [8, 24, 35, 53]. Larch Speckle is unique in that, as explained in Chapter 7, Larch Speckle supports partial specifications. Because Speckle is based on CLU, Larch Speckle is most like Larch CLU. One difference is the formalization of New, which in Larch CLU is a separate clause that identifies all locations ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1-- 24, January 1987.


An Informal Formal Method for Systematic JUnit Test Case.. - Stotts, Lindsey, Antley (2002)   (6 citations)  (Correct)

....carried forward into commercial quality tools. We also think the use of the functional notation of algebraic ADT axioms is an advantage over the trace spec approach; such axiom can be expressed in a functional programming language (we give our examples in ML) giving executable specs. Larch [13,14,15] is another research effort in which formal program specs are used to gain leverage over software problems. In Larch, program specifications have a portion written in Guttags functional style, along with a second portion written to express semantic specific details for a particular programming ....

J. Wing, Writing Larch Interface Language Specifications, ACM Trans. on Programming Languages and Systems, 9(1), Jan. 1987, pp. 1-24.


Preliminary Design of Larch/C++ - Leavens, Cheon (1992)   (2 citations)  (Correct)

....must be able to verify a subclass using the specification of the public and protected interfaces of its superclasses, independent of the implementation of the superclasses. 2 1. 3 Related Work The most closely related work are other interface specification languages in the Larch family [Win83] Win87] Che89] Win90] GMP90] Jon91] GH91] Che91] The greatest influence has been from Larch C and Larch Smalltalk. From Larch C we have adopted much syntax and the basic semantics of such common types as pointers. From Larch Smalltalk we have taken much of the approach to inheritance and ....

Jeannette M. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Parallel Sets: An Object-Oriented Methodology for Massively.. - Kilian (1992)   (7 citations)  (Correct)

....be specified in boxes (see figure 1.2 for an example) with the top line giving type attributes (including parameterization and constraints on the parameterization) and the body of the box containing operation specifications. The operations specifications are similar to Larch trait specifications [Win87] Differences are that the first argument is me for instance operations and mytype for type specific operations, and CLU style where clauses are included [LG86] Me refers to the object that receives the message (the controlling object) and its type varies depending on the position of the ....

Jeannette M. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1), January 1987.


Subtyping, Modular Specification, and Modular Verification.. - Leavens, Weihl (1994)   (Correct)

....asserts 8 s 1 , s 2 : C (s 1 eqSet s 2 ) s 1 = s 2 ) isEmpty(s 1 ) s 1 = fg) Figure 4: The trait IntSetTrait. 2 Polymorphic Type Specifications The interface specification language Larch LOAL is adapted from Wing s interface specification language for CLU [64] 43, Chapter 10] 24] [63] and Chen s Larch Generic interface specification language [11] However, unlike Larch CLU, Larch LOAL specifications deal only with immutable types. An interface specification describes both the behavior of abstract types and how they can be used in a program [33] 26] In Larch LOAL, the ....

Wing, J. M. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Design of a JML Documentation Generator - Raghavan (2000)   (4 citations)  (Correct)

....for generating HTML pages from the specifications. It combines specifications from inheritance and refinements and presents the complete JML specification to the user. Chapter 1 OVERVIEW JML [12] which stands for Java Modeling Language, is a behavioral interface specification language (BISL)[15] designed to specify Java [2, 7] modules. JMLDoc is a tool that allows the users of these modules to view the specifications in a convenient manner, as HTML[8] documentation. This chapter discusses the need for such a tool. the motivation behind this thesis, and an overview of JMLDoc. 1.1 ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


JML: A Notation for Detailed Design - Leavens, Baker, Ruby (1999)   (56 citations)  (Correct)

....quantifiers, specification only variables, and other enhancements that make it more expressive for specification than Eiffel and easier to use than VDM and Larch. JML [Leavens Baker Ruby00] which stands for Java Modeling Language, is a behavioral interface specification language (BISL) [Wing87] designed to specify Java [Arnold Gosling98] GoslingJoy Steele96] modules. Java modules are classes and interfaces. A behavioral interface specification describes both the details of a module s interface with clients, and its behavior from the client s point of view. Such specifications are not ....

....some other features of JML. 1.1 Interfaces A module s interface consists of its name, and the names and types of its fields and methods. Java interfaces declare such interface information, but class declarations do as well. As in the Larch family of BISLs [Guttag Horning93] LeavensLarchFAQ] [Wing87] [Wing90a] interface information in JML is declared using the declaration syntax of the programming language to which the BISL is tailored; thus, JML uses Java declaration syntax. An example is given in the file PriorityQueueUserInterface.java refined , which is shown below. This example gives ....

[Article contains additional citation context not shown here]

Wing, J. M. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Desugaring JML Method Specifications - Raghavan, Leavens (2000)   (4 citations)  (Correct)

....desugaring will help one manipulate JML specifications in tools, understand the meaning of these sugars, and it also allows the use of JML specifications in verification. 1 Introduction JML [5] which stands for Java Modeling Language, is a behavioral interface specification language (BISL) [7] designed to specify Java [1, 3] modules. JML features a great deal of syntactic sugar that is designed to make specifications more expressive [4] Syntactic sugars are additions to a language that make it easier for humans to use. Syntactic sugar gives the user an easier to use notation that can ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987. 10


A Methodology for the Specification of Java Components and.. - Cimato (1998)   (Correct)

....well founded model such that their properties and the assumptions they make on the external environment are clearly exposed. Since the interface they offer and their behaviour are the crucial points which define 4 Chapter 1. Introduction a component we will adopt a behavioural interface language [Win87] for the specification of software components. ffl formal reasoning on systems resulting from the composition of basic components ensures that the developed application satisfies some crucial properties and its behaviour fulfills the requirements; putting components together is not sufficient ....

....uses. The lower tier is the Larch Shared Language, an algebraic specification language which defines the mathematical abstractions used in the other tier, which is the behavior interface language in which predicates on pre and post condition over the execution of the operations are defined [GH93, Win87] We use Ljala for a basis of our methodology, since its two tiered approach is a valid aid for bridging the gap between specification and concrete implementation of software components. The mathematical vocabulary provided by the first layer can be used to define the abstract entities ....

[Article contains additional citation context not shown here]

J. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Specifying Component-Based Software Architectures - Ciancarini, Cimato (1997)   (1 citation)  (Correct)

....uses. The lower tier is the Larch Shared Language, an algebraic specification language which defines the mathematical abstractions used in the other tier, which is the behavior interface language in which predicate on pre and post condition over the execution of the operations are defined [GH93, Win87] LSL traits are the units of LSL specifications introducing sorts and operators to represent terms and values and a set of equations to define some relevant properties. For common data structures like integers, sets, etc, Larch provides a collection of library traits, which can be reused to ....

J. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987. 11


Using Formal Methods for Teaching Software Engineering: A.. - Ciancarini, Mascolo (1998)   (Correct)

.... different (but integrated) notations: ffl the Larch Shared Language (LSL) which allows the designer to define a library of abstract data types [Guttag and Horning 1986] ffl a Larch Interface Language (LIL) syntactically close to an implementation language, is used to specify module interfaces [Wing 1987]. While LSL is independent of any programming language, LIL syntax depends on the specific language to be used in the subsequent implementation phase. Basically, LIL modules are used to describe interfaces for operations on the system (using a notation similar to the implementation language to be ....

Wing, J. (1987), "Writing Larch Interface Language Specifications," ACM Transactions on Programming Languages and Systems 9 , 1, 1--24.


JML: a Java Modeling Language - Leavens, Baker, Ruby (1998)   (8 citations)  (Correct)

....for specification than Eiffel. This paper discusses the goals of JML, the overall approach, and prospects for giving JML a formal semantics through a verification logic. 1 Introduction JML [23] which stands for Java Modeling Language, is a behavioral interface specification language (BISL) [44] designed to specify Java [2, 9] modules. Java modules are classes and interfaces. A behavioral interface specification describes both the interface details of a module, and its behavior. The interface details are written in the syntax of the programming language; thus JML uses Java declaration ....

....which would simply evaluate constructive assertions, and a prototyping tool for methods, which would construct the post state values for a method for a given pre state and list of actuals. As a general strategy for achieving these goals, we have tried to blend the Eiffel [31, 32, 33] and Larch [10, 21, 44, 45] approaches to specification. From Eiffel we have taken the idea that assertions can be written in a language that is based on Java expressions. We also use the old notation from Eiffel, as described below, instead of the Larch style annotation of names with state functions. However, Eiffel ....

[Article contains additional citation context not shown here]

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Daistish: Systematic Algebraic Testing for OO Programs in.. - Merlin Hughes And (1996)   (7 citations)  (Correct)

....to specify inequal1 ity between left and right sides of an axiom, something we have not worked on in Daistish. We will compare the details of Daistish and ASTOOT after explaining the structure and functioning of Daistish. Another body of related work is the two level specifications in Larch [5, 11, 12]. Specs in Larch have a part written as algebraic axioms, in functional notation; a second part describes semantic specific details for a particular programming language. While a considerable body of work has been done with Larch for verification, we are not aware of any testing work using Larch ....

Wing, J. M. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems 9, 1 (Jan. 1987), 1--24.


Preliminary Design of JML: A Behavioral Interface.. - Leavens, Baker, Ruby (1999)   (113 citations)  (Correct)

....and describes the basic features of the language through examples. It is intended for readers who have some familiarity with both Java and behavioral specification using preand postconditions. JML stands for Java Modeling Language. JML is a behavioral interface specification language (BISL) [Wing87] designed to specify Java [Arnold Gosling98,Gosling Joy Steele96] modules. Java modules are classes and interfaces. The main goal our research on JML is to better understand how to make BISLs (and BISL tools) that are practical and e#ective for production software environments. In order to ....

..... its interface, which consists of the names and static information found in Java declarations, and . its behavior, which tells how the module acts when used. Because they describe interface details for clients written in a specific programming language, BISLs are inherently language specific [Wing87]. For example, a BISL tailored to C , such as Larch C [Leavens97c] describes how to use a module in a C program. A Larch C specification cannot be implemented correctly in Java, and a JML specification cannot be correctly implemented in C (except for functions that are specified as ....

[Article contains additional citation context not shown here]

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


A Formal Specification in Z of the Relational Data Model, Version .. - Baluta (1995)   (Correct)

....sometimes referred to as axiomatic and algebraic. Axiomatic methods stem from Hoare s work on proofs of correctness of implementations of abstract data types, where first order predicate logic preconditions and postconditions are used for the specification of each data type. OBJ and Larch [Wi87] are example specification languages that support an axiomatic method. The algebraic specification technique has been developed independently by Goguen et al. [Gog75] and Guttag and Horning [Gu77] among others. It has been used first in the specification of abstract data types but, since then, ....

Wing J.M. "Writing Larch Interface Language Specifications". ACM Transactions Programming Languages and Systems, Jan. 1987, pp. 27--44.


Evaluating Larch/C++ as a Specification Language: A Case Study.. - David Egle   (Correct)

....SPECS C , another C class specification technique which declares abstract functions within a class specification [5] trait functions are declared in a module other than the actual specification interface module. This enforces the two tiered approach to Larch style specification languages [10]. The benefits of this approach will become apparent in the discussion of the interface specification of the class CObList, which will reuse the trait functions originally defined for CObArray. 3.4 CSizeTrait: An Example Larch Shared Language Trait An LSL trait specifies the exact meanings of ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Larch/Smalltalk: A Specification Language for Smalltalk - Cheon (1991)   (Correct)

....to specification, and an overview of the Larch Shared Language and Smalltalk programming language. Section 1.2 gives an overview Larch Smalltalk and its supporting tools, and Section 1.3 surveys related work. 1.1 Background 1.1. 1 Larch style two tiered specifications The two tiered approach [37, 38] to program specification separates the specification of underlying abstractions from the specification of state transformations. Thus, a specification of each program module has a component on each tier. The state transformations, called the interface components, are written in a predicative ....

.... the shared components, are written in the style of an equational algebraic specification, and describe intrinsic properties that are independent of the model of computation (e.g. a set is a collection of unordered, not duplicated elements) The philosophy behind this approach is summarized in [38] as: We believe that for specifications of program modules, the environment in which a module is embedded, and hence the nature of its observable behavior, is likely to depend in fundamental ways on the semantic primitives of the programming languages. 1 1 1 Thus we intentionally make an interface ....

[Article contains additional citation context not shown here]

Wing, J. M., Writing Larch Interface Language Specifications. ACM Trans. Prog. Lang. Syst., 9(1):1--24, Jan. 1987.


The Clepsydra Methodology - Ciaccia, Ciancarini, Penzo (1995)   (Correct)

....language. In fact, Larch is a twotiered language that includes: a basic notation, called LSL [13] that is an algebraic language useful to declare abstract data structures and their properties; a number of Larch Interface Languages (LILs) each one tailored to a specific implementation language [36]. We establish a correspondence between Z and Larch so as to introduce a formal connection between the phases of requirements specification and design in the software developmentprocess. Wehavedevelopedamethod able to guide the transformation of a requirementsdocument written in Z into a design ....

.... 3 Two Formal Notations: Z and Larch ffl the Larch Shared Language (LSL) is used for defining a library of abstract data structures specified using algebraic notation [13] ffl a Larch Interface Language (LIL) is used to specify module interfaces to be implemented in some programming language [36]. In LSL the basic modular construct is the trait, an abstract data structure declaration. A LSL trait includes: ffl an includes assumes part, referring to traits belonging to given libraries or previously defined by the specifier; ffl an introduces part, where new abstract operators are ....

J. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Enhancing the Pre- and Postcondition Technique for More.. - Leavens, Baker (1997)   (12 citations)  (Correct)

.... A frame axiom in a procedure specification says that nothing else changes [1] VDM and Z both have features to permit the specification of frame axioms (write permissions in VDM, and Delta in Z) In the Larch family, interface specifications languages have followed Wing s design for Larch CLU [36] in using the modifies clause to say that only the objects listed may have their abstract values changed. In Larch C , the meaning of the modifies clause modifies i; is translated by a predicate like the following (see [22, Section 6.2.3.4] for exact details) which can be thought of as ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


A Graph-Based System for Managing Configurations of Engineering .. - Westfechtel (1996)   (4 citations)  (Correct)

....(for further details, the reader is referred to [45, 47] ## # APROGRES specification is model oriented [62] because it provides a (graph) model for some abstract datatype. Operations are defined in terms of their effects on the model rather than by axioms as e.g. in the algebraic approach [61]. As a consequence, PROGRES specifications are executable (operational specification) and can be used for rapid prototyping (see also section 4) features of PROGRES application to configuration management graph schema structure of version, configuration, and document group graphs stratified type ....

....developed for different purposes. Since PROGRES has been designed for the design of sequential systems, we exclude specification languages for concurrent systems from our comparison. According to [62] wemay distinguish between property oriented and model oriented approaches. Unlike e.g. Larch [61] which belongs to the class of algebraic specification languages, PROGRES is a model oriented language. It differs from other languages such as VDM [28] and Z [50] which also support model oriented specifications, with respect to the underlying data model. In VDM and Z, operations are specified ....

J. M. Wing, "Writing Larch Interface Language Specifications", ACM Transactions on Programming Languages and Systems 9--1 (1987) 1--24.


Generating an Interpretive Language Implementation From a Layered .. - Marlin   (Correct)

....high degree of reusability of the Ada packages, but also results in a firm basis on which different languages may be compared. ATLANTIS may be modified to incorporate techniques for the automatic generation of ADT implementations from ADT specifications using the technology developed for the Larch [12, 28] and OBJ [17, 24] systems. As an illustration of the operation of ATLANTIS, consider the parse tree in Figure 8, which would be produced according to the rules in Figure 4 and the following input: procedure foo (a: integer) var i: integer; begin : end; Performing a post order traversal ....

J.M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, Volume 9, Number 1, pages 1--24, January 1987.


The Larch/Smalltalk Interface Specification Language - Cheon, Leavens (1994)   (Correct)

....of elements without duplicates) The idea is to make the interface language dependent on a specific target programming language, and keep the shared language independent of any programming language. The interface components are specified in programming language specific Larch interface languages [Win87, GH91, Che91, Jon91, LC92] and the shared components are written in the Larch Shared Language (LSL) GH93, Chapter 4] The interface specifications are model oriented while the shared components are equational. In the Larch family, there is a clear distinction between the specification of ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Specifying Objects of Concurrent Systems - Lerner (1991)   (7 citations)  (Correct)

....given a formal semantics. For more details on Larch, Guttag et al. 85a] gives an overview, Guttag et al. 90] describes the version of LSL used in this dissertation, Guttag et al. 85b] contains the LSL Handbook, and [Chen 89] describes GIL. Wing discusses Larch interface languages in general in [Wing 87] 1.3.2. Sequential and Concurrent Models In the sequential model there is no reason to specify when an operation may execute. The model assumes that an operation execution immediately follows its invocation. In the concurrent model, however, correctness conditions may dictate that an operation ....

Jeannette M. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems 9(1):1-24, January, 1987.


Developing Formally Verified Ada Programs - Ramsey (1988)   (1 citation)  (Correct)

....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 ....

....rewrite a specification that was in terms of an abstract type to a new specification in terms of a concrete type. Using Larch Ada As an example, here is a Larch Ada specification for some set operations. Jeannette Wing used these operators in her presentation of a Larch interface language for CLU [4]. As she did, we will use a Larch Shared Language description of sets and set operations. The trait describing these operations, called SetOfE, is shown in Figure 1. 3 These are called ghost variables by Gries and Dijkstra; the name virtual variable is from Luckham [5] We begin our example ....

[Article contains additional citation context not shown here]

J. M. Wing, "Writing Larch interface language specifications," ACM Transactions on Programming Languages and Systems, vol. 9, pp. 1--24, Jan. 1987.


Preliminary Design of JML: A Behavioral Interface.. - Leavens, Baker, Ruby (1998)   (113 citations)  (Correct)

....and describes the language through examples. It is intended for readers who have some familiarity with both Java and behavioral specification using pre and postconditions. 1 Introduction JML stands for Java Modeling Language. JML is a behavioral interface specification language (BISL) Win87] designed to specify Java [AG98, GJS96] modules. Java modules are classes and interfaces. The main goal of the research presented in this paper is to better understand how to make BISLs (and BISL tools) that are practical and effective for Rockwell and similar production software environments. ....

....8 9 Figure 1: A JML specification written as annotations in the Java code file IntMathOps.java. ffl its behavior , which tells how the module acts when used. Because they describe interface details for clients written in a specific programming language, BISLs are inherently language specific [Win87] For example, a BISL tailored to C , such as Larch C [Lea97] would describe how to use a module in a C program. A Larch C specification cannot be implemented correctly in Java, and a JML specification cannot be correctly implemented in C (except for functions that are specified as ....

[Article contains additional citation context not shown here]

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


An Overview of Larch/C++: Behavioral Specifications for C++.. - Gary Leavens (1996)   (7 citations)  (Correct)

....in Z is based on set theory; it has a relatively elaborate notation for various set constructions, as well as powerful techniques for combining specifications (the schema calculus) 1. 2 Larch The work of Wing, Guttag, and Horning on Larch extends the VDM SL and Z tradition in two directions [51, 50, 18]. ffl Although a mathematical toolkit is provided [18, Appendix A] specifiers may design their own mathematical theories using the Larch Shared Language (LSL) 18, Chapter 4] This allows users, if they desire, to create and use an abstract model at exactly the right level of abstraction; that ....

....language, there are several behavioral interface specification languages (BISLs) each tailored to specifying modules to be written in a specific programming language. Examples include LCL [18, Chapter 5] for C) LM3 [18, Chapter 6] for Modula 3) Larch Ada [17] for Ada) Larch CLU [51, 50] (for CLU) Larch Smalltalk [10] for Smalltalk) and Larch C . The advantage of tailoring each BISL to a specific programming language is that one can specify both the behavior and the exact interface to be programmed [24] This is of great practical benefit, because the details of the interface ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Inheritance of Interface Specifications - Extend Ed   (Correct)

....for the semantics of inheritance of specifications are discussed. The information loss and frame axiom problems for inherited specifications are also considered. 1 Introduction An interface specification language (ISL) defines both how to call a module and its (functional) behavior [Win83] Win87] Lam89] GHG 93] The details of how to call a module and some aspects its behavior are specific to the particular programming language; hence in the Larch approach to interface specification [GHG 93] each ISL is tailored to a particular programming language. What does this tailoring ....

Jeannette M. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems,


Executing Formal Specifications with Constraint Programming - Wahls, Leavens, Baker (1998)   (1 citation)  (Correct)

....but the translation is more complex. The formal parameters of the agent are the parameters of the member function definition and the three additional parameters previously discussed. The modifies clause specifies which objects can change from the pre state to the post state [Guttag et al. 1993] [Wing, 1987] [Borgida et al. 1995] and so this clause is used to construct the post state store that will be passed to the agent. Any objects not listed in the modifies clause simply have their values copied to the post state store, while objects listed in this clause are bound to fresh variables in the ....

Wing, J. M. (1987). Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24.


Enhancing the Pre- and Postcondition Technique for More.. - Leavens, Baker (1999)   (12 citations)  (Correct)

.... A frame axiom in a procedure specification says that nothing else changes [4] VDM and Z both have features to permit the specification of frame axioms (write permissions in VDM, and Delta in Z) In the Larch family, interface specifications languages have followed Wing s design for Larch CLU [56] in using the modifies clause to say that only the objects listed may have their abstract values changed. In Larch C , the meaning of the modifies clause modifies i; is translated by a predicate like the following (see [32, Section 6.2.3.4] for exact details) which can be thought of as ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Specification and Verification of Network Managers for Large.. - David Cohrs (1989)   (2 citations)  (Correct)

....for specifying programs and protocols. Our interest in specification languages is in using them as part of a larger tool, rather than in the correct way in which a specification language should be designed. A few of the better known specification languages are Ina Jo[4] PAISLey[21] and Larch[20]. Various features of these languages are important to designing our network management specification language. Three other recent specification languages, Gist[7] PLEASE[16] Anna[13] and LOTOS[9] also have features in common with our work. The specification languages mentioned are used ....

....domain specifications) is also deliberate. This allows the management information to be specified independent of its use. It also allows types of processes to be specified, and allows these process types to be instantiated in various locations. These separate specifications, as pointed out in Larch[20], make them more generally useful. In the case of network management, the separation also mirrors the real world, where many network elements will store the same types of management data, and run network management software derived from the same source. 4.1.1. NMSL SYNTAX The syntax of the NMSL ....

J. M. Wing, "Writing Larch Interface Language Specifications," ACM Transactions on Programming Languages and Systems 9(1) pp. 1-24 (January 1987).


Object-Oriented Programming for Massively Parallel Machines - Michael Kilian (1991)   (3 citations)  (Correct)

....not how computations are performed. This section defines a small set of operations (not a minimal set, however) that are specified by Parallel Set. All of the subtypes must implement these operations, though not necessarily in the same way. The specification is based on Larch trait specifications [Win87] Differences from [Win87] are that the first argument is me for instance operations or mytype for class operations, and CLU style where clauses are included [LG86] Parallel Set[T: Type] T is the type of the items the set contains. introduces Add: me, T void Add an object to a parallel set. ....

....This section defines a small set of operations (not a minimal set, however) that are specified by Parallel Set. All of the subtypes must implement these operations, though not necessarily in the same way. The specification is based on Larch trait specifications [Win87] Differences from [Win87] are that the first argument is me for instance operations or mytype for class operations, and CLU style where clauses are included [LG86] Parallel Set[T: Type] T is the type of the items the set contains. introduces Add: me, T void Add an object to a parallel set. More than one object may ....

Jeannette M. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1), January 1987.


An Overview of Larch/C++: Behavioral Specifications for C++.. - Gary Leavens (1996)   (7 citations)  (Correct)

....in Z is based on set theory; it has a relatively elaborate notation for various set constructions, as well as powerful techniques for combining specifications (the schema calculus) 1. 2 Larch The work of Wing, Guttag, and Horning on Larch extends the VDM SL and Z tradition in two directions [52, 51, 18]: ffl Although a mathematical toolkit is provided [18, Appendix A] specifiers may design their own mathematical theories using the Larch Shared Language (LSL) 18, Chapter 4] This allows users, if they desire, to create and use an abstract model at exactly the right level of abstraction; that ....

....language, there are several behavioral interface specification languages (BISLs) each tailored to specifying modules to be written in a specific programming language. Examples include LCL [18, Chapter 5] for C) LM3 [18, Chapter 6] for Modula 3) Larch Ada [17] for Ada) Larch CLU [52, 51] (for CLU) Larch Smalltalk [10] for Smalltalk) and Larch C . The advantage of tailoring each BISL to a specific programming language is that one can specify both the behavior and the exact interface to be programmed [24] This is of great practical benefit, because the details of the interface ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


An Overview of Larch/C++: Behavioral Specifications for C++ Modules - Leavens (1996)   (7 citations)  (Correct)

....in Z is based on set theory; it has a relatively elaborate notation for various set constructions, as well as powerful techniques for combining specifications (the schema calculus) 1. 2 Larch The work of Wing, Guttag, and Horning on Larch extends the VDM SL and Z tradition in two directions [54, 53, 16]: ffl Although a mathematical toolkit is provided [16, Appendix A] specifiers may design their own mathematical theories using the Larch Shared Language (LSL) 16, Chapter 4] This allows users, if they desire, to create and use an abstract model at exactly the right level of abstraction; that ....

....language, there are several behavioral interface specification languages (BISLs) each tailored to specifying modules to be written in a specific programming language. Examples include LCL [16, Chapter 5] for C) LM3 [16, Chapter 6] for Modula 3) Larch Ada [15] for Ada) Larch CLU [54, 53] (for CLU) Larch Smalltalk [9] for Smalltalk) and Larch C . The advantage of tailoring each BISL to a specific programming language is that one can specify both the behavior and the exact interface to be programmed [22] This is of great practical benefit, because the details of the interface ....

[Article contains additional citation context not shown here]

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


An Overview of Larch/C++: Behavioral Specifications for C++.. - Gary Leavens (1996)   (7 citations)  (Correct)

....in Z is based on set theory; it has a relatively elaborate notation for various set constructions, as well as powerful techniques for combining specifications (the schema calculus) 1. 2 Larch The work of Wing, Guttag, and Horning on Larch extends the VDM SL and Z tradition in two directions [52, 51, 18]: ffl Although a mathematical toolkit is provided [18, Appendix A] specifiers may design their own mathematical theories using the Larch Shared Language (LSL) 18, Chapter 4] This allows users, if they desire, to create and use an abstract model at exactly the right level of abstraction; that ....

....language, there are several behavioral interface specification languages (BISLs) each tailored to specifying modules to be written in a specific programming language. Examples include LCL [18, Chapter 5] for C) LM3 [18, Chapter 6] for Modula 3) Larch Ada [17] for Ada) Larch CLU [52, 51] (for CLU) Larch Smalltalk [10] for Smalltalk) and Larch C . The advantage of tailoring each BISL to a specific programming language is that one can specify both the behavior and the exact interface to be programmed [24] This is of great practical benefit, because the details of the interface ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


A Quick Overview of Larch/C++ - Cheon, Leavens (1994)   (6 citations)  (Correct)

....but exactly how that function is called from C code. The details of how to call a C function, the name, return type, and argument types, are called the interface of that function. Since Larch C specifies both a C interface and behavior, it is an interface specification language [29] [27] [16] 10] The word Larch in Larch C refers to the use of the Larch Shared Language [10] to precisely describe behavior. The approach dates back to Hoare s work [13] on verification of programs that use abstract data types (ADTs) Hoare s idea was to describe the behavior of an operation of ....

....of an operation of an ADT, not in terms of the bits in the representation of an ADT, but in terms of abstract values such as mathematical sets or stacks. This idea lead to the specification languages VDM [14] and Z [12] 25] and the family of Larch interface specification languages [29] 11] [27] [6] 8] 9] 15] 10] This style of specification is called model oriented in [28] because behavior is described by abstract values taken from some mathematical model. In Larch C an interface specification consists of two parts: some Larch C specific text, and some text in the Larch ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, January 1987.


Protection from the Underspecified - Leavens, Wing (1996)   Self-citation (Wing)   (Correct)

....4: An informal version of the factorial example. from areas of underspecification. Thus when specifying the mathematical operators, one need not be as careful as Gries and Schneider. To make these ideas concrete, we consider the Larch family of behavioral interface specification languages (BISLs) [12, 24, 23]. In the Larch family, one specifies implementations in two tiers by describing: ffl mathematical vocabulary in LSL, and ffl syntactic interfaces (names, types, number of arguments, etc. and behavior (pre and postconditions) in a BISL. Each BISL is tailored to specifying interface details for ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1-- 24, January 1987.


Protection from the Underspecified - Leavens, Wing (1996)   Self-citation (Wing)   (Correct)

....mathematical operators used in the postcondition from areas of underspecification. Thus when specifying the mathematical operators, one need not be as careful as Gries and Schneider. To make these ideas concrete, we consider the Larch family of behavioral interface specification languages (BISLs) [12, 24, 23]. In the Larch family, one specifies implementations in two tiers by describing: ffl mathematical vocabulary in LSL, and ffl syntactic interfaces (names, types, number of arguments, etc. and behavior (pre and postconditions) in a BISL. Each BISL is tailored to specifying interface details for ....

Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1-- 24, January 1987.


JML Reference Manual - Leavens, Poll, Clifton, Cheon, Ruby, .. (2004)   (5 citations)  (Correct)

No context found.

Jeannette M. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1):1-24 (Jan. 1987).


JML Reference Manual - Draft Revision December   (Correct)

No context found.

Jeannette M. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1):1-24 (Jan. 1987).


Experiences with Combining Formalisms in VVSL - Middelburg (1991)   (Correct)

No context found.

J.M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1--24, 1987.

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