Pub Date : 2005-06-30DOI: 10.3166/objet.11.1-2.33-46
Florian Minjat, Alexandre Bergel, P. Cointe, Stéphane Ducasse
The trait model is complementary to class inheritance and allows collections of meth- ods to be reused by several classes. The classbox model allows a collection of classes to be locally extended with variables and/or methods addition. This paper describes a symbiosis of these two models: classes can be locally extended by using a trait. It is illustrated by an ef- ficient implementation of the collaboration model where a collaboration is represented by a a classbox and a role by a trait. RESUME. Le modele des traits propose un complement a l'heritage des classes permettant la reutilisation d'une collection de methodes par differentes classes. Le modele des classboxes per- met l'extension locale d'une collection de classes par l'ajout de variables et/ou de methodes d'instance. Cet article presente une symbiose de ces deux modeles : permettre l'extension lo- cale d'une classe par l'utilisation d'un trait et au dela, proposer une realisation du modele des collaborations pour lequel une collaboration est assimilee a un classbox et un role a un trait.
{"title":"Mise en symbiose des traits et des classboxes. Application à l expression des collaborations","authors":"Florian Minjat, Alexandre Bergel, P. Cointe, Stéphane Ducasse","doi":"10.3166/objet.11.1-2.33-46","DOIUrl":"https://doi.org/10.3166/objet.11.1-2.33-46","url":null,"abstract":"The trait model is complementary to class inheritance and allows collections of meth- ods to be reused by several classes. The classbox model allows a collection of classes to be locally extended with variables and/or methods addition. This paper describes a symbiosis of these two models: classes can be locally extended by using a trait. It is illustrated by an ef- ficient implementation of the collaboration model where a collaboration is represented by a a classbox and a role by a trait. RESUME. Le modele des traits propose un complement a l'heritage des classes permettant la reutilisation d'une collection de methodes par differentes classes. Le modele des classboxes per- met l'extension locale d'une collection de classes par l'ajout de variables et/ou de methodes d'instance. Cet article presente une symbiose de ces deux modeles : permettre l'extension lo- cale d'une classe par l'utilisation d'un trait et au dela, proposer une realisation du modele des collaborations pour lequel une collaboration est assimilee a un classbox et un role a un trait.","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":"130583521","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 : 2004-12-30DOI: 10.3166/objet.10.4.17-31
Francis Wolinski, J. Legrand
With this paper, the authors intended to describe how object-oriented languages have been introduced in the banking industry. It shows that there was a need for prototyping management information systems before the launching of object-oriented industrial solutions. Then, it explains the rapid adoption of object-oriented paradigms by the banking industry, but also, the technical, organisational and human limits they encountered. Then, it shows how objects made their come back particularly thanks to the Internet and the Java language. At last, this paper gives a prospective point of view on banking information systems based on agents establishing a real-time infrastructure.
{"title":"L'objet tertiaire à travers les âges","authors":"Francis Wolinski, J. Legrand","doi":"10.3166/objet.10.4.17-31","DOIUrl":"https://doi.org/10.3166/objet.10.4.17-31","url":null,"abstract":"With this paper, the authors intended to describe how object-oriented languages have been introduced in the banking industry. It shows that there was a need for prototyping management information systems before the launching of object-oriented industrial solutions. Then, it explains the rapid adoption of object-oriented paradigms by the banking industry, but also, the technical, organisational and human limits they encountered. Then, it shows how objects made their come back particularly thanks to the Internet and the Java language. At last, this paper gives a prospective point of view on banking information systems based on agents establishing a real-time infrastructure.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127860378","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 : 2004-12-30DOI: 10.3166/objet.10.4.83-118
T. Hardin, R. Rioboo
This article presents the first developments of the FoCal language which took place between 1998 and 2001 in order to design a programming language adapted for designing and developing mathematics on computers. Based on different features of the OCaml programming lamguage we developed an original programming model enabling both to describe and implement mathematics inside a programming language. We describe three progamming paradigms based respectively on OCaml's modules. classes and objects in order to extract the FoCal odel. These concepts are the base of the FoCal programming language that we briefly present. The Focalpmgramming language offers a framework enabling both concrete and absract programming.
{"title":"Les objets des mathématiques","authors":"T. Hardin, R. Rioboo","doi":"10.3166/objet.10.4.83-118","DOIUrl":"https://doi.org/10.3166/objet.10.4.83-118","url":null,"abstract":"This article presents the first developments of the FoCal language which took place between 1998 and 2001 in order to design a programming language adapted for designing and developing mathematics on computers. Based on different features of the OCaml programming lamguage we developed an original programming model enabling both to describe and implement mathematics inside a programming language. We describe three progamming paradigms based respectively on OCaml's modules. classes and objects in order to extract the FoCal odel. These concepts are the base of the FoCal programming language that we briefly present. The Focalpmgramming language offers a framework enabling both concrete and absract programming.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129964655","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 : 2004-12-30DOI: 10.3166/objet.10.4.119-143
P. Cointe, Jacques Noyé, Rémi Douence, Thomas Ledoux, Jean-Marc Menaud, G. Muller, Mario Südholt
(Re)using and adapting components are two key issues in the field of software architecture. Yet, enterprises are still waiting for genuine off-the-shelf components. Since 20 years, object-oriented programming has become the de facto programming standard. Nevertheless objects have partially failed to address the scalability requirements introduced by the Internet. One of the unresolved challenges is the building of large software with the appropriate granularity. From this perspective, objects have given incomplete answers to the problem of component assembly and life-cycle management. We introduce the post-object age by discussing, on the one hand, the evolution from objects to components and by introducing, on the other hand the evolution from objects to aspects.
{"title":"Programmation post-objets. Des langages d'aspects aux langages de composants","authors":"P. Cointe, Jacques Noyé, Rémi Douence, Thomas Ledoux, Jean-Marc Menaud, G. Muller, Mario Südholt","doi":"10.3166/objet.10.4.119-143","DOIUrl":"https://doi.org/10.3166/objet.10.4.119-143","url":null,"abstract":"(Re)using and adapting components are two key issues in the field of software architecture. Yet, enterprises are still waiting for genuine off-the-shelf components. Since 20 years, object-oriented programming has become the de facto programming standard. Nevertheless objects have partially failed to address the scalability requirements introduced by the Internet. One of the unresolved challenges is the building of large software with the appropriate granularity. From this perspective, objects have given incomplete answers to the problem of component assembly and life-cycle management. We introduce the post-object age by discussing, on the one hand, the evolution from objects to components and by introducing, on the other hand the evolution from objects to aspects.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122313084","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 : 2004-12-30DOI: 10.3166/objet.10.4.61-81
A. Napoli, B. Carré, Roland Ducournau, J. Euzenat, F. Rechenmann
Cet article propose une etude et discussion sur la place des objets en representation des connaissances. Il n'apporte pas de reponse complete et definitive a la question, mais se veut plutot une synthese constructive des travaux sur les representations par objets realises jusqu'a present. Cet article est egalement ecrit a l'intention particuliere de Jean-Francois Perrot, en essayant de debattre avec entrain et brio de la question actuelle des representations par objets, des recherches et des resultats etablis, des directions de recherche envisageables et de ce qui pourrait ou devrait etre attendu.
{"title":"Objets et représentation, un couple en devenir","authors":"A. Napoli, B. Carré, Roland Ducournau, J. Euzenat, F. Rechenmann","doi":"10.3166/objet.10.4.61-81","DOIUrl":"https://doi.org/10.3166/objet.10.4.61-81","url":null,"abstract":"Cet article propose une etude et discussion sur la place des objets en representation des connaissances. Il n'apporte pas de reponse complete et definitive a la question, mais se veut plutot une synthese constructive des travaux sur les representations par objets realises jusqu'a present. Cet article est egalement ecrit a l'intention particuliere de Jean-Francois Perrot, en essayant de debattre avec entrain et brio de la question actuelle des representations par objets, des recherches et des resultats etablis, des directions de recherche envisageables et de ce qui pourrait ou devrait etre attendu.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130392299","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 : 2004-12-30DOI: 10.3166/objet.10.4.145-157
Jean Bézivin
RESUME . En novembre 2000, l’OMG a rendu publique son initiative MDA™, une variante particuliere d’une tendance plus generale nommee ingenierie des modeles (MDE pour Model Driven Engineering). Les idees de base de l’ingenierie des modeles sont voisines de celles de nombreuses autres approches comme la programmation generative, les langages specifiques de domaines, le MIC (Model Integrated Computing), les usines a logiciel (software factories), etc. Le MDA peut se definir comme la realisation des principes de l’ingenierie des modeles autour d’un ensemble de standards comme le MOF, XMI, OCL, UML, CWM, SPEM, QVT, etc. Tout comme le principe de base du « tout objet » fut essentiel dans les annees 1980 pour etablir la programmation par objets, le principe du « tout modele » peut aussi etre essentiel pour identifier les caracteristiques majeures de cette nouvelle tendance. Les domaines d’applicabilite sont multiples mais concernent essentiellement l’ingenierie des logiciels, l’ingenierie des systemes et l’ingenierie des donnees.
{"title":"Sur les principes de base de l'ingénierie des modèles","authors":"Jean Bézivin","doi":"10.3166/objet.10.4.145-157","DOIUrl":"https://doi.org/10.3166/objet.10.4.145-157","url":null,"abstract":"RESUME . En novembre 2000, l’OMG a rendu publique son initiative MDA™, une variante particuliere d’une tendance plus generale nommee ingenierie des modeles (MDE pour Model Driven Engineering). Les idees de base de l’ingenierie des modeles sont voisines de celles de nombreuses autres approches comme la programmation generative, les langages specifiques de domaines, le MIC (Model Integrated Computing), les usines a logiciel (software factories), etc. Le MDA peut se definir comme la realisation des principes de l’ingenierie des modeles autour d’un ensemble de standards comme le MOF, XMI, OCL, UML, CWM, SPEM, QVT, etc. Tout comme le principe de base du « tout objet » fut essentiel dans les annees 1980 pour etablir la programmation par objets, le principe du « tout modele » peut aussi etre essentiel pour identifier les caracteristiques majeures de cette nouvelle tendance. Les domaines d’applicabilite sont multiples mais concernent essentiellement l’ingenierie des logiciels, l’ingenierie des systemes et l’ingenierie des donnees.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122194999","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 : 2004-12-30DOI: 10.3166/objet.10.4.33-60
F. Pachet
An apparatus for control of a liquid level, especially water level, comprising a partition (10) arranged in a drain channel (24) and having an upper edge (12) which serves as overflow. At its lower or bottom edge (14) opposite the upper overflow edge (12) the partition (10) is supported for swinging (axis of rotation 16) at the bottom of the drain channel (24). Extending obliquely upwardly from the bottom of the drain channel (24), away from the water end (18), the partition (10) is held by a level control means (20).
{"title":"Les nouveaux enjeux de la réification. A la recherche des coïncidences","authors":"F. Pachet","doi":"10.3166/objet.10.4.33-60","DOIUrl":"https://doi.org/10.3166/objet.10.4.33-60","url":null,"abstract":"An apparatus for control of a liquid level, especially water level, comprising a partition (10) arranged in a drain channel (24) and having an upper edge (12) which serves as overflow. At its lower or bottom edge (14) opposite the upper overflow edge (12) the partition (10) is supported for swinging (axis of rotation 16) at the bottom of the drain channel (24). Extending obliquely upwardly from the bottom of the drain channel (24), away from the water end (18), the partition (10) is held by a level control means (20).","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"138 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123528145","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 : 2004-09-30DOI: 10.3166/objet.10.2-3.131-146
Romain Rouvoy, P. Merle
Depuis quelques annees, les standards transactionnels ne cessent d'apparaitre chez les differents fournisseurs de modeles applicatifs. Malgre cette multiplication des protocoles et des propositions, le coeur du probleme demeure identique depuis qu'il a ete introduit pour la premiere fois dans les bases de donnees. Il s'agit en effet de garantir une execution correcte d'une sequence d'operations et le cas echeant de conserver la stabilite du systeme tel qu'il etait a l'initiation de cette sequence. Les differentes variations introduites au fil des annees n'ont donc pas remis en cause profondement les concepts lies aux transactions mais se sont contentees de faire evoluer les notions de base pour repondre a l'evolution des besoins des applications. Cet article propose donc un canevas logiciel oriente composant pour la conception de moteurs transactionnels. L'implantation de ce canevas (GoTM) se base sur le modele de composants Fractal et fournit un ensemble de composants elementaires dont les assemblages peuvent donner lieu a differentes instances de moteurs transactionnels.
{"title":"GoTM Vers un canevas transactionnel à base de composants","authors":"Romain Rouvoy, P. Merle","doi":"10.3166/objet.10.2-3.131-146","DOIUrl":"https://doi.org/10.3166/objet.10.2-3.131-146","url":null,"abstract":"Depuis quelques annees, les standards transactionnels ne cessent d'apparaitre chez les differents fournisseurs de modeles applicatifs. Malgre cette multiplication des protocoles et des propositions, le coeur du probleme demeure identique depuis qu'il a ete introduit pour la premiere fois dans les bases de donnees. Il s'agit en effet de garantir une execution correcte d'une sequence d'operations et le cas echeant de conserver la stabilite du systeme tel qu'il etait a l'initiation de cette sequence. Les differentes variations introduites au fil des annees n'ont donc pas remis en cause profondement les concepts lies aux transactions mais se sont contentees de faire evoluer les notions de base pour repondre a l'evolution des besoins des applications. Cet article propose donc un canevas logiciel oriente composant pour la conception de moteurs transactionnels. L'implantation de ce canevas (GoTM) se base sur le modele de composants Fractal et fournit un ensemble de composants elementaires dont les assemblages peuvent donner lieu a differentes instances de moteurs transactionnels.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122273358","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 : 2004-09-30DOI: 10.3166/objet.10.2-3.103-116
Olivier Barais, Laurence Duchien
Nous presentons dans ce papier TranSAT (Transformation for Software Architecture Technics) un modele de composant abstrait permettant la description de l'evolution d'architectures logicielles. Notre approche est inspiree des approches proposees par Jan Bosch sur la superimposition et par l'AOSD (Aspect Oriented Software Development). Ce modele definit trois etapes principales pour la definition d'une architecture logicielle. Une premiere etape permet de decrire un modele statique d'assemblage de composants valide grâce a l'utilisation de contrats de structure et de comportement. Une deuxieme etape propose de decrire des nouvelles fonctionnalites a integrer et de capitaliser les regles de transformation liees a cette integration. Cette description est regroupee sous le vocable d'adaptateur. Enfin, le concept de tisseur definit la configuration de ces regles pour une architecture cible. Ainsi, les informations non fonctionnelles liees a l'evolution sont modelisees et analysables.
{"title":"TranSAT : maîtriser l'évolution d'une architecture logicielle","authors":"Olivier Barais, Laurence Duchien","doi":"10.3166/objet.10.2-3.103-116","DOIUrl":"https://doi.org/10.3166/objet.10.2-3.103-116","url":null,"abstract":"Nous presentons dans ce papier TranSAT (Transformation for Software Architecture Technics) un modele de composant abstrait permettant la description de l'evolution d'architectures logicielles. Notre approche est inspiree des approches proposees par Jan Bosch sur la superimposition et par l'AOSD (Aspect Oriented Software Development). Ce modele definit trois etapes principales pour la definition d'une architecture logicielle. Une premiere etape permet de decrire un modele statique d'assemblage de composants valide grâce a l'utilisation de contrats de structure et de comportement. Une deuxieme etape propose de decrire des nouvelles fonctionnalites a integrer et de capitaliser les regles de transformation liees a cette integration. Cette description est regroupee sous le vocable d'adaptateur. Enfin, le concept de tisseur definit la configuration de ces regles pour une architecture cible. Ainsi, les informations non fonctionnelles liees a l'evolution sont modelisees et analysables.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126197880","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 : 2004-09-30DOI: 10.3166/objet.10.2-3.75-88
E. Chailloux, Grégoire Henry
We present in this paper a new code generator, called O'Jacare, to interoperate between Java and Objective Caml through their object model. O'Jacare defines a basic IDL (Interface Definition Language) for classes and interfaces description to communicate from Objective Caml to Java. For communications from Java to Objective Caml we add a callback mechanism. The implementation is based on each language low-level interfaces (Java Native Interface for Java and external for Objective Caml) and uses an extended version of the camljava library. O'Jacare generates all needed wrapper classes and enables static typechecking in both worlds. Although the IDL is an intersection from these two object models, O'Jacare allows to combine all features from both.
{"title":"O'Jacaré, une interface objet entre Objective Caml et Java","authors":"E. Chailloux, Grégoire Henry","doi":"10.3166/objet.10.2-3.75-88","DOIUrl":"https://doi.org/10.3166/objet.10.2-3.75-88","url":null,"abstract":"We present in this paper a new code generator, called O'Jacare, to interoperate between Java and Objective Caml through their object model. O'Jacare defines a basic IDL (Interface Definition Language) for classes and interfaces description to communicate from Objective Caml to Java. For communications from Java to Objective Caml we add a callback mechanism. The implementation is based on each language low-level interfaces (Java Native Interface for Java and external for Objective Caml) and uses an extended version of the camljava library. O'Jacare generates all needed wrapper classes and enables static typechecking in both worlds. Although the IDL is an intersection from these two object models, O'Jacare allows to combine all features from both.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122350404","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}