What is Larch? What is the Larch family of specification languages?
Larch Frequently Asked QuestionsLarch [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 QuestionsHow does Larch compare to other specification languages?
Larch Frequently Asked QuestionsFirst, 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 QuestionsWhere can I get more information on Larch and Larch languages?
Larch Frequently Asked QuestionsA 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 QuestionsWhat is the origin of the name Larch?
Larch Frequently Asked QuestionsAccording 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 QuestionsWhy does Larch have two tiers?
Larch Frequently Asked QuestionsThe 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 QuestionsWhat is the difference between LSL and a Larch BISL?
Larch Frequently Asked QuestionsThe 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 QuestionsHow does Larch compare to Z?
Larch Frequently Asked QuestionsLike 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 QuestionsWhat is the history of the Larch project?
Larch Frequently Asked QuestionsThe 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 QuestionsIs there an object-oriented extension to Larch?
Larch Frequently Asked QuestionsThis 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 QuestionsWhat is the Larch Shared Language (LSL)?
Larch Frequently Asked QuestionsThe 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 QuestionsWhat is the Larch Prover (LP)?
Larch Frequently Asked QuestionsThe 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 QuestionsWhat about other languages?
CouchSurfing - Frequently Asked QuestionsThis 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 QuestionsWhat 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 QuestionsWhat are the advantages of using the Larch two-tiered approach?
Larch Frequently Asked QuestionsHaving 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 QuestionsHow does Larch compare to VDM-SL?
Larch Frequently Asked QuestionsBy 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 QuestionsHow does Larch compare to COLD-K?
Larch Frequently Asked QuestionsLike 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 QuestionsWhere can I find the "CGI specification"?
Apache Server Frequently Asked QuestionsThe 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 QuestionsWhat is a specification?
M Frequently Asked QuestionsA specification is a document that explicitly describes the performance property or product that is required for the visibility-enhancing garment.
Related QuestionsWhat was its specification ?
MK14 FAQThe 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 QuestionsFrequently Asked QuestionsNormally 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 assayRelated 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 QuestionsIs 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 QuestionsDo you speak any other languages?
Frequently Asked Questionseither of the two languages, it sounds broken. Otherwise, I don't speak any other languages fluently.
Related QuestionsWhat Languages Are Supported?
MinGW - Frequently Asked Questionsof 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 QuestionsWhen will you support other languages?
Google Suggest FAQWe'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 QuestionsIs my specification deposit refundable?
Frequently Asked Questions (FAQ) | Monroe County, NYSpecifications 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 QuestionsWhere can I get the OpenGL specification?
SGI - OpenGL Frequently Asked QuestionsThe 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 QuestionsWhat 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 QuestionsWhat is the meaning of an LSL specification?
Larch Frequently Asked QuestionsLSL 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