[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1028976.1029002acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Recovering binary class relationships: putting icing on the UML cake

Published: 01 October 2004 Publication History

Abstract

A discontinuity exists between object-oriented modeling and programming languages. This discontinuity arises from ambiguous concepts in modeling languages and a lack of corresponding concepts in programming languages. It is particularly acute for binary class relationships---association, aggregation, and composition. It hinders the traceability between software implementation and design, thus hampering software analysis. We propose consensual definitions of the binary class relationships with four minimal properties---exclusivity, invocation site, lifetime, and multiplicity. We describe algorithms to detect automatically these properties in source code and apply these on several frameworks. Thus, we bridge the gap between implementation and design for the binary class relationships, easing software analysis.

References

[1]
Martín Abadi and Luca Cardelli. A Theory of Objects. Monographs in Computer Science. Springer-Verlag, second edition, 1998.
[2]
Hervé Albin-Amiot, Pierre Cointe, Yann-Gaël Guéhéneuc, and Narendra Jussien. Instantiating and detecting design patterns: Putting bits and pieces together. In Debra Richardson, Martin Feather, and Michael Goedicke, editors, proceedings of the 16th conference on Automated Software Engineering, pages 166--173. IEEE Computer Society Press, November 2001.
[3]
Hervé Albin-Amiot and Yann-Gaël Guéhéneuc. Meta-modeling design patterns: Application to pattern detection and code synthesis. In Bedir Tekinerdogan, Pim Van Den Broek, Motoshi Saeki, Pavel Hruby, and Gerson Sunyé, editors, proceedings of the 1st ECOOP workshop on Automating Object-Oriented Software Development Methods. Centre for Telematics and Information Technology, University of Twente, October 2001. TR-CTIT-01-35.
[4]
Pascal André, Annya Romanczuk, Jean-Claude Royer, and Aline Vasconcelos. An algebraic view of UML class diagrams. In Christophe Dony and Houari Sahraoui, editors, proceedings of the 6th colloquium on Languages and Models with Objects, pages 261--276. Hermès Science Publications, January 2000.
[5]
Gilles Ardourel and Marriane Huchard. AGATE: Access Graph bAsed Tools for handling Encapsulation. In proceedings of the 16th conference on Automated Software Engineering, pages 311--314. IEEE Computer Society Press, November 2001. Short paper.
[6]
Boris Bezier. Software Testing Techniques. Van Nostrand Rheinhold Company, New York, 1990.
[7]
Juan C. Bicarregui, Kevin C. Lano, and Tom S. E. Maibuam. Objects, associations and subsystems: A hierarchical approach to encapsulation. In Mehmet Aksit and Satoshi Matsuoka, editors, proceedings of 11th European Conference on Object-Oriented Programming, pages 324--343. Springer-Verlag, June 1997.
[8]
Edwin Blake and Steve Cook. On including part hierarchies in object-oriented languages, with an implementation in Smalltalk. In Jean Bézivin, Jean-Marie Hullot, Pierre Cointe, and Henry Lieberman, editors, proceedings of the 1st European Conference on Object-Oriented Programming, pages 41--50. Springer-Verlag, June 1987.
[9]
Grady Booch. Object-Oriented Design with Applications. The Benjamin/Cummings Publishing Company, Inc., 2nd edition, September 1993.
[10]
Ruth Breu, Ursula Hinkel, Christoph Hofmann, Cornel Klein, Barbara Paech, Bernhard Rumpe, and Veronika Thurner. Towards a formalization of the unifed modeling language. In Mehmet Aksit and Satoshi Matsuoka, editors, proceedings of the 11th European Conference for Object-Oriented Programming, pages 344--366. Springer-Verlag, June 1997.
[11]
Jean-Michel Bruel, Brian Henderson-Sellers, Franck Barbier, Annig Le Parc, and Robert B. France. Improving the UML metamodel to rigorously specify aggregation and composition. In Shushma Patel, Yingxu Wang, and Ronald H. Johnston, editors, proceedings of the 7th international conference on Object-Oriented Information Systems, pages 5--14. Springer-Verlag, August 2001.
[12]
M. Ajmal Chaumun, Hind Kabaili, Rudolf K. Keller, François Lustman, and Guy Saint-Denis. Design properties and object-oriented software changeability. In Jürgen Ebert and Chris Verhoef, editors, proceedings of the 4th Conference on Software Maintenance and Reengineering, pages 45--54. IEEE Computer Society Press, February 2000.
[13]
Shyam R. Chidamber and Chris F. Kemerer. A metrics suite for object-oriented design. Technical Report E53-315, MIT Sloan School of Management, December 1993.
[14]
Franco Civello. Roles for composite objects in object-oriented analysis and design. In Andreas Paepcke, editor, proceedings of the 8th conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 376--393. ACM Press, September 1993.
[15]
Lori A. Clarke, Andy Podgurski, Debra J. Richardson, and Steven J. Zeil. A formal evaluation of data flow path selection criteria. IEEE Transaction on Software Engineering, 15(11):1318--1332, November 1989.
[16]
Stéphane Ducasse, Mireille Blay-Fornarino, and Anne-Marie Pinna-Dery. A reflective model for first class dependencies. In Frank Manola, editor, proceedings of 10th conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 265--280. ACM Press, October 1995.
[17]
Erich Gamma and Kent Beck. Test infected: Programmers love writing tests. Java Report, 3(7):37--50, July 1998.
[18]
Erich Gamma and Thomas Eggenschwiler. JHotDraw. Web site, 1998.
[19]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns -- Elements of Reusable Object-Oriented Software. Addison-Wesley, 1st edition, 1994.
[20]
Yann-Gaël Guéhéneuc and Hervé Albin-Amiot. Using design patterns and constraints to automate the detection and correction of inter-class design defects. In Quioyun Li, Richard Riehle, Gilda Pour, and Bertrand Meyer, editors, proceedings of the 39th conference on the Technology of Object-Oriented Languages and Systems, pages 296--305. IEEE Computer Society Press, July 2001.
[21]
Yann-Gaël Guéhéneuc, Hervé Albin-Amiot, Rémi Douence, and Pierre Cointe. Bridging the gap between modeling and programming languages. Technical Report 02/09/INFO, Computer Science Department, école des Mines de Nantes, July 2002.
[22]
Yann-Gaël Guéhéneuc, Rémi Douence, and Narendra Jussien. No Java without Caffeine -- A tool for dynamic analysis of Java programs. In Wolfgang Emmerich and Dave Wile, editors, proceedings of the 17th conference on Automated Software Engineering, pages 117--126. IEEE Computer Society Press, September 2002.
[23]
William Harrison, Charles Barton, and Mukund Raghavachari. Mapping UML designs to Java. In Doug Lea, editor, proceedings of the 15th conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 178--188. ACM Press, October 2000.
[24]
Thorsten Hartmann, Ralf Jungclaus, and Gunter Saake. Aggregation in a behavior oriented object model. In Ole Lehrmann Madsen, editor, proceedings of 6th European Conference for Object-Oriented Programming, pages 57--77. Springer-Verlag, June--July 1992.
[25]
Brian Henderson-Sellers. Some problems with the UML v1.3 metamodel. In Ralph H. Sprague Jr., editor, proceedings of the 34th annual Hawaii International Conference on System Sciences, pages 3052--3064. IEEE Computer Society Press, January 2001.
[26]
Brian Henderson-Sellers and Franck Barbier. A survey of the UML's aggregation and composition relationships. L'objet : Logiciel, Base de données, Réseaux, 5(3/4):339--366, December 1999.
[27]
Daniel Jackson and Allison Waingold. Lightweight extraction of object models from bytecode. In David Garlan and Jeff Kramer, editors, proceedings of the 21st International Conference on Software Engineering, pages 194--202. ACM Press, May 1999.
[28]
Ralf Kollmann and Martin Gogolla. Application of UML associations and their adornments in design recovery. In Elizabeth Burd and Peter Aiken, editors, proceedings of the 8th Working Conference on Reverse Engineering, pages 81--91. IEEE Computer Society Press, October 2001.
[29]
Christian Krämer and Lutz Prechelt. Design recovery by automated search for structural design patterns in object-oriented software. In Linda M. Wills and Ira Baxter, editors, proceedings of the 3rd Working Conference on Reverse Engineering, pages 208--215. IEEE Computer Society Press, November 1996.
[30]
Bent Bruun Kristensen. Complex associations: Abstractions in object-oriented modeling. In J. Eliot B. Moss, editor, proceedings of the 9th conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 272--283. ACM Press, October 1994.
[31]
Esperanza Marcos, Belen Vela, José M. Cavero, and Paloma Cáceres. Aggregation and composition in object-Relational database design. In Albertas Caplinskas and Johann Eder, editors, proceedings of the 5th east-european conference on Advances in Databases and Information Systems, pages 195--209. Springer-Verlag, September 2001.
[32]
James Noble and John Grundy. Explicit relationships in object-oriented development. In Bertrand Meyer, editor, proceedings of the 18th conference on the Technology of Object-Oriented Languages and Systems, pages 211--226. Prentice-Hall, November 1995.
[33]
James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, and William Lorenson. Object-Oriented Modeling and Design. Prentice Hall, Inc., 1st edition, October 1991.
[34]
Monika Saksena, Robert B. France, and Maria M. Larrondo-Petrie. A characterization of aggregation. In Colette Rolland, editor, proceedings of the 5th international conference on Object-Oriented Information Systems, pages 363--372. Springer-Verlag, September 1998.
[35]
Pamela Samuelson. Reverse engineering under siege. Communications of the ACM, 45(10):15--20, October 2002.
[36]
Elliot Soloway, Jeannine Pinto, Stanley Letovsky, David Littman, and Robin Lampert. Designing documentation to compensate for delocalized plans. Communication of the ACM, 31(11):1259--1267, November 1988.
[37]
Sun Microsystems, Inc. Java Abstract Window Toolkit, May 2000.

Cited By

View all
  • (2016)Evaluating the impact of design pattern and anti-pattern dependencies on changes and faultsEmpirical Software Engineering10.1007/s10664-015-9361-021:3(896-931)Online publication date: 1-Jun-2016
  • (2014)Domain matters: bringing further evidence of the relationships among anti-patterns, application domains, and quality-related metrics in Java mobile appsProceedings of the 22nd International Conference on Program Comprehension10.1145/2597008.2597144(232-243)Online publication date: 2-Jun-2014
  • (2013)An Approach to Testing Java Implementation against Its UML Class ModelProceedings of the 16th International Conference on Model-Driven Engineering Languages and Systems - Volume 810710.5555/2945964.2946010(220-236)Online publication date: 29-Sep-2013
  • Show More Cited By

Recommendations

Reviews

Raghvinder S Sangwan

Verdickt et al. discuss a model transformation framework based on generic middleware, which can be semi-automatically mapped into more concrete middleware using a transformation algorithm. The transformed model can then be used to acquire the performance models. The performance models can then be used to evaluate the performance requirements of a system. To show the applicability of their work, the authors conducted a case study using an online store that utilizes common object request broker architecture (CORBA) middleware. The main contributions of this work revolve around the performance-engineering framework, consisting of two transformations: the transformation of unified modeling language (UML)-independent middleware to UML-dependent middleware (a model-driven architecture/platform-specific model (MDA/PSM)), and the transformation of MDA/PSM to a layered queueing network (LQN) to evaluate the performance requirements of distributed object-oriented software systems. The main benefit of this approach is that it reuses existing facilities and tools offered by both UML/MDA and LQN. The main liabilities of this work include the need for two levels of mapping, and dependence on the expert, as the approach is not fully automated yet. Moreover, to generalize from the results of this work, additional case studies are needed. The paper is well written and well organized. I recommend it to software architects. The paper would also be a great reference for students interested in architectural trade-off and performance analysis. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
October 2004
462 pages
ISBN:1581138318
DOI:10.1145/1028976
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 39, Issue 10
    OOPSLA '04
    October 2004
    448 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1035292
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. UML
  2. binary class relationships
  3. consensual definitions
  4. design-implementation discontinuity
  5. detection algorithms
  6. formalisations
  7. java
  8. minimal properties

Qualifiers

  • Article

Conference

OOPSLA04

Acceptance Rates

Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)27
  • Downloads (Last 6 weeks)8
