Skip to main content

A Metamodel Family for Role-Based Modeling and Programming Languages

  • Conference paper
Software Language Engineering (SLE 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8706))

Included in the following conference series:

Abstract

Role-based modeling has been proposed almost 40 years ago as a means to model complex and dynamic domains, because roles are able to capture both context-dependent and collaborative behavior of objects. Unfortunately, while several researchers have introduced the notion of roles to modeling and programming languages, only few have captured both the relational and the context-dependent nature of roles. In this work, we classify various proposals since 2000 and show the discontinuity and fragmentation of the whole research field. To overcome discontinuity, we propose a family of metamodels for role-based modeling languages. Each family member corresponds to a design decision captured in a feature model. In this way, it becomes feasible to generate a metamodel for each role-based approach. This allows for the combination and improvement of the different role-based modeling and programming languages and paves the way to reconcile the research field.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arnaudo, E., Baldoni, M., Boella, G., Genovese, V., Grenna, R.: An implementation of roles as affordances: powerjava (August 31, 2009)

    Google Scholar 

  2. Bachman, C.W.: The programmer as navigator. Commun. ACM 16(11), 635–658 (1973)

    Article  Google Scholar 

  3. Baldoni, M., Boella, G., van der Torre, L.: Powerjava: ontologically founded roles in object oriented programming languages. In: Haddad, H. (ed.) SAC, pp. 1414–1418. ACM (2006)

    Google Scholar 

  4. Baldoni, M., Boella, G., Van Der Torre, L.: Powerjava: ontologically founded roles in object oriented programming languages. In: Proceedings of the 2006 ACM Symposium on Applied Computing, pp. 1414–1418. ACM (2006)

    Google Scholar 

  5. Baldoni, M., Boella, G., van der Torre, L.: Roles as a coordination construct: Introducing powerjava. Electr. Notes Theor. Comput. Sci. 150(1), 9–29 (2006)

    Article  Google Scholar 

  6. Balzer, S., Burns, A., Gross, T.: Objects in context: An empirical study of object relationships. Tech. Rep. 594, ETH Zürich (May 2008)

    Google Scholar 

  7. Balzer, S., Eugster, P., Gross, T.: Relations: Abstracting object collaborations (February 06, 2008)

    Google Scholar 

  8. Balzer, S., Gross, T., Eugster, P.: A relational model of object collaborations and its use in reasoning about relationships. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 323–346. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  9. Barbosa, F.S., Aguiar, A.: Modeling and programming with roles: introducing javastage. Tech. rep., Instituto Politécnico de Castelo Branco (2012)

    Google Scholar 

  10. Bierman, G., Wren, A.: First-class relationships in an object-oriented language. In: Gao, X.-X. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 262–286. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  11. Boella, G., Van Der Torre, L.: The ontological properties of social roles in multi-agent systems: Definitional dependence, powers and roles playing roles. Artificial Intelligence and Law 15(3), 201–221 (2007)

    Article  Google Scholar 

  12. Bäumer, D., Riehle, D., Siberski, W., Wulf, M.: The role object pattern. In: Washington University Dept. of Computer Science (1998)

    Google Scholar 

  13. Chen, P.: The entity-relationship model - toward a unified view of data. ACM Transactions on Database Systems 1(1), 9–36 (1976)

    Article  Google Scholar 

  14. Czarnecki, K., Osterbye, K., Völter, M.: Generative programming. In: Object-Oriented Technology ECOOP 2002 Workshop Reader, pp. 15–29. Springer (2002)

    Google Scholar 

  15. Dahchour, M., Pirotte, A., Zimányi, E.: A generic role model for dynamic objects. In: Pidduck, A.B., Mylopoulos, J., Woo, C.C., Ozsu, M.T. (eds.) CAiSE 2002. LNCS, vol. 2348, pp. 643–658. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  16. Dey, A.K.: Understanding and using context. Personal and Ubiquitous Computing 5(1), 4–7 (2001)

    Article  Google Scholar 

  17. Ferraiolo, D., Cugini, J., Kuhn, D.R.: Role-based access control (rbac): Features and motivations. In: Proceedings of 11th Annual Computer Security Application Conference, pp. 241–248 (1995)

    Google Scholar 

  18. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Pearson Education (1994)

    Google Scholar 

  19. Genovese, V.: A meta-model for roles: Introducing sessions. In: Roles 2007, p. 27 (2007)

    Google Scholar 

  20. Graversen, K.B., Østerbye, K.: Implementation of a role language for object-specific dynamic separation of concerns. In: AOSD 2003 Workshop on Software-Engineering Properties of Languages for Aspect Technologies (2003)

    Google Scholar 

  21. Graversen, K.B.: The nature of roles. Ph.D. thesis, PhD thesis:/Kasper Bilsted Graversen.–Copenhagen, IT University of Copenhagen Copenhagen (2006)

    Google Scholar 

  22. Grue, M.: ScalaDCI (2014), https://github.com/DCI/scaladci (accessed May 24, 2014)

  23. Guarino, N., Carrara, M., Giaretta, P.: An ontology of meta-level categories. In: KR, pp. 270–280 (1994)

    Google Scholar 

  24. Guarino, N., Welty, C.: A formal ontology of properties. In: Dieng, R., Corby, O. (eds.) EKAW 2000. LNCS (LNAI), vol. 1937, pp. 97–112. Springer, Heidelberg (2000)

    Google Scholar 

  25. Guarino, N., Welty, C.: An overview of ontoclean. In: Handbook on Ontologies, pp. 201–220. Springer (2009)

    Google Scholar 

  26. Guizzardi, G.: Ontological foundations for structure conceptual models. Ph.D. thesis, Centre for Telematics and Information Technology, Enschede, Netherlands (2005)

    Google Scholar 

  27. Guizzardi, G., Wagner, G.: Towards ontological foundations for agent modelling concepts using the unified fundational ontology (UFO). In: Bresciani, P., Giorgini, P., Henderson-Sellers, B., Low, G., Winikoff, M. (eds.) AOIS 2004. LNCS (LNAI), vol. 3508, pp. 110–124. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  28. Guizzardi, G., Wagner, G.: Conceptual simulation modeling with onto-uml. In: Proceedings of the Winter Simulation Conference, p. 5. Winter Simulation Conference (2012)

    Google Scholar 

  29. Guizzardi, G., Wagner, G., Guarino, N., van Sinderen, M.: An ontologically well-founded profile for UML conceptual models. In: Persson, A., Stirna, J. (eds.) CAiSE 2004. LNCS, vol. 3084, pp. 112–126. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  30. Halpin, T.: ORM 2. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2005. LNCS, vol. 3762, pp. 676–687. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  31. Halpin, T.A.: Object-role modeling (ORM/NIAM). In: Handbook on Architectures of Information Systems, pp. 81–102. Springer (1998)

    Google Scholar 

  32. Harel, D., Rumpe, B.: Modeling languages: Syntax, semantics and all that stuff. Tech. rep., Technische Universität Braunschweig (2004)

    Google Scholar 

  33. He, C., Nie, Z., Li, B., Cao, L., He, K.: Rava: Designing a java extension with dynamic object roles. In: 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems, ECBS 2006, p. 7. IEEE (2006)

    Google Scholar 

  34. Hennicker, R., Klarl, A.: Foundations for ensemble modeling – the helena approach. In: Iida, S., Meseguer, J., Ogata, K. (eds.) Specification, Algebra, and Software. LNCS, vol. 8373, pp. 359–381. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  35. Herrmann, S.: Object teams: Improving modularity for crosscutting collaborations. In: Akşit, M., Mezini, M. (eds.) Net. Object Days (October 2002)

    Google Scholar 

  36. Herrmann, S.: Programming with roles in ObjectTeams/Java. Tech. rep., AAAI Fall Symposium (2005)

    Google Scholar 

  37. Herrmann, S.: A precise model for contextual roles: The programming language objectteams/java. Applied Ontology 2(2), 181–207 (2007)

    Google Scholar 

  38. Herrmann, S.: Demystifying object schizophrenia. In: Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance, MASPEGHI 2010, pp. 2:1–2:5. ACM, New York (2010)

    Google Scholar 

  39. Herrmann, S., Hundt, C.: Objectteams/java language definition (otjld) version 1.3.1 (May 2013), http://www.objectteams.org/def/1.3.1 (accessed May 28, 2014)

  40. Herrmann, S., Hundt, C., Mehner, K.: Translation polymorphism in object teams. Tech. rep., TU Berlin (2004)

    Google Scholar 

  41. Hu, J., Liu, M.: Modeling context-dependent information. In: Proceedings of the 18th ACM Conference on Information and Knowledge Management, pp. 1669–1672. ACM (2009)

    Google Scholar 

  42. Kamina, T., Tamai, T.: Towards safe and flexible object adaptation. In: International Workshop on Context-Oriented Programming, p. 4. ACM (2009)

    Google Scholar 

  43. Kamina, T., Tamai, T.: A smooth combination of role-based language and context activation. In: FOAL 2010 Proceedings, p. 15 (2010)

    Google Scholar 

  44. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (FODA). Tech. rep., Software Engineering Institute, Carnegie Mellon University (1990)

    Google Scholar 

  45. Kay, A.C.: The early history of smalltalk. In: HOPL Preprints, pp. 69–95 (1993)

    Google Scholar 

  46. Liu, M., Hu, J.: Information networking model. In: Laender, A.H.F., Castano, S., Dayal, U., Casati, F., de Oliveira, J.P.M. (eds.) ER 2009. LNCS, vol. 5829, pp. 131–144. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  47. Liu, M., Hu, J.: Modeling complex relationships. In: Bhowmick, S.S., Küng, J., Wagner, R. (eds.) DEXA 2009. LNCS, vol. 5690, pp. 719–726. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  48. Masolo, C., Guizzardi, G., Vieu, L., Bottazzi, E., Ferrario, R.: Relational roles and qua-individuals. In: AAAI Fall Symposium on Roles, an Interdisciplinary Perspective, pp. 103–112 (2005)

    Google Scholar 

  49. OMG: OMG: Meta Object Facility (MOF) Core Specification. Object Managment Group, 2.4.1 edn. (June 2013), ptc/11-09-13

    Google Scholar 

  50. Reenskaug, T., Coplien, J.O.: The dci architecture: A new vision of object-oriented programming. An article starting a new blog(14pp) (2009), http://www.artima.com/articles/dci_vision.html

  51. Reenskaug, T., Coplien, J.O.: The DCI architecture: A new vision of object-oriented programming. Artima Developer (2011)

    Google Scholar 

  52. Rumbaugh, J., Jacobson, R., Booch, G.: The Unified Modelling Language Reference Manual, 1st edn. Addison-Wesley (January 1999)

    Google Scholar 

  53. Rumbaugh, J.E.: Relations as semantic constructs in an object-oriented language. In: OOPSLA, pp. 466–481 (1987)

    Google Scholar 

  54. Monpratarnchai, S., Tetsuo, T.: The design and implementation of a role model based language, EpsilonJ. In: Proceedings of the 5th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON 2008) (2008)

    Google Scholar 

  55. Seidl, C., Schaefer, I., Aßmann, U.: DeltaEcore–a model-based delta language generation framework. In: Modellierung, pp. 81–96 (2014)

    Google Scholar 

  56. Steimann, F.: On the representation of roles in object-oriented and conceptual modelling. Data & Knowledge Engineering 35(1), 83–106 (2000)

    Article  MATH  Google Scholar 

  57. Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: eclipse modeling framework. Pearson Education (2008)

    Google Scholar 

  58. Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: Featureide: An extensible framework for feature-oriented software development. Science of Computer Programming 79, 70–85 (2014)

    Article  Google Scholar 

  59. Wielenga, G.: On powerjava: ”roles” instead of ”objects” (January 2013), https://blogs.oracle.com/geertjan/entry/on_powerjava_roles_instead_of (accessed May 28, 2014)

  60. Zhu, H., Zhou, M.: Role-based collaboration and its kernel mechanisms. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews 36(4), 578–589 (2006)

    Article  Google Scholar 

  61. Zhu, H., Zhou, M.: Roles in information systems: A survey. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews 38(3), 377–396 (2008)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Kühn, T., Leuthäuser, M., Götz, S., Seidl, C., Aßmann, U. (2014). A Metamodel Family for Role-Based Modeling and Programming Languages. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds) Software Language Engineering. SLE 2014. Lecture Notes in Computer Science, vol 8706. Springer, Cham. https://doi.org/10.1007/978-3-319-11245-9_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-11245-9_8

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-11244-2

  • Online ISBN: 978-3-319-11245-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics