2,096 research outputs found

    Object Incompleteness and Dynamic Composition in Java-Like Languages

    Full text link
    Abstract. Object composition is often advocated as a more flexible alternative to standard class inheritance since it takes place at run-time, thus permitting the behavior of objects to be specialized dynamically. In this paper we present In-complete Featherweight Java (IFJ), an extension of Featherweight Java with in-complete objects, i.e., objects that require some missing methods which can be provided at run-time by composition with another (complete) object. Incomplete object usage is disciplined by static typing, therefore the language enjoys type safety (which implies no ā€œmessage-not-understood ā€ run-time errors).

    Fifty years of Hoare's Logic

    Get PDF
    We present a history of Hoare's logic.Comment: 79 pages. To appear in Formal Aspects of Computin

    An Evaluation of Inter-Organizational Workflow Modelling Formalisms

    Get PDF
    This paper evaluates the dynamic aspects of the UML in the context of inter-organizational workflows. Two evaluation methodologies are used. The first one is ontological and is based on the BWW (Bunge-Wand-Weber) models. The second validation is based on prototyping and consists in the development of a workflow management system in the aerospace industry. Both convergent and divergent results are found from the two validations. Possible enhancements to the UML formalism are suggested from the convergent results. On the other hand, the divergent results suggest the need for a contextual specification in the BWW models. Ce travail consiste en une Ć©valuation des aspects dynamiques du language UML dans un contexte de workflow inter-organisationnel. Le choix du language par rapport Ć  d'autres est motivĆ© par sa richesse grammaticale lui offrant une trĆØs bonne adaptation Ć  ce contexte. L'Ć©valuation se fait par une validation ontologique basĆ©e sur les modĆØles BWW (Bunge-Wand-Weber) et par la rĆ©alisation d'un prototype de systĆØme de gestion de workflows inter-organisationnels. ƀ partir des rĆ©sultats convergents obtenus des deux diffĆ©rentes analyses, des amĆ©liorations au formalisme UML sont suggĆ©rĆ©es. D'un autre cotĆ©, les analyses divergentes suggĆØrent une possibilitĆ© de spĆ©cifier les modĆØles BWW Ć  des contextes plus particuliers tels que ceux des workflows et permettent Ć©galement de suggĆ©rer d'autres amĆ©liorations possibles au langage.Ontology, Conceptual study, Prototype Validation, UML, IS development methods and tools., Ontologie, Ć©tude conceptuelle, validation du prototype, UML, mĆ©thodes et outils de dĆ©veloppement IS

    Delegation by Object Composition

    Get PDF
    AbstractClass inheritance and method overriding, as provided by standard class-based languages, are often not flexible enough to represent objects with some dynamic behavior. In this respect, object composition equipped with different forms of method body lookup is often advocated as a more flexible alternative to class inheritance since it takes place at run time, thus permitting the behavior of objects to be specialized dynamically. In this paper, we illustrate Incomplete Featherweight Java (IFJ), an extension of Featherweight Java with a novel linguistic construct, the incomplete object. Incomplete objects require some missing methods which can be provided at run time by composition with another (complete) object. Furthermore, we present two mechanisms for the method body lookup on (composed) objects, one based on delegation and the other based on consultation. Thanks to the design of the language, the consultation-based lookup is a simple extension of the delegation-based one. Both mechanisms are disciplined by static typing, therefore the language enjoys type safety (which implies no ā€œmessage-not-understoodā€ run-time errors) and avoids possible accidental overrides due to method name clashes

    Multilevel Contracts for Trusted Components

    Full text link
    This article contributes to the design and the verification of trusted components and services. The contracts are declined at several levels to cover then different facets, such as component consistency, compatibility or correctness. The article introduces multilevel contracts and a design+verification process for handling and analysing these contracts in component models. The approach is implemented with the COSTO platform that supports the Kmelia component model. A case study illustrates the overall approach.Comment: In Proceedings WCSI 2010, arXiv:1010.233

    Metamodel-based model conformance and multiview consistency checking

    Get PDF
    Model-driven development, using languages such as UML and BON, often makes use of multiple diagrams (e.g., class and sequence diagrams) when modeling systems. These diagrams, presenting different views of a system of interest, may be inconsistent. A metamodel provides a unifying framework in which to ensure and check consistency, while at the same time providing the means to distinguish between valid and invalid models, that is, conformance. Two formal specifications of the metamodel for an object-oriented modeling language are presented, and it is shown how to use these specifications for model conformance and multiview consistency checking. Comparisons are made in terms of completeness and the level of automation each provide for checking multiview consistency and model conformance. The lessons learned from applying formal techniques to the problems of metamodeling, model conformance, and multiview consistency checking are summarized

    Object Reuse and Behavior Adaptation in Java-like Languages

    Get PDF

    Life of occam-Pi

    Get PDF
    This paper considers some questions prompted by a brief review of the history of computing. Why is programming so hard? Why is concurrency considered an ā€œadvancedā€ subject? Whatā€™s the matter with Objects? Where did all the Maths go? In searching for answers, the paper looks at some concerns over fundamental ideas within object orientation (as represented by modern programming languages), before focussing on the concurrency model of communicating processes and its particular expression in the occam family of languages. In that focus, it looks at the history of occam, its underlying philosophy (Ockhamā€™s Razor), its semantic foundation on Hoareā€™s CSP, its principles of process oriented design and its development over almost three decades into occam-? (which blends in the concurrency dynamics of Milnerā€™s ?-calculus). Also presented will be an urgent need for rationalisation ā€“ occam-? is an experiment that has demonstrated significant results, but now needs time to be spent on careful review and implementing the conclusions of that review. Finally, the future is considered. In particular, is there a future
    • ā€¦
    corecore