Advertisement

A Metamodel Family for Role-Based Modeling and Programming Languages

  • Thomas Kühn
  • Max Leuthäuser
  • Sebastian Götz
  • Christoph Seidl
  • Uwe Aßmann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8706)

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.

Keywords

Feature Model Modeling Language Program Language Software Product Line Instance Level 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arnaudo, E., Baldoni, M., Boella, G., Genovese, V., Grenna, R.: An implementation of roles as affordances: powerjava (August 31, 2009)Google Scholar
  2. 2.
    Bachman, C.W.: The programmer as navigator. Commun. ACM 16(11), 635–658 (1973)CrossRefGoogle Scholar
  3. 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. 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. 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)CrossRefGoogle Scholar
  6. 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. 7.
    Balzer, S., Eugster, P., Gross, T.: Relations: Abstracting object collaborations (February 06, 2008)Google Scholar
  8. 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)CrossRefGoogle Scholar
  9. 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. 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)CrossRefGoogle Scholar
  11. 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)CrossRefGoogle Scholar
  12. 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. 13.
    Chen, P.: The entity-relationship model - toward a unified view of data. ACM Transactions on Database Systems 1(1), 9–36 (1976)CrossRefGoogle Scholar
  14. 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. 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)CrossRefGoogle Scholar
  16. 16.
    Dey, A.K.: Understanding and using context. Personal and Ubiquitous Computing 5(1), 4–7 (2001)CrossRefGoogle Scholar
  17. 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. 18.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Pearson Education (1994)Google Scholar
  19. 19.
    Genovese, V.: A meta-model for roles: Introducing sessions. In: Roles 2007, p. 27 (2007)Google Scholar
  20. 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. 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. 22.
    Grue, M.: ScalaDCI (2014), https://github.com/DCI/scaladci (accessed May 24, 2014)
  23. 23.
    Guarino, N., Carrara, M., Giaretta, P.: An ontology of meta-level categories. In: KR, pp. 270–280 (1994)Google Scholar
  24. 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. 25.
    Guarino, N., Welty, C.: An overview of ontoclean. In: Handbook on Ontologies, pp. 201–220. Springer (2009)Google Scholar
  26. 26.
    Guizzardi, G.: Ontological foundations for structure conceptual models. Ph.D. thesis, Centre for Telematics and Information Technology, Enschede, Netherlands (2005)Google Scholar
  27. 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)CrossRefGoogle Scholar
  28. 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. 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)CrossRefGoogle Scholar
  30. 30.
    Halpin, T.: ORM 2. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2005. LNCS, vol. 3762, pp. 676–687. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  31. 31.
    Halpin, T.A.: Object-role modeling (ORM/NIAM). In: Handbook on Architectures of Information Systems, pp. 81–102. Springer (1998)Google Scholar
  32. 32.
    Harel, D., Rumpe, B.: Modeling languages: Syntax, semantics and all that stuff. Tech. rep., Technische Universität Braunschweig (2004)Google Scholar
  33. 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. 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)CrossRefGoogle Scholar
  35. 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. 36.
    Herrmann, S.: Programming with roles in ObjectTeams/Java. Tech. rep., AAAI Fall Symposium (2005)Google Scholar
  37. 37.
    Herrmann, S.: A precise model for contextual roles: The programming language objectteams/java. Applied Ontology 2(2), 181–207 (2007)Google Scholar
  38. 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. 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. 40.
    Herrmann, S., Hundt, C., Mehner, K.: Translation polymorphism in object teams. Tech. rep., TU Berlin (2004)Google Scholar
  41. 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. 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. 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. 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. 45.
    Kay, A.C.: The early history of smalltalk. In: HOPL Preprints, pp. 69–95 (1993)Google Scholar
  46. 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)CrossRefGoogle Scholar
  47. 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)CrossRefGoogle Scholar
  48. 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. 49.
    OMG: OMG: Meta Object Facility (MOF) Core Specification. Object Managment Group, 2.4.1 edn. (June 2013), ptc/11-09-13Google Scholar
  50. 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. 51.
    Reenskaug, T., Coplien, J.O.: The DCI architecture: A new vision of object-oriented programming. Artima Developer (2011)Google Scholar
  52. 52.
    Rumbaugh, J., Jacobson, R., Booch, G.: The Unified Modelling Language Reference Manual, 1st edn. Addison-Wesley (January 1999)Google Scholar
  53. 53.
    Rumbaugh, J.E.: Relations as semantic constructs in an object-oriented language. In: OOPSLA, pp. 466–481 (1987)Google Scholar
  54. 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. 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. 56.
    Steimann, F.: On the representation of roles in object-oriented and conceptual modelling. Data & Knowledge Engineering 35(1), 83–106 (2000)CrossRefzbMATHGoogle Scholar
  57. 57.
    Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: eclipse modeling framework. Pearson Education (2008)Google Scholar
  58. 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)CrossRefGoogle Scholar
  59. 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. 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)CrossRefGoogle Scholar
  61. 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)CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Thomas Kühn
    • 1
  • Max Leuthäuser
    • 1
  • Sebastian Götz
    • 1
  • Christoph Seidl
    • 1
  • Uwe Aßmann
    • 1
  1. 1.Software Technology GroupTechnische Universität DresdenDresdenGermany

Personalised recommendations