In this paper, a new semantics for exception handling in algebraic specifications is provided. Our formalism allows all forms of exception and error handling (several error messages, implict error propagation rule, ex...
详细信息
In this paper, a new semantics for exception handling in algebraic specifications is provided. Our formalism allows all forms of exception and error handling (several error messages, implict error propagation rule, exception recovery policy), while preserving the existence of initial models. The main concepts of our approach are: the distinction between exception and error, and the introduction of exception labelling allowing to formalize various error messages. This formalism allows use of congruences in a similar manner as in the classical abstractdata type theory. Moreover, we show how a functional semantics of enrichment can be carried over to our framework, and we show how hierarchical consistency and sufficient completeness can be redefined. Then, we briefly sketch out how abstract implementations can be extended in order to include exception handling. Indeed, abstract implementation of specifications including exception handling was one of main motivations for the work reported here.
Progress in programming languages has been marked by successive waves of new techniques, each accompanied by miraculous claims from its proponents. Only after a certain time lag do these techniques become standardized...
详细信息
Progress in programming languages has been marked by successive waves of new techniques, each accompanied by miraculous claims from its proponents. Only after a certain time lag do these techniques become standardized. The functionality required to support one of these techniques, abstract data types (ADTs), is now part of the latest Fortran standard, but the newest wave is object orientation (OO). This paper describes the implementation of ADTs in Fortran and speculates on whether the language will withstand the OO onslaught.
In this paper we propose a logical data model for complex data. Our proposal extends the relational model by using abstract data types for domains specification and an extended relational algebra is also introduced. T...
详细信息
In this paper we propose a logical data model for complex data. Our proposal extends the relational model by using abstract data types for domains specification and an extended relational algebra is also introduced. The introduction of the parameterized type Geometry(S), where S is a ground set of elements, allows the representation of complex aggregated data. As an example, we discuss how our model supports the definition of geographical DBMSs. Moreover, to show the generality of our approach, we sketch how the model can be used in the framework of statistical applications.
Linearizability is a well-known consistency condition for shared objects in concurrent systems. We focus on the problem of implementing linearizable objects of arbitrary datatypes in message-passing systems with boun...
详细信息
Linearizability is a well-known consistency condition for shared objects in concurrent systems. We focus on the problem of implementing linearizable objects of arbitrary datatypes in message-passing systems with bounded, but uncertain, message delay and bounded, but non-zero, clock skew. We present an algorithm that exploits axiomatic properties of different operations to reduce the running time of each operation below that obtainable with previously known algorithms. We also prove lower bounds on the time complexity of various kinds of operations, specified by the axioms they satisfy, resulting in reduced gaps in some cases and tight bounds in others. (C) 2018 Elsevier Inc. All rights reserved.
The paper examines the feasibility of mapping a specification based on dataabstraction to a program written in a language that offers no support for abstract data types. The specification was written in the formal sp...
详细信息
The paper examines the feasibility of mapping a specification based on dataabstraction to a program written in a language that offers no support for abstract data types. The specification was written in the formal specification language OBJ, and the implementation in dBaseIII. Some of the high-level commands provided in dBaseIII push the programmer towards a program structure based on functional decomposition. However, by ignoring the bias towards functional decomposition and building a solution from dBaseIII primitives, a program was constructed whose structure did mirror that of the OBJ specification and therefore had qualities associated with design based on dataabstraction. A key feature of the program structure was a separation of the program's functionality from its user interface.
For abstract data types with arbitrary first order formulas properties of the equations in the axioms are studied which allow to decide whether an abstract type has initial or terminal algebras or whether it forms a c...
详细信息
The development of valid specifications is a critical task in the software development process. An alternative approach is described for the development of specifications. The approach depends on a specification langu...
详细信息
The development of valid specifications is a critical task in the software development process. An alternative approach is described for the development of specifications. The approach depends on a specification language for abstract data types and a synthesis system. Using the programming paradigm of stepwise refinement, the system can automatically translate an abstractdata type specification into an executable plan. This process defines an alternative methodology that gives the necessary tools for the early testing of the specifications and for the development of prototypes and implementation models. The existing synthesis network creates PL/I and Pascal code from abstract specifications. Future research includes the improvement of the synthesis system to support code emission for additional procedural languages.
The Fortran abstractdata (FAD) project encourages and enforces the encapsulation of generic abstract data types (ADTs) in a Fortran programming environment, using a preprocessor, database, and object library. The FAD...
详细信息
The Fortran abstractdata (FAD) project encourages and enforces the encapsulation of generic abstract data types (ADTs) in a Fortran programming environment, using a preprocessor, database, and object library. The FAD database contains information about ADT subroutines and functions;the FAD library contains the compiled bodies of the ADT subprograms. Once ADT implementations have been installed in the FAD database and library, Fortran programmers can declare and use ADT variables. The FAD preprocessor use ADT translates a user's ADT references into traditional Fortran and prohibits illegal use of ADT variables. Thereafter, the standard Fortran compiler and linker-loader are used with the FAD Fortran library and other libraries. The FAD database can be created by experienced Fortran implementors with the FAD tool make ADT. A parser-generator system is employed to generate the parse tables and substantial program fragments of use ADT and make ADT. This approach facilitates extensions to FAD and porting to new dialects of Fortran. The paper contends that the Fortran programming language should be extended to include better dataabstraction facilities and demonstrates that this extension can be accomplished without severe run-time efficiency penalties. The intended audience is programmers and managers who regularly use Fortran.
A programming discipline to write abstract data types, iterators and generic modules using the C language is proposed. Program examples are presented making use of features of the ANSI standard for C. The discipline s...
详细信息
A programming discipline to write abstract data types, iterators and generic modules using the C language is proposed. Program examples are presented making use of features of the ANSI standard for C. The discipline supports object-oriented development by allowing the programmer to implement abstractions through modules with well-defined interfaces. To use the abstractions, the programmer is not required to be aware of how they are implemented.
The computer-aided design of dedicated pipelined processors for numerical applications and signal processing requires design tools that support system refinement, partitioning strategies and the transformation of beha...
详细信息
The computer-aided design of dedicated pipelined processors for numerical applications and signal processing requires design tools that support system refinement, partitioning strategies and the transformation of behavioural descriptions into structure. This in turn poses problems of design data management which are considered here. We show that an object-oriented data management system is a step towards solving the problems. The method proposed here is based on a systematic specification of data structures and data access methods, using abstractdata type specifications. As a result, the data management is completely transparent to the application programs. The data-management system is written in Enhanced C (EC), a set-orientated extension of the language C.
暂无评论