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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Arnaudo, E., Baldoni, M., Boella, G., Genovese, V., Grenna, R.: An implementation of roles as affordances: powerjava (August 31, 2009)
Bachman, C.W.: The programmer as navigator. Commun. ACM 16(11), 635–658 (1973)
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)
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)
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)
Balzer, S., Burns, A., Gross, T.: Objects in context: An empirical study of object relationships. Tech. Rep. 594, ETH Zürich (May 2008)
Balzer, S., Eugster, P., Gross, T.: Relations: Abstracting object collaborations (February 06, 2008)
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)
Barbosa, F.S., Aguiar, A.: Modeling and programming with roles: introducing javastage. Tech. rep., Instituto Politécnico de Castelo Branco (2012)
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)
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)
Bäumer, D., Riehle, D., Siberski, W., Wulf, M.: The role object pattern. In: Washington University Dept. of Computer Science (1998)
Chen, P.: The entity-relationship model - toward a unified view of data. ACM Transactions on Database Systems 1(1), 9–36 (1976)
Czarnecki, K., Osterbye, K., Völter, M.: Generative programming. In: Object-Oriented Technology ECOOP 2002 Workshop Reader, pp. 15–29. Springer (2002)
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)
Dey, A.K.: Understanding and using context. Personal and Ubiquitous Computing 5(1), 4–7 (2001)
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)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Pearson Education (1994)
Genovese, V.: A meta-model for roles: Introducing sessions. In: Roles 2007, p. 27 (2007)
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)
Graversen, K.B.: The nature of roles. Ph.D. thesis, PhD thesis:/Kasper Bilsted Graversen.–Copenhagen, IT University of Copenhagen Copenhagen (2006)
Grue, M.: ScalaDCI (2014), https://github.com/DCI/scaladci (accessed May 24, 2014)
Guarino, N., Carrara, M., Giaretta, P.: An ontology of meta-level categories. In: KR, pp. 270–280 (1994)
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)
Guarino, N., Welty, C.: An overview of ontoclean. In: Handbook on Ontologies, pp. 201–220. Springer (2009)
Guizzardi, G.: Ontological foundations for structure conceptual models. Ph.D. thesis, Centre for Telematics and Information Technology, Enschede, Netherlands (2005)
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)
Guizzardi, G., Wagner, G.: Conceptual simulation modeling with onto-uml. In: Proceedings of the Winter Simulation Conference, p. 5. Winter Simulation Conference (2012)
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)
Halpin, T.: ORM 2. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2005. LNCS, vol. 3762, pp. 676–687. Springer, Heidelberg (2005)
Halpin, T.A.: Object-role modeling (ORM/NIAM). In: Handbook on Architectures of Information Systems, pp. 81–102. Springer (1998)
Harel, D., Rumpe, B.: Modeling languages: Syntax, semantics and all that stuff. Tech. rep., Technische Universität Braunschweig (2004)
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)
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)
Herrmann, S.: Object teams: Improving modularity for crosscutting collaborations. In: Akşit, M., Mezini, M. (eds.) Net. Object Days (October 2002)
Herrmann, S.: Programming with roles in ObjectTeams/Java. Tech. rep., AAAI Fall Symposium (2005)
Herrmann, S.: A precise model for contextual roles: The programming language objectteams/java. Applied Ontology 2(2), 181–207 (2007)
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)
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)
Herrmann, S., Hundt, C., Mehner, K.: Translation polymorphism in object teams. Tech. rep., TU Berlin (2004)
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)
Kamina, T., Tamai, T.: Towards safe and flexible object adaptation. In: International Workshop on Context-Oriented Programming, p. 4. ACM (2009)
Kamina, T., Tamai, T.: A smooth combination of role-based language and context activation. In: FOAL 2010 Proceedings, p. 15 (2010)
Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (FODA). Tech. rep., Software Engineering Institute, Carnegie Mellon University (1990)
Kay, A.C.: The early history of smalltalk. In: HOPL Preprints, pp. 69–95 (1993)
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)
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)
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)
OMG: OMG: Meta Object Facility (MOF) Core Specification. Object Managment Group, 2.4.1 edn. (June 2013), ptc/11-09-13
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
Reenskaug, T., Coplien, J.O.: The DCI architecture: A new vision of object-oriented programming. Artima Developer (2011)
Rumbaugh, J., Jacobson, R., Booch, G.: The Unified Modelling Language Reference Manual, 1st edn. Addison-Wesley (January 1999)
Rumbaugh, J.E.: Relations as semantic constructs in an object-oriented language. In: OOPSLA, pp. 466–481 (1987)
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)
Seidl, C., Schaefer, I., Aßmann, U.: DeltaEcore–a model-based delta language generation framework. In: Modellierung, pp. 81–96 (2014)
Steimann, F.: On the representation of roles in object-oriented and conceptual modelling. Data & Knowledge Engineering 35(1), 83–106 (2000)
Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: eclipse modeling framework. Pearson Education (2008)
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)
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)
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)
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)
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
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)