239 research outputs found

    Transforming AdaPT to Ada9x

    Get PDF
    How the concepts of AdaPT can be transformed into programs using the object oriented features proposed in the preliminary mapping for Ada9x are described. Emphasizing, as they do, the importance of data types as units of program, these features match well with the development of partitions as translations into Abstract Data Types which was exploited in the Ada83 translation covered in report R3. By providing a form of polymorphic type, the Ada83 version also gives support for the conformant partition idea which could be achieved in Ada83 only by using UNCHECKED CONVERSIONS. It is assumed that the reader understands AdaPT itself, but the translation into Ada83 is briefly reviewed, by applying it to a small example. This is then used to show how the same translation would be achieved in the 9x version. It is important to appreciate that the distribution features which are proposed in current mapping are not used or discussed in any detail, as those are not well matched to the AdaPT approach. Critical evaluation and comparison of these approaches is given in a separate report

    A 2007 Model Curriculum For A Liberal Arts Degree In Computer Science

    Get PDF

    Rigorous object-oriented analysis

    Get PDF
    Object-oriented methods for analysis, design and programming are commonly used by software engineers. Formal description techniques, however, are mainly used in a research environment. We have investigated how rigour can be introduced into the analysis phase of the software development process by combining object-oriented analysis (OOA) methods with formal description techniques. The main topics of this investigation are a formal interpretation of the OOA constructs using LOTOS, a mathematical definition of the basic OOA concepts using a simple denotational semantics and a new method for object- oriented analysis that we call the Rigorous Object-Oriented Analysis method (ROOA). The LOTOS interpretation of the OOA concepts is an intrinsic part of the ROOA method. It was designed in such a way that software engineers with no experience in LOTOS, can still use ROOA. The denotational semantics of the concepts of object-oriented analysis illuminates the formal syntactic transformations within ROOA and guarantees that the basic object- oriented concepts can be understood independently of the specification language we use. The ROOA method starts from a set of informal requirements and an object model and produces a formal object-oriented analysis model that acts as a requirements specification. The resulting formal model integrates the static, dynamic and functional properties of a system in contrast to existing OOA methods which are informal and produce three separate models that are difficult to integrate and keep consistent. ROOA provides a systematic development process, by proposing a set of rules to be followed during the analysis phase. During the application of these rules, auxiliary structures are created to help in tracing the requirements through to the final formal model. As LOTOS produces executable specifications, prototyping can be used to check the conformance of the specification against the original requirements and to detect inconsistencies, omissions and ambiguities early in the development process

    Introduction to the Literature on Semantics

    Get PDF
    An introduction to the literature on semantics. Included are pointers to the literature on axiomatic semantics, denotational semantics, operational semantics, and type theory

    Collection Skeletons - Declarative Abstractions for Data Collections

    Get PDF

    Blended Algebraic and Denotational Semantics for ADT Languages with Mutable Objects

    Get PDF
    This paper presents a semantics for a simple language that is a blend of algebraic models and traditional denotational semantics. In this semantics, implementations of user-defined abstract data types are compiled into an algebraic structure, which is used by the denotational part of the semantics whenever an operation of the data type is invoked. To show the utility of such a semantics, an algebraic characterization of simulation between states over such algebras is given, and it is shown that simulation is preserved by expressions and commands in the language. (Note: versions TR93-21 and TR93-21a were titled: A Model Theory for Abstract Data Types with Mutable Objects (extended abstract) .

    Contract-Java: Design by Contract in Java with Safe Error Handling

    Get PDF
    • …
    corecore