2,096 research outputs found
Object Incompleteness and Dynamic Composition in Java-Like Languages
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
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
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
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
COSMICAH 2005: workshop on verification of COncurrent Systems with dynaMIC Allocated Heaps (a Satellite event of ICALP 2005) - Informal Proceedings
Lisboa Portugal, 10 July 200
Multilevel Contracts for Trusted Components
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
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
Life of occam-Pi
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
- ā¦