61 research outputs found
Raffinement de classes dans les langages \` objets statiquement typ\'s
National audiencelasses and specialisation bring simultaneously structure and flexibility to object oriented programs. However, many propositions for model extension (aspects, modules, etc.) prove that these qualities are often considered insufficient. This article proposes two binded notions of class refinement and modules, the former improves flexibility whereas the latter improves structure. Modules contain a coherent set of class definitions and can modify classes defined in modules they depend. This proposition focuses on statically typed languages where modules can be separately compiled. It is based on a module metamodel analogue to the class one and problems with multiple specialisation and refinement are managed like those in multiple inheritance.Les classes et la spécialisation apportent simultanément structuration et souplesse aux programmes objets. Ces deux qualités sont, malgré tout, souvent considérées comme insuffisantes, comme en témoignent les nombreuses propositions d'extension du modèle (aspects, modules,etc.). Cet article propose deux notions couplées de raffinement de classes et de modules, la première apportant la souplesse et la seconde, la structuration. Les modules regroupent un ensemble cohérent de définitions de classes et ont également la capacité de modifier les classes définies dans les modules dont ils dépendent. Cette proposition se place dans un cadre de typage statique, où les modules sont compilables séparément. Elle est basée sur un méta-modèle des modules analogue à celui des classes et les problèmes liés à la spécialisation ou au raffinement multiple sont traités de façon similaire à l'héritage multiple
Efficient compilation of .NET programs for embedded systems
International audienceThe overhead associated with object-oriented languages has been the major drawback in their adoption by the embedded world. In this paper, we propose a compilation approach based on the closed-world assumption (CWA) that should enable OO technologies such as .NET on small embedded systems. Our implementation is based on a type analysis algorithm, which extends RTA so that it eliminates some subtype tests due to array covariance, and coloring, which maintain single subtyping invariants under the CWA. The impact of our global optimizations has been evaluated on embedded applications written in C#. Preliminary results show a noticeable reduction of the code size, class hierarchy and object mechanisms such as virtual calls and subtype tests
Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems - Report on the Workshop ICOOOLPS'2006 at ECOOP'06
ICOOOLPS'2006 was the first edition of ECOOP-ICOOOLPS workshop. It intended
to bring researchers and practitioners both from academia and industry
together, with a spirit of openness, to try and identify and begin to address
the numerous and very varied issues of optimization. This succeeded, as can be
seen from the papers, the attendance and the liveliness of the discussions that
took place during and after the workshop, not to mention a few new cooperations
or postdoctoral contracts. The 22 talented people from different groups who
participated were unanimous to appreciate this first edition and recommend that
ICOOOLPS be continued next year. A community is thus beginning to form, and
should be reinforced by a second edition next year, with all the improvements
this first edition made emerge.Comment: The original publication is available at http://www.springerlink.co
An Object-Oriented Approach to Classification
We present in this paper two possible semantics for the subsumption relation. On the one hand, the subsumption relation is equivalent to the inheritance relation between concepts. On the other hand, we define a subsumption relation that links concepts with other concepts, or with individual instances, based on matching components between the linked entities. According to the first of this dual view, we have developed a subsumption operation used for checking the consistency of inheritance graphs. According to the second, a different subsumption operation is used for enhancing the information retrieval and the problem-solving capabilities of a knowledge-based system. Next we characterize object oriented languages in general, followed by the particular language we use, which integrates frame-based and class-based features. We then present two classification-based algorithms, corresponding to each use of the subsumption relation, and discuss the way these are implemented using an object-oriented approach. We end the paper by describing our particular problem-solving application in the domain of organic chemistry
Langages et modèles à objets - état des recherches et perspectives
Langages et modèles à objets donne un aperçu de la diversité des travaux développés autour de la notion d'objet, à un moment où leur incidence est de plus en plus grande dans tous les domaines de l'informatique. l'ouvrage est divisé en quatre parties, centrées autour de thèmes choisis : génie logiciel, concepts avancés, représentation des connaissances et applications. Tous les chapitres (sauf un) ont été spécialement conçus pour l'occasion et leurs auteurs ont été choisis parmi les meilleurs spécialistes français. l'ouvrage peut être lu sans la connaissance préalable d'un langage particulier et ne donne pas une connaissance approfondie d'un langage ou de son histoire. l'accent est plutôt mis sur les grands principes des thèmes traités, qui sont présentés en détail et caractérisés les uns par rapport aux autres
Aspects classificatoires des systèmes à objets
Colloque avec actes et comité de lecture.Cet article cherche à mettre en évidence les divers aspects de la classification dans la variété des systèmes à objets. Pour cela, la classification est examinée en tant que processus de formation et d'organisation de classes, mais aussi en tant que processus de raisonnement, pour des besoins de reconnaissance par exemple. Il est montré que l'approche objet apporte un point de vue particulier et des interrogations nouvelles et complexes dans le domaine de la classification
Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems - Report on the Workshop ICOOOLPS'2007 at ECOOP'07
ICOOOLPS'2007 was the second edition of the ECOOP-ICOOOLPS workshop. ICOOOLPS
intends to bring researchers and practitioners both from academia and industry
together, with a spirit of openness, to try and identify and begin to address
the numerous and very varied issues of optimization. After a first successful
edition, this second one put a stronger emphasis on exchanges and discussions
amongst the participants, progressing on the bases set last year in Nantes. The
workshop attendance was a success, since the 30-people limit we had set was
reached about 2 weeks before the workshop itself. Some of the discussions (e.g.
annotations) were so successful that they would required even more time than we
were able to dedicate to them. That's one area we plan to further improve for
the next edition
Aspects actuels des représentations de connaissances par objets et de la classification
napoli1997aNational audienceCet article présente certains thèmes de recherches étudiés par les membres du groupe "Objets et classification" du PRC-IA. Ces thèmes concernent essentiellement la théorie des systèmes de représentation de connaissances par objets (RCPO), la révision d'une base de connaissances dans les systèmes de RCPO, la classification de classes et d'instances, et la mise en oeuvre d'applications, illustrée ici par le système RESYN. Les travaux présentés montrent une certaine continuité avec les préoccupations des membres du groupe depuis qu'il existe. L'article se termine par la présentation d'éléments de définition d'un système de RCPO, et de perspectives de recherches découlant des thèmes explicités dans l'article
Software (re)modularization: Fight against the structure erosion and migration preparation
Software systems, and in particular, Object-Oriented sys- tems are models of the real world that manipulate representa- tions of its entities through models of its processes. The real world is not static: new laws are created, concurrents offer new functionalities, users have renewed expectation toward what a computer should offer them, memory constraints are added, etc. As a result, software systems must be continuously updated or face the risk of becoming gradually out-dated and irrelevant [34]. In the meantime, details and multiple abstraction levels result in a high level of com- plexity, and completely analyzing real software systems is impractical. For example, the Windows operating system consists of more than 60 millions lines of code (500,000 pages printed double-face, about 16 times the Encyclopedia Universalis). Maintaining such large applications is a trade- off between having to change a model that nobody can understand in details and limiting the impact of possible changes. Beyond maintenance, a good structure gives to the software systems good qualities for migration towards modern paradigms as web services or components, and the problem of architecture extraction is very close to the classical remodularization problem
- …