| United States Department of Defense 1981. The Programming Language Ada Reference Manual (Proposed Standard Document). Lecture Notes in Computer Science 106. SpringerVerlag (1981). |
....and an object oriented software system. An object based software system uses encapsulation to hide data representations, and provides an interface based on operations which separates definition and application from implementation. Such a system may include classes [19] modules [30] or packages [23] to define a set of object instances. An object oriented software system, on the other hand, includes a class hierarchy and uses inheritance [12] in which a class defines a template for its instances. Subclasses modify and augment this template. The class introduces definitions of methods (or ....
United States Department of Defense. The Programming Language Ada: Reference Manual. Springer-Verlag, New York, 1981.
....the source node s, each resource node r 2 R must be notified that information is requested. Once r is notified, its information must be transported to the hub node H. Notifications and transportations can be done simultaneously by function calls with arguments. Following the notation used in Ada [DoD81] and ODMG [CAD 94] a parameter can be tagged as an IN or OUT parameter specifying its transportation along or against the call flow, respectively. For example, if class U holds a reference v to class V that defines a method foo then a method of class U can make either a call v foo( IN P ....
United States Department of Defense DoD. The Programming Language Ada Reference Manual, volume 106 of Springer Verlag, Lecture Notes in Computer 17 Science. Springer Verlag, Berlin Heidelberg New York, 1981. ISBN 3-540-106936.
....such as a linked list or a tree data structure, have a similar problem. These structures are rarely specified, manipulated or implemented using direct recursive techniques; exceptions are languages where all data and or objects are implicitly referenced via pointers, like CLU [LAB 81] ADA [Uni83], and Java [GJS96] In all cases, the recursion is indirect through an explicit or implicit pointer in the data structure. While 1.1. CONTROL FLOW 5 it might be argued that this is an implementation issue, the fact that it exists in virtually all programming languages indicates that direct ....
....them, but do not abuse them. 2.4. 2 Dynamic Multi Level Exit For dynamic multi level exit, the exit point is only known at execution time (i.e. determined dynamically) Different forms of dynamic multi level exit exist in several programming languages, e.g. ML [Mil78] CLU [LAB 81] Ada [Uni83], Modula 3 [CDG 88] and C . Fundamentally, all dynamic multi level exit mechanisms require the equivalent of 3 new constructs: 1. A special kind of label, not bound statically to a particular statement, that can be used to uniquely identify an 14 CHAPTER 2. ADVANCED CONTROL FLOW void fred( ....
United States Department of Defense. The Programming Language Ada: Reference Manual, ANSI/MILSTD -1815A-1983 edition, February 1983. Published by Springer-Verlag.
....violated. Separate Interfaces The definition of an implementation always defines an interface of that implementation. Some programming languages provide no other way to define interfaces; in others, the implementation and its interface must reside in one textual unit. The designers of Ada [57] took a different approach. Ada source code is gathered into units called packages, which are divided into two parts: the package specification defines the interface of a package, and the package body provides the implementation. Ichbiah [29] argued that this design has the following benefits: ....
United States Department of Defense. The Programming Language Ada: Reference Manual, ANSI/MIL-STD-1815A-1983 edition, February 1983. Published by Springer-Verlag.
....of four values, which are then assigned individually using multiple assignment. Flattening coerces a nested tuple, i.e. a tuple with one or more components which are themselves tuples, into a flattened tuple, which is a tuple whose components are not tuples. For example, flattening the tuple 1, [2, 3], 4, where [ are used to enclose a nested tuple like in SETL, produces 1, 2, 3, 4. Flattening is also performed on tuple types. For example, the type int, int, int] int can be coerced, using flattening, into the type int, int, int, int. The following assignment illustrates flattening: VAR a, ....
....a nested tuple like in SETL, produces 1, 2, 3, 4. Flattening is also performed on tuple types. For example, the type int, int, int] int can be coerced, using flattening, into the type int, int, int, int. The following assignment illustrates flattening: VAR a, b, c, d : INT a, b, c, d 1, [2, 3], 4 First the right hand tuple is flattened and then the values are assigned individually using multiple assignment. Neither SETL nor ML support flattening. In both languages, a tuple has internal structure (i.e. an array or record, respectively) and this structure must match exactly with the ....
[Article contains additional citation context not shown here]
United States Department of Defense, The Programming Language Ada: Reference Manual, ANSI/MILSTD -1815A-1983 edition, February 1983. Published by Springer-Verlag.
....exit construct in a programming language, because multi exit loops will occur more frequently than either type of multi level exit, and absence of names reduces program complexity. As well, different constructs will likely be required for static and dynamic multi level exits, as in Ada 1 [Uni83]; however, the Ada designers grouped multi exit loop and static multi level exit together into a single construct. Programs written in languages without such control structures are often littered with logical variables that are used to determine flow of control at different times and stages during ....
United States Department of Defense. The Programming Language Ada: Reference Manual, ANSI/MIL-STD-1815A-1983 edition, February 1983. Published by Springer-Verlag.
....is not violated, and in ensuring the base type is large enough to contain the subrange, where the last point is guaranteed via a compile time check. In C8, a subrange is not part of a variable s type; it is an attribute of the type. The semantics chosen for subranges is the same as that in Ada [Uni83], as opposed to Pascal, where the subrange is part of the type. Making the subrange part of the type significantly restricts reuse, as many polymorphic routines are independent of the subrange. Therefore, subrange checking is solely a runtime restriction on the values assigned to a variable, ....
United States Department of Defense. The Programming Language Ada: Reference Manual, ANSI/MILSTD -1815A-1983 edition, February 1983. Published by Springer-Verlag.
....to the data exclusively to these functions. Data encapsulation techniques allow state to be preserved between invocations of functions. This state is stored in the encapsulated data. Own data in Algol[Nau63] and static data in C[KR78] limits access to a particular function. Packages in ADA[Uni81] named common in FORTRAN[CDG70] block scoping in languages like Pascal[JW89] and static file scope in C limit access to a set of functions. The latter is often more desirable since modularity considerations make it important to allow a set of functions to share a common set of data that is ....
United States Department of Defense, editor. The Programming Language Ada: Reference Manual. Springer-Verlag, New York, 1981.
....languages. By the 1960 s high level languages became accepted practice. Fortran[7] is such an example. The next decade saw the development of structured programming, perhaps best shown by the language Pascal. The 1980 s saw the growth of modular programming as demonstrated by the languages Ada[8] and Modula2 [9] The present decade has seen the rise of objectoriented programming. Unlike some who see objectorientation as a revolution[10] object orientation is more realistically seen as an evolution of ideas[11] each generation of language has built on the concepts of the previous ....
United States Department of Defense. The Programming Language Ada: Reference Manual. Springer Verlag, 1983. ANSI/MIL-STD-1815A1983.
....is being used. In C [5] operations on class instances include assignment and , which can be overloaded. A scope resolution operator can be used inside the class to specify whether the abstract or implementation version of the operation should be used. ffl An Ada derived type definition [8] creates a new type from an old type, and also implicitly declares derived subprograms that correspond to the existing subprograms that use the old type as a parameter type or result type. The derived subprograms are clones of the existing subprograms with the old type replaced by the derived ....
United States Department of Defense. The Programming Language Ada: Reference Manual, ANSI/MILSTD -1815A-1983 edition, February 1983. Published by Springer-Verlag.
....state based and control based programming constructs can be expressed by macro expansions, similar to Church encodings in lambda calculus. 1 Introduction Most programming languages in use today have some way to express concurrent execution of processes either in the language itself (e.g. Ada [20], Modula 3 [5] Facile [7] CML [23] or by means of a library (e.g. Modula 2 s Process module [28] C s thread library [25] This paper proposes a formal basis for reasoning about such languages. Traditionally, formal foundations for languages with concurrency constructs come in one of two ....
United States Department of Defense. The Programming Language Ada Reference Manual. SpringerVerlag, 1980.
....the protocol since it is part of the object s definition. THREAD CONTROL CONSTRUCTS The following constructs support waiting for the arrival of a thread to and blocking a thread within a mutex object. Controlling External Access: the Accept Statement A uAccept statement, similar to that in Ada [17], is provided to dynamically choose which mutex member executes. This indirectly controls which caller is accepted next, that is, the next caller to the accepted mutex member. The simple form of the uAccept statement is as follows: Producer Consumer uCoroutine Prod Cons c; int N, money, ....
United States Department of Defense, The Programming Language Ada: Reference Manual, ANSI/MIL-STD1815A -1983 edn, Feb. 1983, Published by Springer-Verlag.
....by the class Hashtable String Class , whose body is generated by replacing each occurrence of Key by String and each occurrence of Value by Class. The heterogenous translation resembles the translation scheme employed in the TIL compiler for Standard ML [HM95] the generic instantiation in Ada [oD80] and Modula 3 [CDG 88] and the templace expansion process in C [Str86] However, unlike in C , all typechecking in Pizza is performed before expansion, not afterwards. The heterogeneous translation poses the problem of keeping track of the different instances of generic types that are ....
United States Department of Defense. The Programming Language Ada Reference Manual. Springer-Verlag, 1980.
....helps with programming in the large . Thus one can enjoy the benefits of structured programming in FORTRAN or assembly language, even if it is a little more work. It is now generally accepted that modular design is the key to successful programming, and languages such as Modula II [Wir82] Ada [oD80] and Standard ML [MTH90] include features specifically designed to help improve modularity. However, there is a very important point that is often missed. When writing a modular program to solve a problem, one first divides the problem into sub problems, then solves the sub problems and combines ....
United States Department of Defense. The Programming Language Ada Reference Manual. Springer-Verlag, 1980.
No context found.
United States Department of Defense, The Programming Language Ada: Reference Manual, ANSI/MIL-STD-1815A-1983 edn, February 1983, Published by Springer-Verlag.
No context found.
United States Department of Defense, The Programming Language Ada: Reference Manual, ANSI/MIL-STD-1815A-1983 edn, February 1983, published by Springer-Verlag.
....include one or more of these features. As has been noted by programmers in recent years, the use of shared variables, call by reference, and pointers can lead to programs that are not modular [Don77] Several features have been proposed to ameliorate this problem, such as modules and packages [Wir83, Uni80]. These provide modularity, but not full support for abstract data types, as multiple instances of a module cannot be created at run time. 30 CHAPTER 3. A MODEL OF OBJECT ORIENTED SYSTEMS The design of object oriented languages deviates from that approach at the outset. The use of shared ....
United States Department of Defense. The Programming Language Ada: Reference Manual, volume 106 of Lecture Notes in Computer Science. Springer-Verlag, 1980.
....in languages that support the type completeness principle, modules are not first class citizens of these languages; it is not possible, for example, to have a list of modules or have functions taking modules as arguments. Thus languages such as ML[10] where modules are known as structures, and Ada[12], where they are known as packages, have two layered (stratified) systems the module system sits on top of the core language. There are reasons for the separation of the module system and the core language in ML. One type theoretic model[11] of ML requires two universes, one for small types ....
United States Department of Defense. The Programming Language Ada: Reference Manual. Springer Verlag, 1983. ANSI/MIL-STD-1815A1983.
....RPC systems will not transport complex pointer based data structures. Since RPCs are synchronous with respect to client execution, it is easy for the communication mechanism to report failures to the application. This is typically done by returning a fail value or by raising an Ada style exception [DoD 1983]. The first drawback of RPC is that it overly inhibits concurrency. Execution in an object which has made a remote request is suspended until that request completes. It may well have been possible to perform some local computation or service a request made to the object instead of it being idle. ....
United States Department of Defense, The Programming Language Ada Reference Manual, ANSI/MIL--STD--1815A--1983, United States Department of Defense, Washington, D.C., 1983.
No context found.
United States Department of Defense 1981. The Programming Language Ada Reference Manual (Proposed Standard Document). Lecture Notes in Computer Science 106. SpringerVerlag (1981).
No context found.
United States Department of Defense. The Programming Language Ada: Reference Manual, ANSI/MILSTD -1815A-1983 edition, February 1983. Published by Springer-Verlag.
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