Abstract
User models (UMs) allow systems to provide personalized services to their users. Nowadays, UMs are developed ad-hoc, as part of specific applications, thus requiring repetitive development efforts. In this paper, we propose the info-bead user modeling approach, which is based on ideas taken from software engineering in general and component-based software development in particular. The basic standalone unit, the info-bead, represents a single user attribute within time-tagged information-items. An info-bead encapsulates an inference process that uses data received from sensors or other info-beads and yields an information-item value. Having standard interfaces, info-beads can be linked, thus creating info-pendants. Both info-beads and info-pendants can be assembled as needed into complex and abstract user models (UMs) and group models (GMs). The goal of the suggested approach is to ease the modeling process and to allow reuse of info beads developed for one UM in other UMs that need the same information. In order to assess the reusability and collaboration capabilities of the info-bead user modeling approach, we developed a prototype tool that enables UM designers, who are not necessarily software developers, to easily select and integrate info-beads for constructing UMs and GMs. We further demonstrated the use of the approach in a museum environment, for modeling of assistive technology ontology and for user modeling in various specific domains. Finally, we analyzed and assessed the characteristics of the approach with respect to existing generic user modeling criteria.
Similar content being viewed by others
Notes
LDAP stands for Lightweight Directory Access Protocol, which allows accessing and maintaining distributed directory information services using an Internet protocol (Kobsa and Fink 2006).
http://docs.oracle.com/javase/tutorial/javabeans/. Accessed June 2013.
http://cobra-language.com/docs/hello-world/. Accessed June 2013.
http://www.corba.org/. Accessed June 2013.
http://www.microsoft.com/com/default.mspx. Accessed June 2013.
http://www.microsoft.com/en-us/download/details.aspx?id=839. Accessed June 2013.
http://www.microsoft.com/com/default.mspx. Accessed June 2013.
http://msdn.microsoft.com/en-us/library/aa480405.aspx. Accessed June 2013.
https://www.ibm.com/developerworks/webservices/library/co-cjct6/. Accessed June 2013.
http://www.microsoft.com/net. Accessed June 2013
http://www.cs.toronto.edu/~jm/340S/PDF2/OODBDes2.pdf. Accessed June 2013.
SIG—Software Improvement Group.
Currently the tool does not support the search and retrieval of relevant info-beads. In the future, we intend to enhance the tool with retrieval functions, using the info-beads metadata.
http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html. Accessed December 27th 2013.
http://mushecht.haifa.ac.il/Default_eng.aspx. Accessed June 2013.
http://www.cri.haifa.ac.il/connections/pil/. Accessed June 2013.
https://code.google.com/p/jung/wiki/Manual. Accessed December 30th, 2013.
http://en.wikipedia.org/wiki/Turing-computable_function. Accessed December 30th, 2013.
References
Abel, F., Henze, N., Herder, E., Krause, D.: Interweaving Public User Profiles on the Web. User Modeling, Adaptation, and Personalization, 18th International Conference, UMAP 2010, 6075, pp. 16–27. Springer, Berlin (2010)
Abel, F., Herder, E., Houben, G.J., Henze, N., Krause, D.: Cross-system user modeling and personalization on the social web. User Model. User Adapt. Interact. 23(2–3), 169–209 (2013)
Anguswamy, R.: Study of Factors Affecting the Design and Use of Reusable Components. Software Reuse Lab, Virginia Tech., (2013), (Link, Accessed May 2014)
Arbab, F., Herman, I., Spilling, P.: An overview of manifold and its implementation. Concurrency 5(1), 23–70 (1993)
Assad, M., Carmichael, D.J., Kay, J., Kummerfeld, B.: PersonisAD: distributed, active, scrutable model framework for context-aware services. In: Pervasive Computing 2007, pp. 55–72. Springer, Berlin (2007a)
Assad, M., Carmichael, D., Kay, J., Kummerfeld, B.: Giving users control over location privacy. In: Workshop on Ubicomp Privacy, Technologies, Users, Policy, September 16th (2007b)
Baldauf, M., Dustdar, S., Rosenberg, F.: A survey on context-aware system. Int. J. Ad-hoc Ubiquitous Comput. 2(4), 263–277 (2007)
Bauer, V: Facts and fallacies of reuse in practice. In: 17th European Conference on Software Maintenance and Reengineering (CSMR), pp. 431–434. IEEE (2013)
Bayardo, Jr, R.J., Bohrer, W., Brice, R., Cichocki, A., Fowler, J., Helal, A., Kashyap, V., Ksiezyk, T., Martin, G., Nodine, M., Rashid, M., Rusinkiewicz, M., Shea, R., Unnikrishnan, C., Unruh, A., Woelk, D.: InfoSleuth: agent-based semantic integration of information in open and dynamic environments. ACM SIGMOD Record, 26(2), 195–206, ACM (1997)
Berkovsky, S., Kuflik, T., Ricci, F.: Mediation of user models for enhanced personalization in recommender systems. User Model. User Adapt. Interact. 18(3), 245–286 (2008)
Billsus, D., Pazzani, M.: A hybrid user model for news story classification. In: User Modeling: Proceedings of the Seventh International Conference (UM99), pp. 98–108. Banff (1999)
Bleiholder, J., Naumann, F.: Data fusion. ACM Comput. Surv. 41(1), 1–41 (2008)
Brajnik, G., Tasso, C.: A shell for developing non-monotonic user modeling systems. Int. J. Hum. Comput. Stud. 40, 31–62 (1994). doi:10.1006/ijhc.1994.1003
Brusilovsky, P., Sosnovsky, S., Shcherbinina, O.: User modeling in a distributed E-learning architecture. In: Ardissono, L., Brna, P., Mitrovic, A. (eds.) Proceedings of 10th International User Modeling Conference, pp. 387–391. Springer, Berlin (2005)
Brusilovsky, P., Millán, E.: User models for adaptive hypermedia and adaptive educational systems. In: Brusilovsky, P., Kobsa, A., Nejdl, W. (eds.) The Adaptive Web: Methods and Strategies for Web Personalization, LNCS 4321, pp. 3–53. Springer, Berlin Hidelberg (2007)
Burke, R.: Hybrid Web Recommender Systems. In: Brusilovsky, P., Kobsa, A., Nejdl, W. (eds.): The Adaptive Web: Methods and Strategies for Web Personalization, LNCS 4321, pp. 377-408. Springer, Berlin (2007)
Caglayan, A., Snorrason, M., Jacoby, J., Mazzu, J., Jones, R., Kumar, K.: Learn sesame: a learning agent engine. Appl. Artif. Intell. 11, 393–412 (1997)
Carmagnola, F., Cena, F., Gena, C.: User model interoperability: a survey. User Model. User Adapt. Interact. 21(3), 285–331 (2011)
Cena, F., Furnari, R.: A model for feature-based user model interoperability on the web. In: Kuflik, T., Berkovsky, S., Carmagnola, F., Heckmann, D., Krüger, A. (eds.) Advances in Ubiquitous User Modeling, LNCS 5830, 37–54. Springer, Berlin (2009)
Cernuzzi, L., Rossi, G.: On the evaluation of agent oriented modeling methods. In: Proceedings of OOPSLA 2002, Agent Oriented Methodology Workshop, Seattle, vol. 29, pp. 21–31 (2002)
Chen, G. Chen, L.: Augmenting service recommender systems by incorporating contextual opinions from user reviews. User Model. User Adapt. Interact. 25(3) (2015)
Christopoulou, E., Kameas, A.: GAS ontology: an ontology for collaboration among ubiquitous computing devices. Int. J. Hum. Comput. Stud. 62(5), 664–685 (2005)
Clements, P., Northrop, L.: Software Product Lines. Addison-Wesley, Boston (2002)
Danial-Saad, A., Kuflik, T., Weiss, P.L., Schreuer, N.: Building an ontology for assistive technology using the Delphi method. Disabil. Rehabil. 8(4), 275–286 (2013)
Danial-Saad, A.: A Knowledge-based methodology for prescription of assistive technology to people with disabilities. A PhD thesis at Faculty of Social Welfare and Health Sciences; Faculty of Social Sciences. Department of Occupational Therapy and Department of Management Information Systems, The University of Haifa, submitted (2013)
De Almeida, E.S., Alvaro, A., Lucredio, D., Garcia, V.C., de Lemos Meira, S.R. : A survey on software reuse processes. In: IRI -2005 IEEE International Conference on Information Reuse and Integration, pp. 66–71 (2005)
De Bra, P., Smits, D., van der Sluijs, K., Cristea, A.I., Foss, J., Glahn, C., Steiner, C.M.: GRAPPLE: learning management systems meet adaptive learning environments. In: Peña-Ayala, A. (ed.) Intelligent and Adaptive Educational-Learning Systems, SIST 17, 133–160. Springer, Berlin (2013)
Dey, A.K., Abowd G.D.: Toward a better understanding of context and context-awareness. In: CHI’2000 Workshop on the What, Who, Where, When, and How of Context-Awareness (2000)
Dey, A.K.: Understanding and Using Context, Personal and Ubiquitous Computing. Special issue on Situated Interaction and Ubiquitous Computing 5(1), 5 (2001)
Dey, A.K.: Context-aware computing. In: Krumm, J. (ed.) Ubiquitous Computing Fundamentals. Taylor and Francis Group LLC, Boca Raton (2010)
Dim, E., Kuflik, T.: Automatic detection of social behavior of museum visitor pairs. In: Special Issue on Activity Recognition for Interaction, ACM Transactions on Interactive Intelligent Systems (TiiS), 4(4), pp. 205–218. (To appear, 2014)
Estublier, J., Favre, J.M. In: Crnkovic, I., Larsson, M (eds.) Building Reliable Component-Based Software Systems. Artech House Inc, Norwood (2002)
Fink, J., Kobsa, A.: A review and analysis of commercial user modeling aervers for personalization on the world wide web. In: User Modeling and User-Adapted Interaction 10(3–4), Special Issue on Deployed User Modeling, pp. 209–249 (2000)
Finin, T.W., Drager, D.: GUMS1: A general user modeling system. In: Sixth Canadian Conference on Artificial Intelligence, pp. 24–29. Montreal (1986)
Frakes, W., Terry, C.: Software reuse: metrics and models. ACM Comput. Surv. 28(2), 415–435 (1996)
Gruber, T.R.A.: Translation approach to portable ontology specification. Knowl. Acquis. 5, 199–220 (1993)
Hammer, S., Wißner, M. André: Trust-based decision-making for smart and adaptive environments. User Model. User Adapt. Interact. 25(3) (2015)
Hayes, P.J.: In defence of logic. In: Proceedings of IJCAI-77, pp. 559–565 (1977)
Heckmann, D., Krüger, A.: A user modeling markup language (UserML) for ubiquitous computing. Lect. Notes Artif. Intell. 2702, 393–397 (2003)
Heckmann, D., Schwartz, T., Brandherm, B., Kröner, A.: Decentralized user modeling with UserML and GUMO. In: Workshop on Decentralized, Agent Based and Social Approaches to User Modeling (DASUM), 9th International Conference on User Modeling, pp. 61–64. Edinburgh (2005)
Heckmann, D.: Ubiquitous User Modeling. Akademische Verlagsgesellschaft Aka GmBH, Berlin (2006)
Hendrix, M., De Bra, P., Pechenizkiy, M., Smits, D., Cristea, A.: (2008). Defining Adaptation in a Generic Multi Layer Model: CAM: The GRAPPLE Conceptual Adaptation Model. Times of Convergence. Technologies Across Learning Contexts, pp. 132–143. Springer, Berlin (2008)
Hofer, T., Schwinger, W., Pichler, M., Leonhartsberger, G., Altmann, J.: Context-awareness on mobile devices: the hydrogen approach. In: Proceedings of the 36th Annual Hawaii International Conference on System Sciences, (HICSS’03), pp. 292–302. IEEE (2002)
Hristov, D., Hummel, O., Huq, M., Janjic, W.: Structuring software reusability metrics for component-based software development. In: ICSEA 2012, The Seventh International Conference on Software Engineering Advances, pp. 421–429 (2012)
Hu, P., Indulska, J., Robinson, R.: An autonomic context management system for pervasive computing. In: PerCom 2008. Sixth Annual IEEE International Conference on Pervasive Computing and Communications, pp. 213–223. IEEE (2008)
Huhns, M.N.: Agents as Web services. IEEE Internet Comput. 6(4), 93–95 (2002)
Kay, J.: The UM toolkit for reusable, long term user models. User modeling and user-adapted interaction. J. Pers. Res. 4(3), 149–196 (1995). doi:10.1007/BF01100243
Kay, J.: A Scrutable User Modelling Shell for User-Adapted Interaction. In: Ph.D. Thesis, Basser Department of Computer Science, University of Sydney, Sydney (1999)
Kay, J., Kummerfeld, B., Lauder, P.: Personis: a server for user models. In: De Bra, P., Brusilovsky, P. and Conejo, R. (eds.), Proceedings of the Second International Conference on Adaptive Hypermedia and Adaptive Web-Based Systems (AH’2002), pp. 201–212 (2002)
Kay, J., Kummerfeld, B.: Scrutability, user control and privacy for distributed personalization. In: Proceedings of the CHI2006 Workshop on Privacy-Enhanced Personalization, pp. 21–22 (2006)
Kay, J., Kummerfeld, B.: Portme: Personal Lifelong User Modeling Portal, School of Information Technologies. University of Sydney (2010)
Kay, J., Kummerfeld, B.: Creating personalized systems that people can scrutinize and control: drivers, principles and experience. ACM Trans. Interact. Intell. Syst. 2(4), 24 (2012)
Kobsa, A.: Generic user modeling systems. User Model. User Adapt. Interact. 11, 49–63 (2001)
Kobsa, A.: A component architecture for dynamically managing privacy constraints in personalized web-based systems. In: Dingledine, R. (ed.) Privacy Enhancing Technologies: Third International Workshop, PET 2003, pp. 177–188. Springer, Berlin (2003)
Kobsa, A.: Generic user modeling systems. In: Brusilovsky, P., Kobsa, A., Nejdl, W. (eds.) The Adaptive Web: Methods and Strategies of Web Personalization. Lecture Notes in Computer Science, LNCS 4321, pp. 135–154. Springer, Berlin (2007)
Kobsa, A.: Modeling the user’s conceptual knowledge in BGP-MS, a user modeling shell system. Comput. Intell. 6, 193–208 (1990)
Kobsa, A., Fink, J.: An LDAP-based user modeling server and its evaluation. User Model. User Adapt. Interact. 16(2), 129–169 (2006)
Kuflik, T., Stock, O., Zancanaro, M., Gorfinkel, A., Jbara, S., Kats, S., Sheidin, J., Kashtan, N.: A visitor’s guide in an ’Active Museum’ presentations, communications, and reflection. ACJ. Comput. Cult. Herit. 3(3), 1–25 (2011)
Kuflik, T., Dim, E.: Early detection of pairs of visitors by using a museum triage. In: Proceedings of the Annual Conference of Museums and the Web (2013)
Llinas, J.: A survey and analysis of frameworks and framework issues for information fusion applications. In: Hybrid Artificial Intelligence Systems, LNCS, (6076/2010), pp. 14–23 (2010)
Lorenz, A., Dolog, P., Vassileva, J.: A specification for agent-based distributed user modeling in ubiquitous computing. In: Workshop on Decentralized, Agent Based and Social Approaches to User Modeling (DASUM), 9th International Conference on User Modeling, pp. 31–40. Edinburgh (2005)
McIlroy, M.D.: Software Engineering: Report on a conference sponsored by the NATO Science Committee. In: NATO Software Engineering Conference, NATO Scientific Affairs Division, pp. 138–155 (1968)
Moshtaghi, M. Zukerman, I., Russell, A.: Statistical models for unobtrusively detecting abnormal periods of inactivity in older adults. User Model. User Adapt. Interact. 25(3) (2015)
Niu, X., McCalla, G., Vassileva, V.: Purpose-based expert finding in portfolio management systems. Comput. Intell. 20(4), 458–561 (2004)
Niu, W.T., Kay, J.: PERSONAF: framework for personalised ontological reasoning in pervasive computing. User Model. User Adapt. Interact. 20(1), 1–40 (2010)
Pazzani, M.J., Billsus, D.: Content-based recommendation systems. In: Brusilovsky, P., Kobsa, A., Nejdl, W. (eds.) The Adaptive Web: Methods and Strategies for Web Personalization, LNCS 4321, pp. 325–341. Springer, Berlin (2007)
OMG: Unified Modeling Language (UML) Infrastructure: UML Guide Version 2.4.1, Available from http://www.omg.org/spec/UML/2.4.1/Infrastructure/PDF/ (2011)
Oracle: http://docs.oracle.com/cd/E23095_01/Platform.93/ATGProgGuide/html/s0806componentsprovidedbyatgadaptives01.html. Accessed (2014)
Orwant, J.: Heterogeneous learning in the Doppelgänger user modeling system. User Model. User Adapt. Interact. 4(2), 107–130 (1994)
Paiva, A., Self, J.: TAGUS: a user and learner modeling workbench. User Model. User Adapt. Interact. 4(3), 197–226 (1995). doi:10.1007/BF01100244
Papadopoulos, G.A., Arbab, F.: Coordination models and languages. Adv. Comput. 46, 329–400 (1998)
Pohl, W.: Logic-based representation and reasoning for user modeling shell systems. User Model. User Adapt. Interact. 9(3), 217–282 (1999)
Raemaekers, S., van Deursen, A., Visser, J.: An analysis of dependence on third-party libraries in open source and proprietary systems. In: Sixth International Workshop on Software Quality and Maintainability, SQM, vol. 12, pp. 64–67 (2012)
Rich, E.: User modeling via stereotypes. Cogn. Sci. 3(4), 329–354 (1979)
Rosaci, D., Sarné, G.M.L.: MASHA: a multi agent system handling user and device adaptivity of web sites. User Model. User Adapt. Interact. 16(5), 435–462 (2006)
Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn. Prentice Hall Series in Artificial Intelligence, Pearson Education, Englewood Cliffs (2003)
Schafer, J.B., Frankowski, D., Herlocker, J., Sen, S.: Collaborative filtering recommender systems. In: Brusilovsky, P., Kobsa, A., Nejdl, W. (eds.) The Adaptive Web: Methods and Strategies for Web Personalization, LNCS 4321, 291–324. Springer, Berlin (2007)
Schreck, J.: Security and Privacy in User Modeling. In: Ph.D. Thesis, Department of Mathematics and Computer Science, University of Essen (2001)
Smyth, B.: Case-based Recommendation. In: Brusilovsky, P., Kobsa, A., Nejdl, W. (eds.) The Adaptive Web: Methods and Strategies for Web Personalization, LNCS 4321, pp. 3–53. Springer, Berlin (2007)
Specht, M., Lorenz, A., Zimmermann, A.: Toward a framework for distributed user modeling for ubiquitous computing. In: Workshop on Decentralized, Agent Based and Social Approaches to User Modeling (DASUM), 9th International Conference on User Modeling, Edinburgh (2005)
Stojanovic, Z., Dahanayake, A., Sol, H.: An approach to component-based and service-oriented system architecture design. In: De Cezare, S., Lycett, M., Macredie, D.R. (eds.) Development of Component-Based Information Systems, pp. 23–48. M. E. Sharp Inc, New York (2006)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley Professional, Boston (2002)
Tomer, A., Goldin, L., Kuflik, T., Kimchi, E., Schach, S.R.: Evaluating software reuse alternatives: a model and its application to an industrial case study. IEEE Trans. Softw. Eng. 30(9), 601–612 (2004)
Torre, I.: Adaptive systems in the era of the semantic and social web, a survey. User Model. User Adapt. Interact. 19(5), 433–486 (2009)
Uschold, M., Gruninger, M.: Ontologies: principles. Methods and applications. Knowl. Eng. Rev. 11(2), 93–136 (1996)
Vassileva, J., Mccalla, G., Greer, J.: Multi-agent multi-user modeling in I-help. User Model. User Adapt. Interact. 13(1–2), 179–210 (2003)
Vergara, H.: PROTUM: a prolog based tool for user modeling. In: WIS-Report 10, WG Knowledge-Based Information Systems, Department of Information Science, University of Konstanz (1994)
Walsh, E., Dagger, D., Wade, V.P.: Supporting “Personalisation for All” through federated user modeling exchange services (FUMES). In: 11th International Conference on User Modeling-UM, Corfu p. 57 (2007)
Webb, G.I., Pazzani, M.J., Billsus, D.: Machine learning for user modeling. User Model. User Adapt. Interact. 11(1/2), 19–29 (2001)
Wegner, P.: Interoperability. Comput. Surv. 28, 285–287 (1996)
Winograd, T.: Frame representations and the declarative/procedural controversy. In: Bobrow, D., Collins, A. (eds.) Representation and Understanding. Academic Press, New York (1975). Reprinted in Readings in Knowledge Representation, R. Brachman and H. Levesque, eds., Chap. 20, 358–370. Morgan Kaufmann, San Francisco (1985)
Yimam, D., Kobsa, A.: Expert finding systems for organizations: problem and domain analysis and the DEMOIR approach. In: Ackerman, M., Cohen, A., Pipek, V., Wulf, V. (eds.) Beyond Knowledge Management: Sharing Expertise. MIT Press, Cambridge (2003)
Yudelson, M., Brusilovsky, P., Zadorozhny, V.: A user modeling server for contemporary adaptive hypermedia: an evaluation of the push approach to evidence propagation. In: User Modeling 2007, pp. 27–36. Springer, Berlin (2007)
Author information
Authors and Affiliations
Corresponding author
Appendix 1: Formalization of the info-bead user modeling approach
Appendix 1: Formalization of the info-bead user modeling approach
A common way to formalize modeling notations and approaches is through meta-modeling, for which we use the standard UML notation (OMG 2011). The internal structure of an info-bead is detailed in Fig. 12. The info-bead (Fig. 12a) has three parts: the operational (Figure 12b), control (Fig. 12c), and metadata part (Fig. 12d). An info-bead operational part may have input interfaces (Fig. 12e) and has an output interface (Fig. 12f) that sends information to consumers or info-beads through info-links. The info-bead operational part also stores triplets (Figure 12g) and infers info-items (Fig. 12h). The info-bead is controlled through the control part (Fig. 12c) and provides metadata about itself through the metadata part (Fig. 12d).
Figure 13 shows the broader metamodel of the info-bead user modeling approach. A GM (Fig. 13a) is an aggregation of GMs (e.g., subgroups), UMs (i.e., group members), info-pendants, and info-beads (that represent group attributes). A UM (Fig. 13b) is an aggregation of info-pendants and info-beads that represent user attributes. It may include UMs that model the same user. A linkable element (Fig. 13c) is an abstract class that may be linked by using an info-link (Fig. 13d). An info-pendant (Fig. 13e) is a composition of info-beads, info-pendants (defined recursively), and their info-links. The info-pendant has one special info-bead, which holds the info-pendant’s attribute, the “attribute holder”. Info-beads, and info-pendants through their attribute holders, are “linkable” elements through inheritance. An info-link (Fig. 13d) connects a source info-bead or info-pendant (Fig. 13f) to a different target info-bead (that may be within another info-pendant), which is its target (Fig. 13g). For all info-beads in an info-pendant, which are not the info-pendant attribute holder, there exists a path of info-links to the info-pendant attribute holder. An info-bead (Fig. 13h) is presented in more detail in Fig. 12. If the info-bead is connected to a sensor (Fig. 13i), it may acquire the sensor data through the sensor’s API (Fig. 13j). As mentioned above, the sensor is not part of the info-bead. Finally, the info-bead may send information to an external consumer (Fig. 13k), such as a service application that is external to the UM.
A metamodel of association is presented in Fig. 14. Each GM (Fig. 14a, the same as Fig. 13a) represents a single group (Fig. 14c). A group may have any number of GMs (including no GMs). Each UM (Fig. 14b, the same as Fig. 13b) represents a single user (Fig. 14d). A user may have any number of UMs (including no UMs). A group is an aggregation of subgroups, or two or more users. A UM must have at least one owner (Fig. 14e), and the same is true for a GM. An owner may be any role that is permitted to control the info-beads in the UM or GM (e.g., the user, an administrator or another representative of an organization, an application service on behalf of the user or the organization).
Rights and permissions
About this article
Cite this article
Dim, E., Kuflik, T. & Reinhartz-Berger, I. When user modeling intersects software engineering: the info-bead user modeling approach. User Model User-Adap Inter 25, 189–229 (2015). https://doi.org/10.1007/s11257-015-9159-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11257-015-9159-1