Search 5,000,000+ questions and answers.

Frequently Asked Questions

What is Larch? What is the Larch family of specification languages?

Larch Frequently Asked Questions
Larch [Guttag-Horning93] may be thought of as an approach to formal specification of program modules. This approach is an extension of Hoare's ideas for program specification [Hoare69] [Hoare72a]. Its distinguishing feature is that it uses two "tiers" (or layers) [Wing83]. The top tier is a behavioral interface specification language (BISL), tailored to a specific programming language. Such BISLs typically use pre- and postcondition specifications to specify software modules.
Related Questions

How does Larch compare to other specification languages?

Larch Frequently Asked Questions
First, a more precise comparison is needed, because Larch is not a single language, but a family of languages (see above). Another problem with this comparison is that Larch has two tiers, but VDM-SL [Jones90] [ISO-VDM96] [Fitzgerald-Larsen98], Z [Hayes93] [Spivey92], and COLD-K [Feijs-Jonkers92] are all integrated languages, which mix aspects of both of the tiers of the Larch family.
Related Questions

Where can I get more information on Larch and Larch languages?

Larch Frequently Asked Questions
A good place to start is the Guttag and Horning's book [Guttag-Horning93]. (This book is sometimes called "the silver book" by Larchers.) Consider it required reading. If you find that all tough going, you might want to start with Liskov and Guttag's book [Liskov-Guttag86], which explains the background and motivates the ideas behind abstraction and specification. (See section 1.9 What is the use of formal specification and formal methods?, for more background.
Related Questions

What is the origin of the name Larch?

Larch Frequently Asked Questions
According to Jim Horning (personal communication, January 20, 1998) and John Guttag (personal communication, March 28 1998): "The name was not selected at PARC (hence from the Sunset Western Garden Book), but at MIT. The project had been known informally there as 'Bicycle'." One day Mike Dertouzos [director of the MIT Laboratory for Computer Science] and John were talking on the phone.
Related Questions

Why does Larch have two tiers?

Larch Frequently Asked Questions
The two "tiers" used in the Larch family of specification languages are LSL, which is called the bottom tier, and a behavioral interface specification language (a BISL), which is called the top tier. This specification of program modules using two "tiers" is a deliberate design decision (see [Wing83] and [Guttag-Horning93], Chapter 3).
Related Questions

What is the difference between LSL and a Larch BISL?

Larch Frequently Asked Questions
The main difference between LSL and a Larch BISL is that in LSL one specifies mathematical theories of the operators that are used in the pre- and postcondition specifications of a Larch BISL. Thus LSL is used to specify mathematical models and auxiliary functions, and the a Larch BISL is used to specify program modules that are to be implemented in some particular programming language.
Related Questions

How does Larch compare to Z?

Larch Frequently Asked Questions
Like VDM-SL, Z [Hayes93] [Spivey92] (pronounced "zed") is a specification language that allows both the specification of mathematical values and program modules. Like LSL, Z allows the definition of mathematical operators equationally (see [Spivey92], section 3.2.2). A Z schema is roughly comparable to an LSL trait. The main difference between Z and LSL is that in Z specifications can include state variables.
Related Questions

What is the history of the Larch project?

Larch Frequently Asked Questions
The following is adapted from a posting of Horning to the larch-interest mailing list on June 19, 1995, which was itself condensed from the preface of [Guttag-Horning93].) This project has been a long time in the growing. The seed was planted by Steve Zilles on October 3, 1973.
Related Questions

Is there an object-oriented extension to Larch?

Larch Frequently Asked Questions
This question might mean one of several other more precise questions. These questions are discussed below. One question is: is there a Larch-style BISL for some particular object-oriented (OO) programming language? Yes, there are Larch-style BISLs for Modula-3 (see [Guttag-Horning93], chapter 6, and [Jones91]), Smalltalk-80 (see [Cheon-Leavens94]), and C++ (see [Leavens97] [Leavens96b]).
Related Questions

