1,139 research outputs found

    Constraint Diagrams: Visualizing Assertions in OO Modelling

    Get PDF
    Describes a notation, constraint diagrams, which allows pre/post conditions and invariants to be expressed visually, rather than in the notation of mathematical logic. The notation is explored through a small case study (a library system). Some conclusions are drawn about the use of the notation in modelling, and its possible impact on tools and semantics. This report has been split into two and considerable revised and updated: Kent (1997b), Kent (1997c)

    Constraint Diagrams: Visualizing Invariants in OO Modelling

    Get PDF
    A new visual notation is proposed for precisely expressing constraints on object-oriented models, as an alternative to mathematical logic notation used in methods such as Syntropy and Catalysis. The notation is potentially intuitive, expressive, integrates well with existing visual notations, and has a clear and unambiguous semantics. It is reminiscent of informal diagrams used by mathematicians for illustrating relations, and borrows much from Venn diagrams. It may be viewed as a generalization of instance diagrams

    Quantified Assertions in Eiffel

    Get PDF
    This paper discusses extensions to the language Eiffel, required to write more comprehensive software specifications, where a specification in Eiffel is a collection of class interfaces with features specified using an assertion language (i.e. a BON static model). The focus of the paper is the extension of the assertion language with quantification. Two forms of quantification are identified, which are distinguished according to whether the quantified variable is of reference or expanded type. A semantics for each of the two forms is described, and the consequences for assertion checking at run-time considered

    Value Types in Eiffel

    Get PDF
    Identifies a number of problems with Eiffel's expanded types in modelling value types, and proposes a backward compatible syntactic extension, and a modified semantics. The latter is also shown to be (effectively) backward compatible, in the sense that existing programs would run unaffected if compilers implemented the new semantics. The benefits of the approach are discussed, including an elegant approach to rebuilding data structure libraries

    Feature-based and Model-based Semantics for English, French and German Verb Phrases

    Get PDF
    This paper considers the relative merits of using features and formal event models to characterise the semantics of English, French and German verb phrases, and con- siders the application of such semantics in machine translation. The feature-based ap- proach represents the semantics in terms of feature systems, which have been widely used in computational linguistics for representing complex syntactic structures. The paper shows how a simple intuitive semantics of verb phrases may be encoded as a feature system, and how this can be used to support modular construction of au- tomatic translation systems through feature look-up tables. This is illustrated by automated translation of English into either French or German. The paper contin- ues to formalise the feature-based approach via a model-based, Montague semantics, which extends previous work on the semantics of English verb phrases. In so doing, repercussions of and to this framework in conducting a contrastive semantic study are considered. The model-based approach also promises to provide support for a more sophisticated approach to translation through logical proof; the paper indicates further work required for the fulfilment of this promise

    Three Dimensional Software Modelling

    Get PDF
    Traditionally, diagrams used in software systems modelling have been two dimensional (2D). This is probably because graphical notations, such as those used in object-oriented and structured systems modelling, draw upon the topological graph metaphor, which, at its basic form, receives little benefit from three dimensional (3D) rendering. This paper presents a series of 3D graphical notations demonstrating effective use of the third dimension in modelling. This is done by e.g., connecting several graphs together, or in using the Z co-ordinate to show special kinds of edges. Each notation combines several familiar 2D diagrams, which can be reproduced from 2D projections of the 3D model. 3D models are useful even in the absence of a powerful graphical workstation: even 2D stereoscopic projections can expose more information than a plain planar diagram

    Encapsulation and Aggregation

    Get PDF
    A notion of object ownership is introduced as a solution to difficult problems of specifying and reasoning about complex linked structures and of modeling aggregates (composit objects). Syntax and semantics are provided for extending Eiffel with language support for object ownership annotation and checking. The ideas also apply to other OOPLs such as C++

    An Experiment in Model Driven Architecture for e-Enterprise Systems

    Get PDF
    OMG's Model Driven Architecture demonstrates how a system's specification model can be used within the process of creating supporting software implementations. This article documents the findings of an experiment aimed at determining the extent to which this method of software engineering can be used within the domain of e-Enterprise systems

    Model Driven Language Engineering

    Get PDF
    AbstractThere is currently much interest in model driven approaches to software engineering. The basic idea is to make business, architecture and design models frst class artefacts that are not discarded once the code gets built, but rather can be exercised independently, be reconciled with each other and underlying implementations, and used to (partially) generate each other and implementations. This is particularly valuable when an application needs to be updated and changed, as up-to-date models will still be there to help understand and evolve it using the same abstractions originally used to build it. It is also valuable for applications that need to be delivered on multiple platforms and technologies, which may also change over time, as the models are generally independent of these, hence longer-lived.This talk will argue that to support model driven software engineering, one needs to support model driven language engineering. The former is likely to lead to a larger number of more focused modelling languages, as opposed to a small number of monolithic, poorly integrated languages than we have at present. There will be more emphasis on domain specifc languages. We will need to support the definitions of families of languages where overlap in language capabilities is recognized and repetition is avoided. Furthermore, more sophisticated modelling tools will be required, including tools to exercise models, for validation and verifcation, and tools for reconciliation and translation between models. Thus defnitions should be platform independent, and it should be possible to automate (at least partially) the generation of language-specific modelling, reconciliation and translation tools. The talk will present some on-going work in this area, including a demonstration of language engineering tools that we are currently building, and a vision for the tools and languages we would like to build

    Reasoning with Spider Diagrams

    Get PDF
    Spider diagrams combine and extend Venn diagrams and Euler circles to express constraints on sets and their relationships with other sets. These diagrams can usefully be used in conjunction with object-oriented modelling notations such as the Unified Modelling Language. This paper summarises the main syntax and semantics of spider diagrams and introduces four inference rules for reasoning with spider diagrams and a rule governing the equivalence of Venn and Euler forms of spider diagrams. This paper also details rules for combining two spider diagrams to produce a single diagram which retains as much of their combined semantic information as possible and discusses disjunctive diagrams as one possible way of enriching the system in order to combine spider diagrams so that no semantic information is lost
    • 

    corecore