19,199 research outputs found

    Addressing the evolution of automated user behaviour patterns by runtime model interpretation

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/s10270-013-0371-3The use of high-level abstraction models can facilitate and improve not only system development but also runtime system evolution. This is the idea of this work, in which behavioural models created at design time are also used at runtime to evolve system behaviour. These behavioural models describe the routine tasks that users want to be automated by the system. However, usersÂż needs may change after system deployment, and the routine tasks automated by the system must evolve to adapt to these changes. To facilitate this evolution, the automation of the specified routine tasks is achieved by directly interpreting the models at runtime. This turns models into the primary means to understand and interact with the system behaviour associated with the routine tasks as well as to execute and modify it. Thus, we provide tools to allow the adaptation of this behaviour by modifying the models at runtime. This means that the system behaviour evolution is performed by using high-level abstractions and avoiding the costs and risks associated with shutting down and restarting the system.This work has been developed with the support of MICINN, under the project EVERYWARE TIN2010-18011, and the support of the Christian Doppler Forschungsgesellschaft and the BMWFJ, Austria.Serral Asensio, E.; Valderas Aranda, PJ.; Pelechano Ferragud, V. (2013). Addressing the evolution of automated user behaviour patterns by runtime model interpretation. Software and Systems Modeling. https://doi.org/10.1007/s10270-013-0371-3SWeiser, M.: The computer of the 21st century. Sci. Am. 265, 66–75 (1991)Serral, E., Valderas, P., Pelechano, V.: Context-adaptive coordination of pervasive services by interpreting models during runtime. Comput. J. 56(1), 87–114 (2013)Ajila, S.A., Alam, S.: Using a formal language constructs for software model evolution. In: Third IEEE International Conference on Semantic Computing (IEEE-ICSC 2009). Berkeley, CA, USA, pp. 390–395 (2009)Bennett, K., Rajlich, V.: Software Maintenance and Evolution: A Roadmap. In: 22nd International Conference on Software Engineering (ICSE 2000). Limerick, Ireland, pp. 75–87 (2000)Mens, T.: The ERCIM working group on software evolution: the past and the future. In: Proceedings of the Joint International and Annual ERCIM Workshops on Principles of Software Evolution (IWPSE) and Software Evolution (Evol) Workshops. ACM (2009)Mens, T., Wermelinger, M., Ducasse, S., Demeyer, S., Hirschfeld, R.: Challenges in software evolution. In: Report of the ChaSE 2005 Workshop Organised by the ERCIM Working Group on Software Evolution. IWPSE-05. Lisbon, Portugal, pp. 13–22 (2005)Hirschfeld, R., Kawamura, K., Berndt, H.: Dynamic service adaptation for runtime system extensions. In: Wireless On-Demand Network Systems, pp. 227–240. Springer, Berlin, Heidelberg, Madonna di Campiglio, Italy (2004)Lientz, B.P., Swanson, E.B.: Software maintenance management: a study of the maintenance of computer applications software in 487 data processing organizations. Addison-Wesley, Reading, MA (1980)Buckley, J., Mens, T., Zenger, M., Rashid, A., Kniesel, G.: Towards a taxonomy of software change. J. Softw. Maint. Evolut. Res. Pract. 17(5), 309–332 (2003)Hardian, B., Indulska, J., Henricksen, K.: Balancing autonomy and user control in context-aware systems—a survey. In: CoMoRea, IEEE PerCom Workshops 2006. (2006)Biegel, G., Cahill, V.: A framework for developing mobile, context-aware applications. In: The 2nd IEEE Conference on Pervasive Computing and Communication (PerCom), pp. 361–365 (2004)Hofer, T., Schwinger, W., Pichler, M., Leonhartsberger, G., Altmann, J.: Context-awareness on mobile devices—the hydrogen approach. In: The 36th Annual Hawaii International Conference on System Sciences, pp. 292–302 (2002)Dey, A.K.: Understanding and using context. Pers. Ubiquitous Comput. 5(1), 4–7 (2001)Sheng, Q.Z., Benatallah, B.: ContextUML: a UML-based modelling language for model-driven development of context-aware web services. In: Proceedings of the International Conference on Mobile, Business (ICMB’05). pp. 206–212 (2005)Henricksen, K., Indulska, J.: A software engineering framework for context-aware pervasive computing. In: Proceedings of the Second IEEE Annual Conference on Pervasive Computing and Communications (PerCom 2004), pp. 77–86. IEEE, Orlando, FL, USA (2004)Baldauf, M., Dustdar, S., Rosenberg, F.: A survey on context-aware systems. Int. J. Ad Hoc Ubiquitous Comput. 2(4), 263–277 (2007)Ye, J., Coyle, L., Dobson, S., Nixon, P.: Ontology-based models in pervasive computing systems. Knowl. Eng. Rev. 22(4), 315–347 (2007)Chen, H., Finin, T., Joshi, A.: An ontology for context-aware pervasive computing environments. Special Issue on Ontologies for Distributed Systems. Knowl. Eng. Rev. 18(3), 197–207 (2004)Welty, C., McGuinness, D.L.: OWL Web Ontology Language Guide. vol. W3C Recomm. W3C Recommendation 10 Feb 2004 (2004)Shepherd, A.: HTA as a framework for task analysis. Ergonomics 41, 1537–1552 (1998)Serral, E., Valderas, P., Pelechano, V.: Towards the model driven development of context-aware pervasive systems. Special Issue on Context Modelling, Reasoning and Management. PMC 6(2), 254–280 (2010)Serral, E.: Automating Routine Tasks in Smart Environments. A Context-aware Model-driven Approach, Technical University of Valencia (2011)Mellor, S.J., Balcer, M.J.: Executable UML: A Foundation for Model Driven Architecture. Addison-Wesley, Indianapolis (2002)Muñoz, J., Ferragud, D.V.P.: Model Driven Development of Pervasive Systems. Building a Software Factory. Universidad PolitĂ©cnica de Valencia, Valencia (2008)Juric, M.B., Sarang, P.: Business Process Execution Language for Web Services: BPEL and BPEL4WS (2006)Loke, S.W., Smanchat, S., Ling, S., Indrawan, M.: Formal mirror models: an approach to just-in-time reasoning for device ecologies. Int. J. Smart Home 2(1), 15–32 (2008)Code Generation conference. http://www.codegeneration.net/cg2010/ (2010)Guy, M.: Report 2: API Good Practice Good practice for provision of and consuming APIs. UKOLN (2009)Bloch, J.: How to design a good API and why it matters. pp. 506–507 (2005)Sirin, E., Parsia, B., Grau, B.C., Kalyanpur, A., Katz, Y.: Pellet: A practical OWL-DL reasoner. J. Web Semant. 5(2), 51–53 (2007)Bernstein, P.: Multiversion concurrency control—theory and algorithms. ACM Trans. Database Syst. 8(4), 465–484 (1983)Cooper, S., Dann, W., Pausch, R.: Alice: a 3-D tool for introductory programming concepts. J. Comput. Sci. Coll. 15, 107–116 (2000)PĂ©rez, F., Valderas, P.: Allowing end-users to actively participate within the elicitation of pervasive system requirements through immediate visualization. In: Fourth International Workshop on Requirements Engineering Visualization (REV), pp. 31–40. IEEE, Atlanta, Georgia, USA (2009)Lieberman, H., PaternĂł, F., Wulf, V.: End User Development. Springer, Dordrecht (2006)Nielsen, J.: Usability Engineering. Morgan Kaufmann Publishers Inc, San Francisco (1993)Van Welie, M., Trætteberg, H.: Interaction Patterns in User, Interfaces. pp. 13–16 (2000)Galitz, W.O.: The Essential Guide to User Interface Design: An Introduction to GUI Design Principles and Techniques. Wiley, New York (2002)Kitchenham, B., Pickard, L., Pfleeger, S.L.: Case studies for method and tool evaluation. Softw. IEEE 12(4), 52–62 (1995)Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., WesslĂ©n, A.: Experimentation in Software Engineering. Springer, Berlin (2012)Jones, J.V.: Applied software measurement: assuring productivity & quality (2nd ed’97). McGraw-Hill, New York (1997)Strang, T., Linnhoff-Popien, C.: A context modeling survey. In: First International Workshop on Advanced Context Modelling, Reasoning And Management at UbiComp (2004)Lewis, J.R.: Psychometric Evaluation of an After-Scenario Questionnaire for Computer Usability Studies? The ASQ. SIGCHI Bulletin (1991)Cook, D.J., Youngblood, M., Heierman, I.I.I.E.O., Gopalratnam, K., Rao, S., Litvin, A., Khawaja, F.: MavHome: An Agent-based Smart Home. In: First IEEE International Conference on Pervasive Computing and, Communications (PerCom’03), pp. 521–524 (2003)Hagras, H., Callaghan, V., Colley, M., Clarke, G., Pounds-Cornish, A., Duman, H.: Creating an ambient-intelligence environment using embedded agents. IEEE Intell. Syst. 19(6), 12–20 (2004)Rashidi, P., Cook, D.J.: Keeping the resident in the loop: adapting the smart home to the user. IEEE Trans. Syst. Man Cybern. 39(5), 949–959 (2009)Webb, G.I., Pazzani, M.J., Billsus, D.: Machine learning for user modeling. User model. User-Adapt Interact. 11(1–2), 19–29 (2001)Valiant, L.G.: A theory of the learnable. Commun. ACM 27(11), 1134–1142 (1984)Serral, E., Valderas, P., Pelechano, V.: (2011) Improving the cold-start problem in user task automation by using models at runtime. In: Information Systems Development, pp. 671–683. (2011)GarcĂ­a-Herranz, M., Haya, P.A., Esquivel, A., Montoro, G., Alamán, X.: Easing the smart home: semi-automatic adaptation in perceptive environments. J. Univers. Comput. Sci. 14(9), 1529–1544 (2008)Henricksen, K., Indulska, J., Rakotonirainy, A.: Using context and preferences to implement self-adapting pervasive computing applications. Sofw. Pract. Exp. 36(11–12), 1307–1330 (2006)Johnson, P.: Tasks and situations: considerations for models and design principles in human computer interaction, pp. 1199–1204. HCI International. Munich, Germany (1999)Cook, D.J., Das, S.K.: Smart environments: technologies, protocols, and applications, vol. 43. Wiley-Interscience, New York (2005)Paternò, F.: ConcurTaskTrees: an Engineered approach to model-based design of interactive systems. In: The Handbook of Analysis for Human-Computer Interaction, pp. 483–500 (2002)Pribeanu, C., Limbourg, Q., Vanderdonckt1, J.: Task modelling for context-sensitive user interfaces. In: Interactive Systems: Design, Specification, and Verification (DSV-IS), pp. 49–68. Springer, Berlin, Heidelberg 2001, Glasgow, Scotland, UK (2001)Souchon, N., Limbourg, Q., Vanderdonckt., J.: Task modelling in multiple contexts of use. In: Interactive Systems: Design, Specification, and Verification (DSV-IS), pp. 59–73 (2002)Huang, R., Cao, Q., Zhou, J., Sun, D., Su, Q.: Context-aware active task discovery for pervasive computing. In: International Conference on Computer Science and Software Engineering, pp. 463–466. IEEE, Wuhan, China (2008)Sousa, J.P., Poladian, V., Garlan, D., Schmerl, B.: Task-based adaptation for ubiquitous computing. IEEE Trans. Syst. Man Cybern. 36(3), 328–340 (2006)Masuoka, R., Parsia, B., Labrou, Y.: Task Computing—The Semantic Web Meets Pervasive Computing. In: 2nd International Semantic Web Conference on the Semantic Web (ISWC 2003), pp. 866–881. vol. LNCS 2870. Sanibel Island, FL, USA (2003)Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., Wolf, A.L.: An architecture-based approach to self-adaptive software. IEEE Intell. Syst. Their Appl. 14(3), 54–62 (1999)Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjørven, E.: Using Architecture Models for Runtime Adaptability. IEEE Software. 23(2), 62–70 (2006)Morin, B., JĂ©zĂ©quel, J.-M., Fleurey, F., Solberg, A.: Models at runtime to support dynamic adaptation. IEEE Comput. Soc. pp. 46–53 (2009)Cetina, C., Giner, P., Fons, J., Pelechano, V.: Using feature models for developing self-configuring smart homes. In: Fifth International Conference on Autonomic and Autonomous Systems, pp. 179–188. IEEE, Valencia, Spain (2009)Garlan, D., Schmerl, B.: Using architectural models at runtime: research challenges. In: Proceedings of the European Workshop on Software Architectures, pp. 200–205. Springer, Berlin, Heidelberg, St Andrews, UK (2004)Blumendorf, M., Lehmann, G., Feuerstack, S., Albayrak, S.: Executable models for human-computer interaction. In: Interactive Systems, Design, Specification, and Verification Workshop (DSV-IS 2008), pp. 238–251. Springer Berlin Heidelberg, Kingston, Canada (2008)Ballagny, C., Hameurlain, N., Barbier, F.: MOCAS: a state-based component model for self-adaptation. In: Third IEEE International Conference on Self-Adaptive and Self-Organizing Systems, pp. 206–215. IEEE, San Francisco, California (2009)Amoui, M., Derakhshanmanesh, M., Ebert, J., Tahvildari, L.: Achieving dynamic adaptation via management and interpretation of runtime models. J. Syst. Softw. 85(12), 2720–2737 (2012)Blair, G., Bencomo, N., France, R.B.: [email protected]. IEEE Comput. 42, 22–27 (2009)Zhang, J., Cheng, B.H.C.: Model based development of dynamically adaptive software. In: International Conference on Software Engineering (ICSE’06), pp. 371–380. ACM, Shanghai, China (2006

    Composition and Self-Adaptation of Service-Based Systems with Feature Models

    Get PDF
    The adoption of mechanisms for reusing software in pervasive systems has not yet become standard practice. This is because the use of pre-existing software requires the selection, composition and adaptation of prefabricated software parts, as well as the management of some complex problems such as guaranteeing high levels of efficiency and safety in critical domains. In addition to the wide variety of services, pervasive systems are composed of many networked heterogeneous devices with embedded software. In this work, we promote the safe reuse of services in service-based systems using two complementary technologies, Service-Oriented Architecture and Software Product Lines. In order to do this, we extend both the service discovery and composition processes defined in the DAMASCo framework, which currently does not deal with the service variability that constitutes pervasive systems. We use feature models to represent the variability and to self-adapt the services during the composition in a safe way taking context changes into consideration. We illustrate our proposal with a case study related to the driving domain of an Intelligent Transportation System, handling the context information of the environment.Work partially supported by the projects TIN2008-05932, TIN2008-01942, TIN2012-35669, TIN2012-34840 and CSD2007-0004 funded by Spanish Ministry of Economy and Competitiveness and FEDER; P09-TIC-05231 and P11-TIC-7659 funded by Andalusian Government; and FP7-317731 funded by EU. Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tec

    Model-Based Runtime Adaptation of Resource Constrained Devices

    Get PDF
    Dynamic Software Product Line (DSPL) engineering represents a promising approach for planning and applying runtime reconfiguration scenarios to self-adaptive software systems. Reconfigurations at runtime allow those systems to continuously adapt themselves to ever changing contextual requirements. With a systematic engineering approach such as DSPLs, a self-adaptive software system becomes more reliable and predictable. However, applying DSPLs in the vital domain of highly context-aware systems, e.g., mobile devices such as smartphones or tablets, is obstructed by the inherently limited resources. Therefore, mobile devices are not capable to handle large, constrained (re-)configuration spaces of complex self-adaptive software systems. The reconfiguration behavior of a DSPL is specified via so called feature models. However, the derivation of a reconfiguration based on a feature model (i) induces computational costs and (ii) utilizes the available memory. To tackle these drawbacks, I propose a model-based approach for designing DSPLs in a way that allows for a trade-off between pre-computation of reconfiguration scenarios at development time and on-demand evolution at runtime. In this regard, I intend to shift computational complexity from runtime to development time. Therefore, I propose the following three techniques for (1) enriching feature models with context information to reason about potential contextual changes, (2) reducing a DSPL specification w.r.t. the individual characteristics of a mobile device, and (3) specifying a context-aware reconfiguration process on the basis of a scalable transition system incorporating state space abstractions and incremental refinements at runtime. In addition to these optimization steps executed prior to runtime, I introduce a concept for (4) reducing the operational costs utilized by a reconfiguration at runtime on a long-term basis w.r.t. the DSPL transition system deployed on the device. To realize this concept, the DSPL transition system is enriched with non-functional properties, e.g., costs of a reconfiguration, and behavioral properties, e.g., the probability of a change within the contextual situation of a device. This provides the possibility to determine reconfigurations with minimum costs w.r.t. estimated long-term changes in the context of a device. The concepts and techniques contributed in this thesis are illustrated by means of a mobile device case study. Further, implementation strategies are presented and evaluated considering different trade-off metrics to provide detailed insights into benefits and drawbacks

    A Framework for Evaluating Model-Driven Self-adaptive Software Systems

    Get PDF
    In the last few years, Model Driven Development (MDD), Component-based Software Development (CBSD), and context-oriented software have become interesting alternatives for the design and construction of self-adaptive software systems. In general, the ultimate goal of these technologies is to be able to reduce development costs and effort, while improving the modularity, flexibility, adaptability, and reliability of software systems. An analysis of these technologies shows them all to include the principle of the separation of concerns, and their further integration is a key factor to obtaining high-quality and self-adaptable software systems. Each technology identifies different concerns and deals with them separately in order to specify the design of the self-adaptive applications, and, at the same time, support software with adaptability and context-awareness. This research studies the development methodologies that employ the principles of model-driven development in building self-adaptive software systems. To this aim, this article proposes an evaluation framework for analysing and evaluating the features of model-driven approaches and their ability to support software with self-adaptability and dependability in highly dynamic contextual environment. Such evaluation framework can facilitate the software developers on selecting a development methodology that suits their software requirements and reduces the development effort of building self-adaptive software systems. This study highlights the major drawbacks of the propped model-driven approaches in the related works, and emphasise on considering the volatile aspects of self-adaptive software in the analysis, design and implementation phases of the development methodologies. In addition, we argue that the development methodologies should leave the selection of modelling languages and modelling tools to the software developers.Comment: model-driven architecture, COP, AOP, component composition, self-adaptive application, context oriented software developmen

    Report from GI-Dagstuhl Seminar 16394: Software Performance Engineering in the DevOps World

    Get PDF
    This report documents the program and the outcomes of GI-Dagstuhl Seminar 16394 "Software Performance Engineering in the DevOps World". The seminar addressed the problem of performance-aware DevOps. Both, DevOps and performance engineering have been growing trends over the past one to two years, in no small part due to the rise in importance of identifying performance anomalies in the operations (Ops) of cloud and big data systems and feeding these back to the development (Dev). However, so far, the research community has treated software engineering, performance engineering, and cloud computing mostly as individual research areas. We aimed to identify cross-community collaboration, and to set the path for long-lasting collaborations towards performance-aware DevOps. The main goal of the seminar was to bring together young researchers (PhD students in a later stage of their PhD, as well as PostDocs or Junior Professors) in the areas of (i) software engineering, (ii) performance engineering, and (iii) cloud computing and big data to present their current research projects, to exchange experience and expertise, to discuss research challenges, and to develop ideas for future collaborations
    • …
    corecore