| D. Luckham, W. Mann, S. Meldal, and D. Helmbold, "An Overview of Anna: A Specification Language for Ada, " IEEE Software, Vol. 20, No. 2, pp. 9-23, 1988. |
....description of its non functional behaviour. In this paper, we propose component programming with ADTs using: Ada [Ada83] as the programming language. Then, definitions of ADTs are encapsulated in packages while implementations appear inside package bodies 1 . The Anna specification language [LH85, Luc90] for stating functional properties of ADTs. Some new constructs [Fra96, FB96, FB97] for dealing with non functionality. We consider three kinds of non functional information: Non functional property (short, NF property) any attribute of software which serves as a means to describe it and ....
....are managed to produce different files distinguishing the non functional part from the functional one. Section 7 gives an outline of the automatic selection algorithm. Finally, section 8 provides the conclusions. 2 The Anna Specification Language The Anna specification language (ANNotated Ada) [LH85, Luc90] is a language extension of Ada that includes features supporting functional specification such that: Anna program = Ada program formal comments Formal comments are just comments from the Ada point of view, and so Anna programs are acceptable by Ada compilers with no changes at all. However, ....
D.C. Luckham, F.W. von Henke. "An Overview of Anna, a Specification Language for Ada". Software IEEE, March 1985.
....formal specifications. A formal specification language is one that defines what to do requirements in a clear and unambiguous fashion. Specifications express information about a program that is not normally part of the program, and often cannot be expressed in a normal programming language [3]. Formal specification languages are usually mathematically based, because English based requirements can be misinterpreted. Formal specifications have been advocated for use by the software engineering community. Specifications are commonly considered part of the up front development process, to ....
....capabilities to be used as part of our system. Since Anna is written in Ada, the tool set can be made to run on numerous hardware platforms; we use a Silicon Graphics computer system. Anna is a language extension to Ada that allows the formal specification of the intended behavior of programs [3, 4]. In TROT, the Anna language is used to specify information that is derived from a requirements document. A support environment is available in the Anna language which provides a fairly robust tool set. The tool set is capable of transforming Anna constructs into executable programs. Of the ....
David C. Luckham, Friedrich W. von Henke "An Overview of Anna, a Specification Language for Ada", IEEE Software, IEEE, 1985, pp 19-22.
.... Java modules, JML describes two important aspects of a Java module: ffl its interface, which consists of the names and static information found in Java declarations, and The work of Leavens and Ruby is supported in part by a grant from Rockwell International Corporation and by NSF grant CCR 9503168. The work of Leavens and Baker is supported in part by the NSF grant CCR 9803843. 1 public class IntMathOps 1 public static int isqrt(int y) 2 normalbehavior: 3 requires: y = 0; 4 ensures: result result = y 5 y ( result 1) result 1) ....
....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 native code) JML specifications are designed to be annotations in Java code files [31, 32, 43, 47, 48] To a Java compiler such annotations are comments that are ignored. This allows JML specifications, such as the specification in Figure 1, to be embedded in Java code files. It is possible, however, to have specifications that are separate from code, if desired; this can be done ....
[Article contains additional citation context not shown here]
David Luckham and Friedrich W. von Henke. An overview of anna - a specification language for Ada. IEEE Software, 2(2):9--23, March 1985.
....of a client and supplier can be matched by some computer program (type checker theorem prover) just as the IDL is matched. What would the ideal formal service specification language be Many program specification formalisms (Predicate Calculus, object oriented Z [26] Larch CORBA[15] Anna [16]) are highly expressive, but pay for this expressiveness by giving up decidable reasoning (item iii) Without e#ective reasoning, one cannot automatically determine if two specifications are compatible, leaving the unpleasant possibility of run time exceptions and errors. Complete specifications ....
D. C. Luckham, F. W. von Henke. "An overview of Anna, a specification language for Ada" IEEE Software March 1985.
....traditional validation activities and development processes in the software lifecycle. A number of assertion oriented technologies have been developed for embedded semantic based monitoring of traditional software systems, such as the annotation languages ANNA and TSL and their support tools [2,7,8], the assertion processing tool APP [6] and technologies proposed specifically for object oriented languages [1,3,5] These technologies can be adapted for use in distributed object computing, but a number of additional capabilities will be needed. In particular, supported for embedded ....
D.C. Luckham and F.W.v. Henke, "An Overview of Anna, a Specification Language for Ada", IEEE Software, vol. 2, no. 2, pp. 9--23, 1985.
....criteria. However, it is not possible, in general, to check that a subprogram supplied as a generic parameter complies with required functional constraints. Checking beyond that inherent in most programming languages is possible using some form of supplementary notation. For example, Anna [Luc85] is a notation designed to permit specifications to be added to Ada source programs. Anna, however, is not designed Certification Of Reusable Software Parts Establishing Properties Of Systems 1992 University Of Virginia. All rights reserved. 46 to perform the kind of verification described here, ....
....in general, this is probably not a practical approach to the problem at this point in the present embryonic state of reuse technology. A promising first approach to dealing with many of the issues, at least partially, is the instrumentation of reusable components with executable assertions [And81, Luc85, Mey87]. In fact, Anna [Luc85] is described as a notation for specification although it does not have the completeness characteristics of a rigorous approach such as VDM [Jon86] However, Anna does provide a rich notation for writing executable assertions. The role of instrumentation using assertions is ....
[Article contains additional citation context not shown here]
Luckham, D.C. and F.W. von Henke, "An Overview of Anna, a Specification Language For Ada", IEEE Computer, March, 1985.
....that range from very high level to low level. The designers of V take an approach similar to the one presented here. To manage the relationships of objects, constraints are separated from system code and given as assertions along with directions for how they are used. 4.1. 3 Other languages Anna [13] is an annotation language which is used to describe properties which a computation must satisfy. The annotations are embedded in an Ada program and, in most cases, consistency tests can determine if the computation satisfies the properties specified by Anna. A similar language, FORMal ANnotation ....
Luckham, D. and Von Henke, F. W., "An Overview of Anna: A Specification Language for Ada," IEEE Software, 20(2), pp. 9-23, 1985.
....monitoring is used to verify that the program dynamically maintains specified properties of the objects manipulated by the program. The annotation language Anna embeds annotations in Ada and performs consistency tests to determine if the computation satisfies the properties specified by Anna [Luckham and Von Henke, 1985]. Anna is helpful for specifying security requirements that can be transformed into run time checks. In addition, this approach is useful in the early stages of program development to locate errors; however, it becomes less useful as the program begins to evolve because the annotations are tied to ....
Luckham, D. and Von Henke, F.W., "An Overview of Anna: A Specification Language for Ada," IEEE Software, 20(2):9-23, 1985.
....language: they may be applied to a specification language as OBJ [FGMJ85] or ACT ONE [EM85] linked with any imperative programming language as Ada, Modula or O. O. ones. Also, they may be applied to any equational enrichment of an imperative programming language (Ada with equations, as Anna [LH85]) or (with a few modifications) even to logic programming combined with imperative programming (as in [DDL88, Rad90] To be as general as possible, we use in the paper an ad hoc notation based on the concept of abstract data type as design unit. It allows: on the one hand, formal, possibly ....
D.C. Luckham, F.W. von Henke. "An overview of Anna, a specification language for Ada". IEEE Software, March 1985.
....exceptions) Thus, by specifying the semantics of the module interface and including pragmatic information, the designer can define precisely the meaning of a module and indicate ways in which it can be properly used. Our approach is based on that of Hoare s input output predicates [12] see also [18, 30]) but extended in two ways: a set of obligations is added to the set of postconditions to form a result of an operation; and multiple results are provided to allow the description of both normal and exceptional exits from the operation. We use this predicate approach in Instress rather than an ....
David Luckham and Friedrich W. von Henke. "An Overview of Anna, A Specification Language for Ada." IEEE Software, 2:2 (March 1985). pp. 24-33.
....redundancy, debugging, history constraint, Larch. 1 Introduction 1. 1 Background and Motivation The pre and postcondition technique was described by Hoare in his classic article [25] This technique forms the basis of most contemporary specification languages for sequential systems [1, 14, 15, 17, 22, 27, 30, 39, 38, 40, 41, 45, 48, 49]. However, Z [23, 50] is an exception, as Z preconditions are not explicitly stated, but instead are calculated from the specification given [58, Chapter 14] We take as our starting point an excellent article by Jonkers [29] which, like this paper, is addressed to specification language ....
David Luckham and Friedrich W. von Henke. An overview of anna - a specification language for Ada. IEEE Software, 2(2):9--23, March 1985.
....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 primarily for specifying programming languages. Ina Jo, PAISLey and LOTOS use a constructive specification method. A constructive specification is one in which an abstract version of the ....
D. C. Luckham and F. W. Henke, "An Overview of Anna, a Specification Language for Ada," IEEE Software 2(2) pp. 99-22 (March 1985).
....system. We found the technology of formal specifications to be a useful source of information about how objects are meant to be used. Algebraic specification approaches (such as OBJ [6] and Larch [7] and input output predicate approaches (such as Hoare [10] Alphard [29] Dijkstra [3] and Anna [15]) represent some of the ways in which a system builder might describe the semantics of system objects. Algebraic axioms are particularly apt for describing the relationships between operations and for indicating how these operations are meant to be used. Input output predicates, while perhaps less ....
David Luckham and Friedrich W. von Henke. "An Overview of Anna, A Specification Language for Ada", IEEE Software, 2:2 (March 1985). pp. 24-33.
....the interface specifications. 3 The specifications provide a bootstrapping mechanism: assume that 1. The form of SL is one of my current investigations. 2. For a more complete treatment of these specification issues see my paper The Inscape Environment [1] 3. Anna [9], the annotation language for Ada, on the other hand, provides dynamic analysis of annotations embedded in both interfaces and implementations. Inscape is concerned only with the static analysis of interface specifications and the propagation of those interface elements throughout the ....
David Luckham and Friedrich W. von Henke. "An Overview of Anna, A Specification Language for Ada." IEEE Software, 2:2 (March 1985). pp 24-33.
....xa prepare ret (x,xa ok) xa prepare ret (x.xa ok) xa commit call(x) xa commit call(x) Fig. 5. Matching Subset F. Specification language The specification language uses a combination of algebraic constraints and pattern constraints. Algebraic constraints are similar to those appearing in [30] [31], 32] and so will not be discussed further here. A constraint placed in an interface constrains visible executions of modules of the type. Constraints may also be placed in architectures, where they constrain the internal execution. Constraints in an interface include constraints on parameter ....
D. C. Luckham and F. W. von Henke, "An overview of Anna, a specification language for Ada", IEEE Software, vol. 2, no. 2, pp. 9--23, Mar. 1985.
No context found.
D. Luckham, W. Mann, S. Meldal, and D. Helmbold, "An Overview of Anna: A Specification Language for Ada, " IEEE Software, Vol. 20, No. 2, pp. 9-23, 1988.
No context found.
Luckham, D., W. Mann, S. Meldal, and D. Helmbold, "An Overview of Anna: Specification Language for Ada," IEEE Software, 20(1988), 9--23. 16 Gates et al.
No context found.
David C. Luckham, Friedrich W. von Henke "An Overview of Anna, a Specification Language for Ada", IEEE Software, IEEE, 1985, pp. 19-22.
No context found.
David Luckham and Friedrich W. vonHenke: "An Overview of Anna: A Specification Language for Ada"; Stanford University, Computer Systems Laboratory Technical Report 84-265, Program Analysis and Verification Group Report 26, September 1984.
No context found.
David Luckham and Friedrich W. von Henke. An overview of anna - a specification language for Ada. IEEE Software, 2(2):9--23, March 1985. Bibliography 55
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