Reflects downloads up to 23 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Evaluating the impact of design pattern and anti-pattern dependencies on changes and faultsEmpirical Software Engineering10.1007/s10664-015-9361-021:3(896-931)Online publication date: 1-Jun-2016
  • (2014)Domain matters: bringing further evidence of the relationships among anti-patterns, application domains, and quality-related metrics in Java mobile appsProceedings of the 22nd International Conference on Program Comprehension10.1145/2597008.2597144(232-243)Online publication date: 2-Jun-2014
  • (2013)An Approach to Testing Java Implementation against Its UML Class ModelProceedings of the 16th International Conference on Model-Driven Engineering Languages and Systems - Volume 810710.5555/2945964.2946010(220-236)Online publication date: 29-Sep-2013
  • (2013)Mining the relationship between anti-patterns dependencies and fault-proneness2013 20th Working Conference on Reverse Engineering (WCRE)10.1109/WCRE.2013.6671310(351-360)Online publication date: Oct-2013
  • (2013)An Approach to Testing Java Implementation against Its UML Class ModelModel-Driven Engineering Languages and Systems10.1007/978-3-642-41533-3_14(220-236)Online publication date: 2013
  • (2013)MapIt: A Model Based Pattern Recovery ToolModel-Based Methodologies for Pervasive and Embedded Software10.1007/978-3-642-38209-3_2(19-37)Online publication date: 2013
  • (2012)Formalization of UML Composition in OCLProceedings of the 2012 IEEE/ACIS 11th International Conference on Computer and Information Science10.1109/ICIS.2012.53(675-680)Online publication date: 30-May-2012
  • (2010)Iterative class diagram construction in consideration of modeling granularity2010 Fourth International Conference on Research Challenges in Information Science (RCIS)10.1109/RCIS.2010.5507369(101-108)Online publication date: May-2010
  • (2010)Identification of design motifs with pattern matching algorithmsInformation and Software Technology10.1016/j.infsof.2009.08.00652:2(152-168)Online publication date: 1-Feb-2010
  • (2009)An approach to detection of UML-based ownership violationProceedings of the 2009 ACM symposium on Applied Computing10.1145/1529282.1529396(541-542)Online publication date: 8-Mar-2009
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media