Abstract
Implementing UML attributes directly in an object-oriented language may not appear to be complex, since such languages already support member variables. The distinction arises when considering the differences between modelling a class and implementing it. In addition to representing attributes, member variables can also represent association ends and internal data including counters, caching, or sharing of local data. Attributes in models also support additional characteristics such as being unique, immutable, or subject to lazy instantiation. In this paper we present modeling characteristics of attributes from first principles and investigate how attributes are handled in several open-source systems. We look code-generation of attributes by various UML tools. Finally, we present our own Umple language along with its code generation patterns for attributes, using Java as the _target language.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Forward, A., Lethbridge, T.C.: Problems and opportunities for model-centric versus code-centric software development: A survey of software professionals. In: International Workshop on Models in Software Engineering, MiSE, pp. 27–32 (2008)
Forward, A., Lethbridge, T.C., Brestovansky, D.: Improving program comprehension by enhancing program constructs: An analysis of the umple language. In: International Conference on Program Comprehension (ICPC), pp. 311–312 (2009)
Umple language online, http://www.try.umple.org (accessed 2013)
Sutton, A., Maletic, J.I.: Recovering UML class models from C++: A detailed explanation. Inf. and SW Tech. 49, 212–229 (2007)
Norton, D.: Open-Source Modeling Tools Maturing, but Need Time to Reach Full Potential, Gartner, Inc., Tech. Rep. G00146580 (April 20, 2007)
Wikipedia Listing of UML modeling tools, http://en.wikipedia.org/wiki/List_of_UML_tools (accessed 2013)
Blechar, M.J.: Magic Quadrant for OOA&D Tools, 2H06 to 1H07, Gartner Inc., Tech. Rep. G00140111 (May 30, 2006)
Harrison, W., Barton, C., Raghavachari, M.: Mapping UML designs to Java. ACM SIGPLAN Notices 35, 178–187 (2000)
Long, Q., Liu, Z., Li, X., Jifeng, H.: Consistent code generation from uml models. In: Australian Software Engineering Conference, pp. 23–30 (2005)
Brisolara, L.B., Oliveira, M.F.S., Redin, R., Lamb, L.C., Carro, L., Wagner, F.: Using UML as front-end for heterogeneous software code generation strategies. In: Design, Automation and Test in Europe, pp. 504–509 (2008)
Xi, C., JianHua, L., ZuCheng, Z., YaoHui, S.: Modeling SystemC design in UML and automatic code generation. In: Conference on Asia South Pacific Design Automation, pp. 932–935 (2005)
Jifeng, H., Liu, Z., Li, X., Qin, S.: A relational model for object-oriented designs. In: Chin, W.-N. (ed.) APLAS 2004. LNCS, vol. 3302, pp. 415–436. Springer, Heidelberg (2004)
Unifying Theories of Programming. Prentice Hall (1998)
Sutton, A., Maletic, J.I.: Recovering UML class models from C++: A detailed explanation. Inf. and SW Tech. 49, 212–229 (2007)
Gueheneuc, Y.: A reverse engineering tool for precise class diagrams. In: CASCON, pp. 28–41. ACM and IBM (2004)
Kollman, R., Selonen, P., Stroulia, E., Systa, T., Zundorf, A.: A study on the current state of the art in tool-supported UML-based static reverse engineering. In: Ninth Working Conference on Reverse Engineering (WCRE 2002), pp. 22–30 (2002)
Lange, C.F.J., Chaudron, M.R.V.: An empirical assessment of completeness in UML designs. In: EASE 2004, pp. 111–121 (2004)
Badreddin, O.: Umple: a model-oriented programming language. In: 2010 ACM/IEEE 32nd International Conference on Software Engineering, vol. 2. IEEE (2010)
Badreddin, O.: Empirical Evaluation of Research Prototypes at Variable Stages of Maturity. In: ICSE Workshop on User Evaluation for Software Engineering Researchers, USER (to appear, 2013)
Badreddin, O., Lethbridge, T.C.: Combining experiments and grounded theory to evaluate a research prototype: Lessons from the umple model-oriented programming technology. In: User Evaluation for Software Engineering Researchers (USER). IEEE (2012)
Badreddin, O., Forward, A., Lethbridge, T.C.: Model oriented programming: an empirical study of comprehension. In: CASCON. ASM and IBM (2012)
Badreddin, O., Lethbridge, T.C., Elassar, M.: Modeling Practices in Open Source Software. In: 9th International Conference on Open Source Systems, OSS 2013 (to appear, 2013)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Badreddin, O., Forward, A., Lethbridge, T.C. (2014). Exploring a Model-Oriented and Executable Syntax for UML Attributes. In: Lee, R. (eds) Software Engineering Research, Management and Applications. Studies in Computational Intelligence, vol 496. Springer, Heidelberg. https://doi.org/10.1007/978-3-319-00948-3_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-00948-3_3
Publisher Name: Springer, Heidelberg
Print ISBN: 978-3-319-00947-6
Online ISBN: 978-3-319-00948-3
eBook Packages: EngineeringEngineering (R0)