Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content
This is the sixth edition of MASPEGHI, but there have been also two other workshops in the same topic area that are genuine predecessors of this workshop. Most of this year's organizers and programme committee members have been... more
This is the sixth edition of MASPEGHI, but there have been also two other workshops in the same topic area that are genuine predecessors of this workshop. Most of this year's organizers and programme committee members have been involved in more than one of the previous workshops.
Inheritance and allied mechanisms are probably the single most perspicuous facet of object-orientation, even though there are object-oriented languages without (true) inheritance. The history of inheritance in programming languages dates... more
Inheritance and allied mechanisms are probably the single most perspicuous facet of object-orientation, even though there are object-oriented languages without (true) inheritance. The history of inheritance in programming languages dates back to Simula-67, where it was called prefixing. Nevertheless, after 46 years inheritance is not a closed book: there are still open questions and controversies about inheritance. This workshop will bring together researchers who are working on these open questions and controversies and suggesting new approaches and solutions. These topics have been mostly discussed in the programming language community, but views and insights from other communities, such as object-oriented modelling and object databases, were very welcome. In fact, it was decided to combine MASPEGHI with the COOMPL (Combined Object-Oriented Modeling and Programming Languages) workshop, expecting synergy and cross-fertilisation.
1 Software Composition Group, U. Bern, Neubr uckstrasse 10, 3012 Bern, Switzerland arevalo@iam.unibe.ch 2 OGI School of Sci. & Eng., Oregon Health & Sci. Univ., Beaverton, Oregon, USA black@cse.ogi.edu 3 Dpto. Inform atica, U. de... more
1 Software Composition Group, U. Bern, Neubr uckstrasse 10, 3012 Bern, Switzerland arevalo@iam.unibe.ch 2 OGI School of Sci. & Eng., Oregon Health & Sci. Univ., Beaverton, Oregon, USA black@cse.ogi.edu 3 Dpto. Inform atica, U. de Valladolid, Campus M. Delibes, Valladolid 47011, Spain yania@infor.uva.es 4 France T el ecom R&D DAC/OAT, 92794 Issy Moulineaux Cedex 9 michel.dao@francetelecom.com 5 Department of Computer Science, University of Aarhus, Denmark eernst@daimi.au.dk 6 Dept. of Computer Science, Concordia University, Montreal, Canada H3G 1M8 grogono@cs.concordia.ca 7 LIRMM (CNRS-University Montpellier 2), 161, rue Ada, 34392 Montpellier cedex 5 huchard@lirmm.fr 8 Information Technology Research Institute, University of Jyv askyl a, Finland sakkinenm@acm.org
ABSTRACT
First published in the Proceedings of the 6th IBIMA Conference on Managing Information in the Digital Economy, June 19-21, 2006, Bonn, Germany
1 Laboratoire d'Informatique Signaux et Syst`emes de Sophia Antipolis (I3S), Université de Nice Sophia antipolis, France Philippe.Lahire@unice.fr 2 Software Composition Group, Institut für Informatik und angewandte... more
1 Laboratoire d'Informatique Signaux et Syst`emes de Sophia Antipolis (I3S), Université de Nice Sophia antipolis, France Philippe.Lahire@unice.fr 2 Software Composition Group, Institut für Informatik und angewandte Mathematik, Bern, Switzerland arevalo@iam.unibe.ch 3 ...
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad,... more
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et a ̀ la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Generalization is common in object-oriented modeling. It would be useful in many situations also as a language mechanism, reverse inheritance, but there have been only few detailed proposals for that. This paper defines reverse... more
Generalization is common in object-oriented modeling. It would be useful in many situations also as a language mechanism, reverse inheritance, but there have been only few detailed proposals for that. This paper defines reverse inheritance as a true inverse of ordinary inheritance, without changing anything else in the language that is extended. Eiffel is perhaps the most suitable language for that purpose because of its flexible inheritance principles. Moreover, there exists good previous work on Eiffel, on which we have built. We describe the most important aspects of our extension, whose details proved to be more difficult than we had assumed. It would be easier if some modifications were made to Eiffel's ordinary inheritance, or if one designed a new language. We also briefly mention our proof-of-concept implementation in which reverse inheritance is changed to ordinary inheritance by automatic transformations, and thus no compiler modifications are needed.
We develop further the old idea that object-oriented languages could support also the inverse of inheritance (specialisation): generalisation or “exheritance”. It is easy as far as only interfaces are concerned, but attributes and method... more
We develop further the old idea that object-oriented languages could support also the inverse of inheritance (specialisation): generalisation or “exheritance”. It is easy as far as only interfaces are concerned, but attributes and method implementations cause problems. Renaming appears to be a very desirable language feature for exheritance. Combinations of inheritance and exheritance can be interesting and useful.
The protection facilities (access levels) of Eiffel, C++ and Java are briefly explained and compared. Several problems are pointed out and remedies to them suggested. A few possible enhancements are also proposed.
The C++ language is to a high degree a faithful follower of Simula as an object-oriented language geared more toward software engineering than exploratory programming. I highlight several of its noteworthy good ideas. Like Simula, C++ is... more
The C++ language is to a high degree a faithful follower of Simula as an object-oriented language geared more toward software engineering than exploratory programming. I highlight several of its noteworthy good ideas. Like Simula, C++ is designed to be a general-purpose procedural language and not ‘‘purely’’ objectoriented; this is not counted as a mortal sin here. However, taking the weakly typed and weakly structured language C as a base has become an irremediable handicap. Low-level concerns have caused at least one crucial flaw also in the object-oriented properties of C++. These basic defects have not changed since I first explored the darker side four years ago. Most, although not all, of the numerous features and facilities that have later been added to the language are obvious improvements. At the same time, they have increased the complexity of C++ so that it is now well comparable to Ada. (Some new features are suggested even here, nevertheless.) It is regrettable indeed i...
ABSTRACT I claim that enumerations, while of course not strictly necessary, are an elegant and useful facility in modern programming languages. I try to show that arguments recently given against them are weak at best and bogus a t worst,... more
ABSTRACT I claim that enumerations, while of course not strictly necessary, are an elegant and useful facility in modern programming languages. I try to show that arguments recently given against them are weak at best and bogus a t worst, for general-purpose programming. Some related issues on types in programming languages are touched as well. These make it even more questionable whether Oberon marks progress or regress in language design.
Rule-based (re)active systems are a commonly accepted solution in the area of nonstandard applications in order to express an event-driven and constraint-driven system environment. Several attempts have been made to inte- grate active... more
Rule-based (re)active systems are a commonly accepted solution in the area of nonstandard applications in order to express an event-driven and constraint-driven system environment. Several attempts have been made to inte- grate active concepts into object-oriented databases and to extend active knowledge models to gain more and more expressive power and flexibility. Unfortunately, execution models of active systems do not
The C++ language is to a high degree a faithful follower of Simula as an object-oriented language geared more toward software engineering than exploratory programming. I highlight several of its noteworthy good ideas. Like Simula, C++ is... more
The C++ language is to a high degree a faithful follower of Simula as an object-oriented language geared more toward software engineering than exploratory programming. I highlight several of its noteworthy good ideas. Like Simula, C++ is designed to be a general-purpose procedural language and not ''purely'' object- oriented; this is not counted as a mortal sin here. However, taking
Although multiple inheritance (MI) is al- ready a feature of the C# language, there is a debate going on about its good and bad sides. In this paper, I am defending MI. At the same time, many of the rules and principles of inheritance in... more
Although multiple inheritance (MI) is al- ready a feature of the C# language, there is a debate going on about its good and bad sides. In this paper, I am defending MI. At the same time, many of the rules and principles of inheritance in current C# seem to me to need improvements. The suggested modifications are relatively simple, do
ABSTRACT
Research Interests:
ABSTRACT
Research Interests:
Although multiple inheritance (MI) is al- ready a feature of the C# language, there is a debate going on about its good and bad sides. In this paper, I am defending MI. At the same time, many of the rules and principles of inheritance in... more
Although multiple inheritance (MI) is al- ready a feature of the C# language, there is a debate going on about its good and bad sides. In this paper, I am defending MI. At the same time, many of the rules and principles of inheritance in current C# seem to me to need improvements. The suggested modifications are relatively simple, do not introduce many new re- served words, and should not affect other parts of the language. I do not find the current rules totally adequate even for single inheritance (SI). The problems lie in the mean- ing of access levels and in the redefinability of virtual functions. Additional inconsistencies in C# virtual functions appear in so-called independent multiple in- heritance (IMI), which is in principle the easy case of MI. The most difficult problems are caused by so- called fork-join inheritance (FJI), which is the most complicated kind of inheritance. One essential cause of complexity is private inheritance because of its intransitive nature. The m...
Research Interests:
We discuss several negative features and properties of the C++ language, some common with C, others pertaining to C++ classes. Remedies are proposed for most of the latter ones, most of the former ones being feared to be already... more
We discuss several negative features and properties of the C++ language, some common with C, others pertaining to C++ classes. Remedies are proposed for most of the latter ones, most of the former ones being feared to be already incurable. The worst class-related defects claimed in present C++ have to do with free store management. Some hints are given to programmers on how to avoid pitfalls.
ABSTRACT We present a technique, called binary wrapping, that allows object code routines to be instrumented. Binary wrapping allows tracing to be placed around (and sometimes within) proprietary code, when source code access is difficult... more
ABSTRACT We present a technique, called binary wrapping, that allows object code routines to be instrumented. Binary wrapping allows tracing to be placed around (and sometimes within) proprietary code, when source code access is difficult or impossible. ...
I claim that enumerations, while of course not strictly necessary, are an elegant and useful facility in modern programming languages. I try to show that arguments recently given against them are weak at best and bogus a t worst, for... more
I claim that enumerations, while of course not strictly necessary, are an elegant and useful facility in modern programming languages. I try to show that arguments recently given against them are weak at best and bogus a t worst, for general-purpose programming. Some related issues on types in programming languages are touched as well. These make it even more questionable whether Oberon marks progress or regress in language design.
... We have seen, however, that the difference in paradigm between this procedural and only partiallyobject-oriented language and the most archetypal object-oriented languages makes it non-trivial to translate programming rules from one... more
... We have seen, however, that the difference in paradigm between this procedural and only partiallyobject-oriented language and the most archetypal object-oriented languages makes it non-trivial to translate programming rules from one environment into another. ...
ABSTRACT
ABSTRACT In [1] Wiener and Pinson gives an example of using multiple inheritance in C++. The example consists of three classes. The two classes Array and Integer are combined by multiple inheritance to form the class IntegerArray. In [1]... more
ABSTRACT In [1] Wiener and Pinson gives an example of using multiple inheritance in C++. The example consists of three classes. The two classes Array and Integer are combined by multiple inheritance to form the class IntegerArray. In [1] it is claimed that this ...
ABSTRACT The paper focuses on measuring and assessing the relation of adaptive maintenance process and quality of open source software (OSS). A framework for assessing adaptive maintenance process is proposed and applied. The framework... more
ABSTRACT The paper focuses on measuring and assessing the relation of adaptive maintenance process and quality of open source software (OSS). A framework for assessing adaptive maintenance process is proposed and applied. The framework consists of six sub- processes. Five OSSs with considerable number of releases have been studied empirically. Their main evolutionary and quality characteristics have been measured. The main results of the study are the following:. 1) Software maintainability is affected mostly by the activities of the 'analysis' maintenance sub-process. 2) Software testability is affected by the activities of all maintenance sub-processes. 3) Software reliability is affected mostly by the activities of the 'design' and 'delivery' maintenance sub- processes. 4) Software complexity is affected mostly by the activities of the 'problem identification', design', 'implementation' and 'test' sub-processes. 5) Software flexibility is affected mostly by the activities of the 'delivery' sub-process.
Abstract In recent literature there is still a lack of understanding how the reuse and cloning of software affects its quality. The focus of this study is to analyze the relationships between source code cloning and software quality for... more
Abstract In recent literature there is still a lack of understanding how the reuse and cloning of software affects its quality. The focus of this study is to analyze the relationships between source code cloning and software quality for the case of open source software project ...
ABSTRACT . Rule-based (re)active systems are a commonly accepted solution in the area of nonstandard applications in order to express an event-driven and constraint-driven system environment. Several attempts have been made to integrate... more
ABSTRACT . Rule-based (re)active systems are a commonly accepted solution in the area of nonstandard applications in order to express an event-driven and constraint-driven system environment. Several attempts have been made to integrate active concepts into object-oriented databases and to extend active knowledge models to gain more and more expressive power and flexibility. Unfortunately, execution models of active systems do not fully exploit all the advantages of the provided knowledge models. This is especially the case for transactional aspects within execution models. Among the most challenging research problems is the development of a transaction model in the presence of so called composite events, i.e., events representing a combination of other events. Our approach of multi-parent subtransactions tries to fill this gap. Multi-parent subtransactions extend the well-known nested transaction model by allowing multiple transactions to start a subtransaction in cooperation. The basi...
Research Interests:
MASPEGHI 2004 is the third edition of the MASPEGHI workshop. This year the organizers of both the ECOOP 2002 Inheritance Workshop and MASPEGHI 2003 came together to enlarge the scope of the workshop and to address new challenges. We... more
MASPEGHI 2004 is the third edition of the MASPEGHI workshop. This year the organizers of both the ECOOP 2002 Inheritance Workshop and MASPEGHI 2003 came together to enlarge the scope of the workshop and to address new challenges. We succeeded in gathering a diverse group of researchers and practitioners interested in mechanisms for managing specialization and generalization of programming language
ionsProbably vendors of object systems will quickly conclude that OQL queries can be very easily extended to makemacroscopic3updates in the style of SQL create, update, insert, delete and to define database/programming abstractions,such... more
ionsProbably vendors of object systems will quickly conclude that OQL queries can be very easily extended to makemacroscopic3updates in the style of SQL create, update, insert, delete and to define database/programming abstractions,such as SQL views, database procedures and rules. In my opinion, ad-hoc querying in the style of OQLis unnecessary for any serious kind of users, because this mode is much better supported by form/menu/graphicinterfaces. OQL will be primarily used for...
... For instance, many coworkers at Valmet Cor-poration and Procons OY in 1979 − 1985, and colleagues at the depart-ment after that (not least those two who take car e of almost everything: amanuensis Mirja Tervo and department secr etary... more
... For instance, many coworkers at Valmet Cor-poration and Procons OY in 1979 − 1985, and colleagues at the depart-ment after that (not least those two who take car e of almost everything: amanuensis Mirja Tervo and department secr etary Kaarina Suonia), as well as some ...
Abstract: MASPEGHI 2004 is the third edition of the MASPEGHIworkshop. This year the organizers of both the ECOOP 2002 InheritanceWorkshop and MASPEGHI 2003 came together to enlarge the scope ofthe workshop and to address new challenges.... more
Abstract: MASPEGHI 2004 is the third edition of the MASPEGHIworkshop. This year the organizers of both the ECOOP 2002 InheritanceWorkshop and MASPEGHI 2003 came together to enlarge the scope ofthe workshop and to address new challenges. We succeeded in gatheringa diverse group of researchers and practitioners interested in mechanismsfor managing specialization and generalization of programming languagecomponents. The workshop contained a

And 16 more