skip to main content
article
Free access

Mapping UML designs to Java

Published: 01 October 2000 Publication History

Abstract

Tools for the generation of code from model descriptions are valuable in helping developers maintain consistency between a model and its implementation. In this paper, we describe a new method for generating Java implementation code from UML diagrams. Our method accepts UML diagrams specified at a higher-level than current tools, and places fewer constraints on the supported UML constructs, like multiple generalizations and association classes. Unlike current tools, it generates implementation code that shields system implementers from the low-level details of how associations and other UML constructs are mapped to Java. Furthermore, it supports the modular design of systems according to concerns[2, 10] by being able to generate code from a set of related UML diagrams. While our discussion is focused on the special problem of generating Java implementation code, the issues discussed in this paper are applicable more generally to object-oriented implementation languages.

References

[1]
Booch, G., J. Rumbaugh, and I. Jacobson, "The Unified Modeling Language User Guide," Addison Wesley (1999).
[2]
Clarke, S., W. Harrison, H. Ossher, and P. Tarr, "Subject-Oriented Design: Towards Improved Alignment of Requirements, Design and Code," Proceedings of the 1999 Conference on Object-Oriented Programming Systems, Languages, and Applications, Denver (November, 1999).
[3]
D'Souza, D., and Wills, A. C., " Objects, Components, and Frameworks with UML ___ The Catalysis Approach," Addison-Wesley (1998).
[4]
Gamma, E., R. Helm, R. Johnson, and J. Vlissides, "Design Patterns Elements of Reusable Object-Oriented Software," Addison Wesley, p. 99ff (1995).
[5]
Harrison, W., and H. Ossher, "Subject-Oriented Programming (a critique of pure objects)," Proceedings of the 1993 Conference on Object-Oriented Programming, Systems, Languages and Applications, Washington, D.C. (October, 1993).
[6]
Harrison, W., H. Ossher, and P. Tarr, "Software Engineering Tools and Environments: A Roadmap," in "Future of Software Engineering," Anthony Finkelstein (Ed.), ACM Press (June, 2000).
[7]
Kiczales, G., J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin, "Aspect-Oriented Programming," Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Finland, Springer-Verlag, LNCS 1241 (June 1997).
[8]
Meyer, B., "Reusable Software: The Base Object-Oriented Component Libraries," Prentice Hall (1994).
[9]
Ossher, H., and Harrison, W. "Support for change in RPDE 3," Proceedings of the Fourth ACM SIGSOFT Symposium on Software Development Environments (December 1990).
[10]
Ossher, H., P. Tarr, W. Harrison, and S. Sutton, "N Degrees of Separation: Multi-Dimension Separation of Concerns," Proceedings of 1999 International Conference on Software Engineering (May 1999).
[11]
Roth, W., " An Introduction To Enterprise Java Beans Technology," Java Developer Connection, http://developer.java.sun.com/developer/technicalArticles/Beans/ IntroEJB/
[12]
Stroustrup, B.J., The Design and Evolution of C++, Addison Wesley, Reading, MA.
[13]
Taylor, R. N., Belz, F. C., Clarke, L.A., Osterweil, L. J., Selby, R. W., Wileden, J. C., Wolf, A. L., and Young, M., "Foundations for the Arcadia Environment Architecture," Proceedings of SIGSOFT'88: Third Symposium on Software Development Environments (November 1988).
[14]
Vlissides, J., " Pattern Hatching --- Design Patterns Applied," Addison-Wesley (1998).
[15]
Wasserman, A. I., Pircher, P. A., Shewmake, D. T., and Kersten, M. L., "Developing Interactive Information Systems with the User Software Engineering Methodology," In IEEE Transactions on Software Engineering, vol. SE-12, no. 2, pp. 326-345 (February 1986).
[16]
___, Aonix, Software through Pictures (MetaEdit+), http://www.metacase.com/meplus30index.html.
[17]
___, Advanced Software Technologies, GDPRO: http://www.advancedsw.com/.
[18]
___,AppBuilder, http://www.devdaily.com/AppBuilder/.
[19]
___, S/390 V2R4.0 C/C++ IBM Open Class Library Reference, Document Number: SC09-2364-02, http://www.redbooks.ibm.com/cgi-bin/bookmgr/BOOKS/CBCOC R03/CCONTENTS.
[20]
___, Reference Model of Open Distributed Processing, ISO/IEC Document 10746,
[21]
___, MessageCentral Home Page, IBM T.J. Watson Research Center, http://www.research.ibm.com/messagecentral/.
[22]
___,No Magic, Magicdraw, http://www.nomagic.com/magicdrawuml/features.htm.
[23]
___,Object International Software, Together/J, http://www.togethersoft.com/together/togetherJ.html.
[24]
___, OMG CORBA Services, Relationship Service, Version 1.0, http://www.omg.org/technology/documents/formal/relationship_ervice.htm.
[25]
___, OMG XMI Revised Submission, cgi.omg.org/cgi-bin/doc?ad/99-10-13
[26]
___, Rational Rose '98, Using Rose, Rational Software Corporation (1998).
[27]
___, Rational Software, Rational Rose, http://www.rational.com/products/rose/index.jtmpl.
[28]
___, Softera, SoftModeler, http://www.softera.com/manual/UserGuide.htm.

Cited By

View all
  • (2023)Fulfilling Industrial Needs for Consistency among Engineering ArtifactsProceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice10.1109/ICSE-SEIP58684.2023.00028(246-257)Online publication date: 17-May-2023
  • (2020)Automatic Code Generation of MVC Web ApplicationsComputers10.3390/computers90300569:3(56)Online publication date: 15-Jul-2020
  • (2019)Exhaustive Simulation and Test Generation Using fUML Activity DiagramsAdvanced Information Systems Engineering10.1007/978-3-030-21290-2_7(96-110)Online publication date: 3-Jun-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 35, Issue 10
Oct. 2000
402 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/354222
Issue’s Table of Contents
  • cover image ACM Conferences
    OOPSLA '00: Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
    October 2000
    402 pages
    ISBN:158113200X
    DOI:10.1145/353171
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 2000
Published in SIGPLAN Volume 35, Issue 10

Check for updates

Author Tags

  1. Java
  2. UML
  3. code generation
  4. design
  5. separation of concerns

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)150
  • Downloads (Last 6 weeks)19
Reflects downloads up to 24 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Fulfilling Industrial Needs for Consistency among Engineering ArtifactsProceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice10.1109/ICSE-SEIP58684.2023.00028(246-257)Online publication date: 17-May-2023
  • (2020)Automatic Code Generation of MVC Web ApplicationsComputers10.3390/computers90300569:3(56)Online publication date: 15-Jul-2020
  • (2019)Exhaustive Simulation and Test Generation Using fUML Activity DiagramsAdvanced Information Systems Engineering10.1007/978-3-030-21290-2_7(96-110)Online publication date: 3-Jun-2019
  • (2016)Automatic code generation using unified modeling language activity and sequence modelsIET Software10.1049/iet-sen.2015.0138Online publication date: 11-Jul-2016
  • (2016)Associations in MDEProceedings of the 12th European Conference on Modelling Foundations and Applications - Volume 976410.1007/978-3-319-42061-5_8(121-137)Online publication date: 6-Jul-2016
  • (2015)Foundational UML Behavioral Specification with JavaProcedia Computer Science10.1016/j.procs.2015.01.00346(941-948)Online publication date: 2015
  • (2014)JUMP—From Java Annotations to UML ProfilesModel-Driven Engineering Languages and Systems10.1007/978-3-319-11653-2_34(552-568)Online publication date: 2014
  • (2014)Exploring a Model-Oriented and Executable Syntax for UML AttributesSoftware Engineering Research, Management and Applications10.1007/978-3-319-00948-3_3(33-53)Online publication date: 2014
  • (2012)Towards an ontology-based retrieval of UML Class DiagramsInformation and Software Technology10.1016/j.infsof.2011.07.00354:1(72-86)Online publication date: 1-Jan-2012
  • (2011)Generating Code for Associations Supporting Operations on Multiple InstancesEvaluation of Novel Approaches to Software Engineering10.1007/978-3-642-23391-3_12(163-177)Online publication date: 2011
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media