Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.223-238
P. Collet, R. Rousseau
This article presents the contracting system ConFractfor the open and hierarchical component model Fractal. Contracts are dynamically built from specifications, currently executable assertions, at assembly times, and are updated according to dynamic reconfigurations. These contracts are not restricted to the scope of interfaces, taken separately. On the contrary, new kinds of composition contracts can be built in order to associate several external interfaces of a component, providing a usage contract, or several interfaces inside the component, providing an assembly and implementation contract. All these contracts identify fine-grained responsibilities and developers can thus easily organize the handling of contract violations and the resulting reconfigurations.
{"title":"ConFract, un système pour contractualiser des composants logiciels hiérarchiques","authors":"P. Collet, R. Rousseau","doi":"10.3166/objet.11.1-2.223-238","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.223-238","url":null,"abstract":"This article presents the contracting system ConFractfor the open and hierarchical component model Fractal. Contracts are dynamically built from specifications, currently executable assertions, at assembly times, and are updated according to dynamic reconfigurations. These contracts are not restricted to the scope of interfaces, taken separately. On the contrary, new kinds of composition contracts can be built in order to associate several external interfaces of a component, providing a usage contract, or several interfaces inside the component, providing an assembly and implementation contract. All these contracts identify fine-grained responsibilities and developers can thus easily organize the handling of contract violations and the resulting reconfigurations.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128720954","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.177-190
F. L. Ber, A. Napoli
The purpose of this paper is to sketch a survey on how relations and structures are taken into account in various knowledge representation formalisms and tools: description logics, object-based knowledge representation systems, conceptual graphs, semantic web languages. We focus on the representation of relation properties, on the representation of relation-based inference rules, on the representation and classification of structures and composite objects. The paper ends with a discussion on the advantages of the various systems and a proposition of research issues and possible solutions.
{"title":"Relations, structures et objets : quelques variations","authors":"F. L. Ber, A. Napoli","doi":"10.3166/objet.11.1-2.177-190","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.177-190","url":null,"abstract":"The purpose of this paper is to sketch a survey on how relations and structures are taken into account in various knowledge representation formalisms and tools: description logics, object-based knowledge representation systems, conceptual graphs, semantic web languages. We focus on the representation of relation properties, on the representation of relation-based inference rules, on the representation and classification of structures and composite objects. The paper ends with a discussion on the advantages of the various systems and a proposition of research issues and possible solutions.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126689629","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.79-94
Areski Flissi, P. Merle
Les intergiciels a composants permettent d'automatiser le deploiement des applications. Cette fonction, appelee machine de deploiement, instancie les applications a partir de leurs descriptions architecturales. Malheureusement, a l'heure actuelle, chaque intergiciel met en œuvre sa propre machine de deploiement. Ainsi, aucune capitalisation n'est proposee aussi bien sur le plan conceptuel qu'operationnel. Afin de favoriser cette capitalisation, cet article propose une demarche dirigee par les modeles (a la OMG MDA) pour la construction des machines de deploiement des intergiciels a composants. Cette demarche introduit un profil UML de workflow permettant de definir des modeles de deploiement independants des intergiciels a composants cibles. Un tel modele est ensuite raffine pour chaque intergiciel cible puis le modele obtenu est projete, via des transformations, vers diverses plates-formes d'execution. Les differents modeles et transformations de cette demarche sont illustres sur la construction d'une machine de deploiement de composants CORBA mise en œuvre avec le modele de composants Fractal.
{"title":"Une démarche dirigée par les modèles pour construire les machines de déploiement des intergiciels à composants","authors":"Areski Flissi, P. Merle","doi":"10.3166/objet.11.1-2.79-94","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.79-94","url":null,"abstract":"Les intergiciels a composants permettent d'automatiser le deploiement des applications. Cette fonction, appelee machine de deploiement, instancie les applications a partir de leurs descriptions architecturales. Malheureusement, a l'heure actuelle, chaque intergiciel met en œuvre sa propre machine de deploiement. Ainsi, aucune capitalisation n'est proposee aussi bien sur le plan conceptuel qu'operationnel. Afin de favoriser cette capitalisation, cet article propose une demarche dirigee par les modeles (a la OMG MDA) pour la construction des machines de deploiement des intergiciels a composants. Cette demarche introduit un profil UML de workflow permettant de definir des modeles de deploiement independants des intergiciels a composants cibles. Un tel modele est ensuite raffine pour chaque intergiciel cible puis le modele obtenu est projete, via des transformations, vers diverses plates-formes d'execution. Les differents modeles et transformations de cette demarche sont illustres sur la construction d'une machine de deploiement de composants CORBA mise en œuvre avec le modele de composants Fractal.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128717145","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.127-142
Ouafa Hachani, D. Bardou
The use of the aspect-oriented concepts and mechanisms can improve the object-oriented design patterns implementation. However a certain lack of consensus on the basic aspect-oriented concepts and relations and the diversity of the suggested programming languages related to the Aspect approach, make it uneasy to express new pattern structures in a way that is not dependent from a specific programming language. We propose to avoid this difficulty by relying on a general meta-model for the aspect-oriented modeling that we worked out by identifying the common concepts and relations of both AspectJ and Hyper/J, two of the principal today aspect-oriented programming languages. This paper introduces this meta-model along with two meta-models that are respectively specific to AspectJ and Hyper/J. Transformation rules from a general model that is an instance of the general meta-model to the instance of one of the specific meta-model are also proposed. We illustrate this approach with the GoF Strategy pattern.
{"title":"Modélisation par aspects et transformation vers AspectJ et Hyper/J","authors":"Ouafa Hachani, D. Bardou","doi":"10.3166/objet.11.1-2.127-142","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.127-142","url":null,"abstract":"The use of the aspect-oriented concepts and mechanisms can improve the object-oriented design patterns implementation. However a certain lack of consensus on the basic aspect-oriented concepts and relations and the diversity of the suggested programming languages related to the Aspect approach, make it uneasy to express new pattern structures in a way that is not dependent from a specific programming language. We propose to avoid this difficulty by relying on a general meta-model for the aspect-oriented modeling that we worked out by identifying the common concepts and relations of both AspectJ and Hyper/J, two of the principal today aspect-oriented programming languages. This paper introduces this meta-model along with two meta-models that are respectively specific to AspectJ and Hyper/J. Transformation rules from a general model that is an instance of the general meta-model to the instance of one of the specific meta-model are also proposed. We illustrate this approach with the GoF Strategy pattern.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121150585","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.209-222
Régis Fleurquin, Chouki Tibermacine, S. Sadou
Software systems should evolve in order to respond to changing client requirements and their evolving environments. These changes, often unforeseen, done by tiers and in urgency, lead sometimes the software to a state initially undesired by its creators. We present, in this paper, a framework to preserve the consistency of component-based applications during their evolution. This evolution consistency is achieved by maintaining some architectural strategies and thus, preserving the corresponding non-functional properties indicated as important.
{"title":"Le contrat d'évolution d'architectures. Un outil pour le maintien de propriétés non fonctionnelles","authors":"Régis Fleurquin, Chouki Tibermacine, S. Sadou","doi":"10.3166/objet.11.1-2.209-222","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.209-222","url":null,"abstract":"Software systems should evolve in order to respond to changing client requirements and their evolving environments. These changes, often unforeseen, done by tiers and in urgency, lead sometimes the software to a state initially undesired by its creators. We present, in this paper, a framework to preserve the consistency of component-based applications during their evolution. This evolution consistency is achieved by maintaining some architectural strategies and thus, preserving the corresponding non-functional properties indicated as important.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114990373","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.113-126
H. Mili, Ghizlane El-Boussaidi, A. Salah
Design patterns embody proven solutions to recurring design problems. Ever since the gang of four popularized the concept, researchers have been trying to develop methods for representing design patterns, and applying them to modeling problems. To the best of our knowledge, none of the approaches proposed so far represents the design problem that the pattern is meant to solve, explicitly. An explicit representation of the problem has several advantages, 1) a better characterization of the problem space addressed by the pattern—better than the textual description embodied in pattern templates, 2) a more natural representation of the transformations embodied in the application of the pattern, and 3) it is one step towards the automatic detection and application of patterns. In this paper, we describe the principles underlying our approach, and the current implementation in the Eclipse Modeling Framework™.
{"title":"Mise en oeuvre des patrons de conception par représentation explicite du problème","authors":"H. Mili, Ghizlane El-Boussaidi, A. Salah","doi":"10.3166/objet.11.1-2.113-126","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.113-126","url":null,"abstract":"Design patterns embody proven solutions to recurring design problems. Ever since the gang of four popularized the concept, researchers have been trying to develop methods for representing design patterns, and applying them to modeling problems. To the best of our knowledge, none of the approaches proposed so far represents the design problem that the pattern is meant to solve, explicitly. An explicit representation of the problem has several advantages, 1) a better characterization of the problem space addressed by the pattern—better than the textual description embodied in pattern templates, 2) a more natural representation of the transformations embodied in the application of the pattern, and 3) it is one step towards the automatic detection and application of patterns. In this paper, we describe the principles underlying our approach, and the current implementation in the Eclipse Modeling Framework™.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"170 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124148796","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.47-60
Antoine Beugnard
We observe the various interpretations of overriding and overloading in object oriented languages, and realize an inter-language experimentation with.NET. From this, we show that overriding and overloading are not compatible with the key property of components: encapsulation.
{"title":"Peut-on réaliser des composants avec un langage à objets ? L'impact de l'héritage et de la surcharge sur les boîtes noires","authors":"Antoine Beugnard","doi":"10.3166/objet.11.1-2.47-60","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.47-60","url":null,"abstract":"We observe the various interpretations of overriding and overloading in object oriented languages, and realize an inter-language experimentation with.NET. From this, we show that overriding and overloading are not compatible with the key property of components: encapsulation.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"109 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124691616","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.145-158
Clémentine Nebut, Franck Fleurey
Software requirements, usually wrutten in natural language, are the basis for design and functionnal testing phases. Due to natural language ambiguity, the requirements can thus be interpretyed differently while building and validating the software. We thus propose an incremental refinement method from the requirements to models with well-known semantics. From requirements in controlled natural language, we first generate a simulatable functional model based on UML use cases, then the simulation is used to enhance the requirements and to generate tests. We also generate a draft of static model.
{"title":"Une méthode de formalisation progressive des exigences basée sur un modèle simulable","authors":"Clémentine Nebut, Franck Fleurey","doi":"10.3166/objet.11.1-2.145-158","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.145-158","url":null,"abstract":"Software requirements, usually wrutten in natural language, are the basis for design and functionnal testing phases. Due to natural language ambiguity, the requirements can thus be interpretyed differently while building and validating the software. We thus propose an incremental refinement method from the requirements to models with well-known semantics. From requirements in controlled natural language, we first generate a simulatable functional model based on UML use cases, then the simulation is used to enhance the requirements and to generate tests. We also generate a draft of static model.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130374293","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.11-12
Markku Sakkinen
For a long time, I have liked to compare the parameter-passing modes of Algol 60 (some of you are probably old enough to remember) with speakers at scientific conferences. Namely, call by value vs. call by name in Algol, and authors of regular papers vs. invited speakers at conferences. This time I am lucky enough to be in the latter category; I also used to say that these are sometimes people who can no more make enough new contribution to have good chances with reviewers and programme committees. After this session, we will listen for about two full days to sophisticated technical presentations that will require the utmost concentration to be well understood. In contrast, some lighter entertainment may be quite appropriate in an invited talk. One reason for the lightness is that I could not allocate as much time for preparing the talk as I would have wished. This distributed printed version of the talk does not even contain complete bibliographic references. I hope my Finglish will not be too hard to be understood by speakers of Frenglish. Today, the emphasis of research and development in object-oriented software engineering has moved from classes, methods and other base-level entities to components, frameworks and other larger entities. Consequently, interests have also moved from programming languages to environments and tools for manipulating these entities. This evolution is natural and welcome, but it does not mean that the existing object-oriented programming languages are already perfect and no further progress on that level is needed. I will present several things that I would wish to be improved in current languages or their successors. Very little of what I am going to say will be really new, but some points are probably not so well known, or are often forgotten. I have mentioned many of them in my course on OOP at the university (if you want to have my lecture notes in Finnish, feel free to ask). In my papers, I have liked to write about the darker side of things, especially C++, but this time I am speaking about wishes; of course, it is essentially the same approach, but labelled in am more positive and polite way. I will not be as satirical as Bertrand Meyer in his pamphlet “UML, the positive spin” — which I hope many of you have seen. Several of my wishes are controversial, and I will be happy if they stimulate discussion. Very likely, many of the wishes have also been fulfilled in some OO languages that I don’t know, at least not well enough to have noticed. Please comment on such items, too. My research interests have always been mainly in statically typed languages (STOOPLs). This is therefore assumed in most parts of the talk; however, there are things that are rele-
{"title":"Wishes for object-oriented languages","authors":"Markku Sakkinen","doi":"10.3166/objet.11.1-2.11-12","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.11-12","url":null,"abstract":"For a long time, I have liked to compare the parameter-passing modes of Algol 60 (some of you are probably old enough to remember) with speakers at scientific conferences. Namely, call by value vs. call by name in Algol, and authors of regular papers vs. invited speakers at conferences. This time I am lucky enough to be in the latter category; I also used to say that these are sometimes people who can no more make enough new contribution to have good chances with reviewers and programme committees. After this session, we will listen for about two full days to sophisticated technical presentations that will require the utmost concentration to be well understood. In contrast, some lighter entertainment may be quite appropriate in an invited talk. One reason for the lightness is that I could not allocate as much time for preparing the talk as I would have wished. This distributed printed version of the talk does not even contain complete bibliographic references. I hope my Finglish will not be too hard to be understood by speakers of Frenglish. Today, the emphasis of research and development in object-oriented software engineering has moved from classes, methods and other base-level entities to components, frameworks and other larger entities. Consequently, interests have also moved from programming languages to environments and tools for manipulating these entities. This evolution is natural and welcome, but it does not mean that the existing object-oriented programming languages are already perfect and no further progress on that level is needed. I will present several things that I would wish to be improved in current languages or their successors. Very little of what I am going to say will be really new, but some points are probably not so well known, or are often forgotten. I have mentioned many of them in my course on OOP at the university (if you want to have my lecture notes in Finnish, feel free to ask). In my papers, I have liked to write about the darker side of things, especially C++, but this time I am speaking about wishes; of course, it is essentially the same approach, but labelled in am more positive and polite way. I will not be as satirical as Bertrand Meyer in his pamphlet “UML, the positive spin” — which I hope many of you have seen. Several of my wishes are controversial, and I will be happy if they stimulate discussion. Very likely, many of the wishes have also been fulfilled in some OO languages that I don’t know, at least not well enough to have noticed. Please comment on such items, too. My research interests have always been mainly in statically typed languages (STOOPLs). This is therefore assumed in most parts of the talk; however, there are things that are rele-","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"190 Suppl 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115769785","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.159-173
G. Langelier, H. Sahraoui, Pier-Olivier Poulin
Metaphor-based visualization helps in the representation and analysis of large object-oriented software. It uses resources from human visual and cognitive systems to extract from these representations regularities and discontinuities that are the basic elements of any qualitative study. Based on these principles, we propose a preattentive visualization system. Within our system, we use the city metaphor to conduct various powerful analyses.
{"title":"Visualisation et analyse de logiciels de grande taille","authors":"G. Langelier, H. Sahraoui, Pier-Olivier Poulin","doi":"10.3166/objet.11.1-2.159-173","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.159-173","url":null,"abstract":"Metaphor-based visualization helps in the representation and analysis of large object-oriented software. It uses resources from human visual and cognitive systems to extract from these representations regularities and discontinuities that are the basic elements of any qualitative study. Based on these principles, we propose a preattentive visualization system. Within our system, we use the city metaphor to conduct various powerful analyses.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127586211","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}