What is the Larch Shared Language (LSL)?

Larch Frequently Asked Questions
The Larch Shared Language (LSL) (see [Guttag-Horning93], Chapter 4, and [Guttag-Horning-Modet90]) is a language for specifying mathematical theories. LSL is a kind of equational algebraic specification language [Guttag75] [Guttag-Horning78] [Goguen-Thatcher-Wagner78] [Ehrig-Mahr85] [Futatsugi-etal85] [Mosses96] [Loeckx-Ehrich-Wolf96]. That is, specifications in LSL mainly consist of first-order equations between terms.
Related Questions

What is the Larch Prover (LP)?

Larch Frequently Asked Questions
The Larch Prover (LP) [Garland-Guttag95] is a program that helps check and debug proofs. It is not geared toward proving conjectures automatically, but rather toward automating the tedious parts of proofs. It automates equational rewriting (proofs by normalization), but does not (by default) automatically try other proof techniques. aid the debugging of specifications (i.e.
Related Questions

What about other languages?

CouchSurfing - Frequently Asked Questions
This site is translated into several languages, and we are adding new languages all the time. If you can translate from English into a language that you are an expert at, we invite you to participate! It's a good way to get involved in the CouchSurfing.com community.
Related Questions

What languages are the Family Name Histories available in?

Family Coat of arms and family crests including heraldry, ge...
H & C's Family Name Histories are available in English, French, German, Italian, Portuguese and Spanish. Our Family Name Histories are prepared in the language requested by the original customer. Many family name histories are written in the language of their country of origin, while most of our histories are also available in English. Where a Family Name History can not be found in a particular language, but exists in another of the six languages, a translation fee may apply.
Related Questions

What are the advantages of using the Larch two-tiered approach?

Larch Frequently Asked Questions
Having different BISLs tailored to each programming language allows each BISL to specify all the details of a program module's interface (how to call it) and behavior (what it does). If one has a generic interface specification language, such as VDM-SL [Jones90] [ISO-VDM96] [Fitzgerald-Larsen98], then one cannot specify all interface details. The division into two tiers allows the language used for each tier to be more carefully designed and expressive.
Related Questions

How does Larch compare to VDM-SL?

Larch Frequently Asked Questions
By VDM, one means, of course, the specification language VDM-SL [Jones90] [ISO-VDM96] [Fitzgerald-Larsen98]. In comparison with LSL, in VDM-SL one can specify mathematical values (models) using constructs similar to those in denotational semantics and typed, functional programming languages.
Related Questions

How does Larch compare to COLD-K?

Larch Frequently Asked Questions
Like Larch, COLD-K [Feijs-Jonkers92] makes more of a separation into mathematical and interface specifications, although all are part of the same language. The part of COLD-K comparable to LSL is its algebraic specifications (see [Feijs-Jonkers92], Chapters 2 and 3). In contrast to LSL, COLD-K does not use classical logic, and can specify partial functions. All COLD-K types have an "undefined" element, except the type of the Booleans.
Related Questions

Where can I find the "CGI specification"?

Apache Server Frequently Asked Questions
The Common Gateway Interface (CGI) specification can be found at the original NCSA site < http://hoohoo.ncsa.uiuc.edu/cgi/interface.html>. This version hasn't been updated since 1995, and there have been some efforts to update it. A new draft is being worked on with the intent of making it an informational RFC; you can find out more about this project at <http://web.golux.com/coar/cgi/>.
Related Questions

What is a specification?

M Frequently Asked Questions
A specification is a document that explicitly describes the performance property or product that is required for the visibility-enhancing garment.
Related Questions

What was its specification ?

MK14 FAQ
The base machine had an SC/MP 2 Microprocessor running at 4.4 Mhz, and 8 or 9 digit 7 segment display, a 16 key keyboard, 512 bytes of ROM. It was possible to expand memory on board by a further 256 bytes, and to add an 8154 I/O RAM Chip with 16 I/O lines and 128 bytes of RAM. There was also a reset switch. There was only support for 8 digits normally but Ray Aucote published a modification allowing the use of the Ninth. The clock was at 4.4Mhz.
Related Questions

Frequently Asked Questions
Normally we can provide a typical customer specification for a given product but we can also tailor the specification to customer needs. We can also advise you on the analytical methodology used to determine the product assay
Related Questions

Q: What is the LNB Specification for this digital signal with the Wegener IRD family?

The Wegener QPSK digital video products have been designed to be functional with low cost NON PHASE LOCKED LNB's.
Related Questions

Is the 80960 Rx family PCI Local Bus Specification, Revision 2.2 compliant?

Intel(R) i960(R) Rx I/O Processors - Hardware Design Support...
The 80960 RP/RD is compliant with the PCI Local Bus Specification, Revision 2.2. The i960® RP/RD I/O Processor Specification Update contains the latest information regarding device and documentation errata, specification clarifications and changes. The i960® RP/RD microprocessor is not supported by Intel to run in a 3.3 volt PCI signaling environment. The i960® RP/RD only supports 5V PCI signaling. The issue is due to the fact that the V_in high has a minimum value of 2.
Related Questions

Do you speak any other languages?

Frequently Asked Questions
either of the two languages, it sounds broken. Otherwise, I don't speak any other languages fluently.
Related Questions

What Languages Are Supported?

MinGW - Frequently Asked Questions
of MinGW-2.0.0-3.exe, MinGW carries support for C, C++, ObjC, and Fortran 77. Ada is available as a seperate binary, while Java (GCJ) is implemented as a release candidate. Continual work is being done with the hope of it being included in the next major release. And last, but not least Pascal is available as a contributed package (GPC).
Related Questions

When will you support other languages?

Google Suggest FAQ
We're not sure yet. But we're always interested in expanding our products into more languages, and hope to be able to offer you such services soon! We love feedback. Please send your Google Suggest comments, criticisms and suggestions to us at labs+suggest@google.com -- we always read every email our users send us.
Related Questions

Is my specification deposit refundable?

Frequently Asked Questions (FAQ) | Monroe County, NY
Specifications deposits are returned only to those prospective bidders who actually submit proposals to the county and have returned their specifications unmarked and in good condition within 30 days of the bid award. If you return the specifications in good condition and unmarked at least seven (7) days prior to the bid opening.
Related Questions

Where can I get the OpenGL specification?

SGI - OpenGL Frequently Asked Questions
The Windows operating systems include high-performance 3D graphics capabilities as a native part of the operating system using the OpenGL API. It was announced at MacWorld on January 5, 1999, that Apple Computer, Inc. has licensed OpenGL, and will incorporate OpenGL into future versions of the Macintosh® operating system, starting with the next release of Mac OS 8 and the first release of Mac OS X. Mesa (see www.mesa3d.org) is an implementation of OpenGL written for Linux systems.
Related Questions

What is the Simple Sharing Extensions specification?

Frequently Asked Questions for Simple Sharing Extensions (SS...
Simple Sharing Extensions (SSE) is a specification that extends existing formats such as RSS or Atom from unidirectional to bidirectional information flows. This version of the specification describes a "binding" for SSE to Atom and RSS; future versions of the spec are expected to include SSE bindings for other formats as well.
Related Questions

What is the meaning of an LSL specification?

Larch Frequently Asked Questions
LSL trait denotes a theory, which is a collection of true formulas (of sort Bool). This theory contains "the trait's assertions, the conventional axioms of first-order logic, everything that follows from them, and nothing else" (see [Guttag-Horning93], p. 37). For a brief introduction to these ideas, see Chapter 2 of [Guttag-Horning93]; for general background on equational logic, see [Ehrig-Mahr85] or [Loeckx-Ehrich-Wolf96].
Related Questions

Got A Question? Ask Our Community!


More Questions >>

© Copyright 2007-2008 QueryCAT
About • Webmasters • Contact