Papers by Markku Sakkinen
This poster reports on a solution to ERP project cost estimation and on results from its first ex... more This poster reports on a solution to ERP project cost estimation and on results from its first experimental application.
This is the sixth edition of MASPEGHI, but there have been also two other workshops in the same t... 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.
BCS Learning & Development, Sep 1, 1996
Rule-based (re)active systems are a commonly accepted solution in the area of nonstandard applica... 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 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. Among the most challenging research problems is the development of a transaction model in the presence of so called composite 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. In particular, this paper discusses the impacts of our extensions on the locking protocol of the original nested transaction model. Keywords and Phrases. Active object-oriented database systems, nested transactions, composite events, multiparent subtransactions, inheritance of locks
Journal of Database Management, Jul 1, 2003
The Unified Modeling Language (UML) provides various diagram types for describing a system from d... more The Unified Modeling Language (UML) provides various diagram types for describing a system from different perspectives or abstraction levels. Hence, UML diagrams describing the same system are dependent and strongly overlapping. In this paper we study how this can be exploited for specifying transformation operations between different diagram types. We discuss various general approaches and viewpoints of model transformations in UML. The source and target diagram types for useful transformations are analyzed and given categories. The potentially most interesting transformation operations are discussed in detail. It is concluded that the transformation operations can automate a substantial part of both forward and reverse engineering. These operations can be used, for example, for model checking, merging, slicing, and synthesis.
Inheritance and allied mechanisms are probably the single most perspicuous facet of object-orient... 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 [email protected]... more 1 Software Composition Group, U. Bern, Neubr uckstrasse 10, 3012 Bern, Switzerland [email protected] 2 OGI School of Sci. & Eng., Oregon Health & Sci. Univ., Beaverton, Oregon, USA [email protected] 3 Dpto. Inform atica, U. de Valladolid, Campus M. Delibes, Valladolid 47011, Spain [email protected] 4 France T el ecom R&D DAC/OAT, 92794 Issy Moulineaux Cedex 9 [email protected] 5 Department of Computer Science, University of Aarhus, Denmark [email protected] 6 Dept. of Computer Science, Concordia University, Montreal, Canada H3G 1M8 [email protected] 7 LIRMM (CNRS-University Montpellier 2), 161, rue Ada, 34392 Montpellier cedex 5 [email protected] 8 Information Technology Research Institute, University of Jyv askyl a, Finland [email protected]
IOS Press eBooks, Jan 3, 1990
ABSTRACT
Unified Modeling Language (UML) provides various diagram types for describing a system from diffe... more Unified Modeling Language (UML) provides various diagram types for describing a system from different perspectives or abstraction levels. Hence, various UML models of the same system are dependent and strongly overlapping. This paper discusses various general approaches and viewpoints of model transformations in UML. The possible source and target diagram types are analyzed and categories are given for different transformations. It is argued that such transformations should be defined in terms of the UML metamodel, rather than on the level of the actual diagrams. A detailed example of a transformation operation from sequence diagrams into class diagrams is presented to illustrate such operations. It is concluded that the transformation operations can automate a substantial part in both forward and reverse engineering. These operations can be used, for example, for model checking, merging, slicing, and synthesis.
First published in the Proceedings of the 6th IBIMA Conference on Managing Information in the Dig... more 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), Univers... more 1 Laboratoire d'Informatique Signaux et Syst`emes de Sophia Antipolis (I3S), Université de Nice Sophia antipolis, France [email protected] 2 Software Composition Group, Institut für Informatik und angewandte Mathematik, Bern, Switzerland [email protected] 3 ...
Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance - MASPEGHI '10, 2010
Reverse inheritance is a new class reuse mechanism, an experimental implementation of which we ha... more Reverse inheritance is a new class reuse mechanism, an experimental implementation of which we have built for Eiffel. It enables a more natural design approach, factorization of common features (members), insertion of classes into an existing hierarchy etc. Due to its reuse potential in Eiffel we consider exploring its capabilities in other industrialstrength programming languages like C++, Java and C#.
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific ... 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.
Nord. J. Comput., 2013
Generalization is common in object-oriented modeling. It would be useful in many situations also ... 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 ... 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 compa... more 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.
Struct. Program., 1992
The C++ language is to a high degree a faithful follower of Simula as an object-oriented language... 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...
European Conference on Object-Oriented Programming, 1989
ABSTRACT I claim that enumerations, while of course not strictly necessary, are an elegant and us... 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.
The Open Software Engineering Journal, 2013
The goal of this study is to explore how fault-proneness of open source software (OSS) could be e... more The goal of this study is to explore how fault-proneness of open source software (OSS) could be explained in terms of internal quality attributes and maintenance process metrics. We reviewed earlier studies and performed a multiple case study of eight Java-based projects based on data available in the Source Forge repository. Overall, we studied 342 releases of those systems. As is usual, software quality was regarded as a set of internal and external quality attributes. A total of 76 internal quality attributes were measured from the source code of the selected systems via the tool SoftCalc. Two external quality attributes contributing to fault-proneness were in turn obtained from the Source Forge Issue Tracking System. The framework for assessing the maintenance process was adopted from our previous studies. Its distinguishing feature is that it takes into account the peculiarities of OSS development. We included 23 maintenance process metrics to this study. Relationships between the metrics under study were identified by means of correlation analysis, multiple regression analysis and factor analysis. The obtained results give an interesting insight into interpretation of the earlier results of other researchers, regarding especially their generalizability. The strengths of our study include the following: 1) we studied a greater number of metrics than most of the related studies, 2) we studied a greater number of OSS-systems than most of the studies, and 3) we focused on the fault-proneness of modern Java-based systems and investigated them as an aggregated sample.
Uploads
Papers by Markku Sakkinen