212,643 research outputs found

    EUD-MARS: End-User Development of Model-Driven Adaptive Robotics Software Systems

    Get PDF
    Empowering end-users to program robots is becoming more significant. Introducing software engineering principles into end-user programming could improve the quality of the developed software applications. For example, model-driven development improves technology independence and adaptive systems act upon changes in their context of use. However, end-users need to apply such principles in a non-daunting manner and without incurring a steep learning curve. This paper presents EUD-MARS that aims to provide end-users with a simple approach for developing model-driven adaptive robotics software. End-users include people like hobbyists and students who are not professional programmers but are interested in programming robots. EUD-MARS supports robots like hobby drones and educational humanoids that are available for end-users. It offers a tool for software developers and another one for end-users. We evaluated EUD-MARS from three perspectives. First, we used EUD-MARS to program different types of robots and assessed its visual programming language against existing design principles. Second, we asked software developers to use EUD-MARS to configure robots and obtained their feedback on strengths and points for improvement. Third, we observed how end-users explain and develop EUD-MARS programs, and obtained their feedback mainly on understandability, ease of programming, and desirability. These evaluations yielded positive indications of EUD-MARS

    Supporting the migration towards model-driven robotic systems

    Get PDF
    Robots are increasingly deployed to perform every-day tasks. It is crucial to implement reliable and reusable systems to reduce development effort. The complexity of robotic systems requires the collaboration of experts from different backgrounds. Therefore, clear and communicatable abstraction of components is essential for successful development process. There has been a demand in the community for increased adoption of software engineering approaches to support better robotic systems. Adopting model-driven approaches has been proved successful in supporting this movement. We aim to support the adaptation of model-driven approaches in robotic domain in three interest areas: behavior models, structural models and guaranteeing confidence in system behavior.The overall goal is to support the creation of reusable, verifiable and easy to communicate robotic missions and systems. To achieve that, we conducted a mix of knowledge-seeking and solution-seeking studies. We started with behavior models. We wanted to build knowledge about used behavior models in practice. We investigated the state-of-practice of an emerging behavior model, behavior trees, in comparison to two standardized UML models and a traditional roboticists choice. Moving to the second interest area, we wanted to support the creation of light-weight tools for building an understanding of system structure using feature models. We conducted a pilot evaluation of an already light-weight tool, called FeatureVista. The final interest area was guaranteeing confidence in system behavior. The usual engineering process of self-adaptive controllers in robotic involves different model-based approaches. We wanted to investigate an approach that reaffirm, at code-level, control properties while keeping the usual engineering process. We investigated an approach for mapping control properties to software ones using an appropriate input format for software model-based checking.Our investigations in the different interest areas have built knowledge and shed light on opportunities. We provided characteristics of behavior models, behavior trees and state machines, in popular robotic implementations and highlighted opportunities for improvements. We also provided usage trend for studied implementations in open-source projects. In addition, we provided corestructural characteristic and code-reuse patterns for studied behavior models in open-source projects. For feature models, our results showed promising results for using an interactive tool that provides an easy and initiative navigation between feature models and software components. Improvement aspects were also highlighted for developing similar tools. Finally, our work for the confidence of system behavior showed promising results in reaffirming the correctness of a control property at code-level using appropriate software notation, specification patterns. Also, our approach allowed keeping the current practices of using model-based approaches in self-adaptive robotic systems

    Developing BP-driven web application through the use of MDE techniques

    Full text link
    Model driven engineering (MDE) is a suitable approach for performing the construction of software systems (in particular in the Web application domain). There are different types of Web applications depending on their purpose (i.e., document-centric, interactive, transactional, workflow/business process-based, collaborative, etc). This work focusses on business process-based Web applications in order to be able to understand business processes in a broad sense, from the lightweight business processes already addressed by existing proposals to long-running asynchronous processes. This work presents a MDE method for the construction of systems of this type. The method has been designed in two steps following the MDE principles. In the first step, the system is represented by means of models in a technology-independent manner. These models capture the different aspects of Web-based systems (these aspects refer to behaviour, structure, navigation, and presentation issues). In the second step, the model transformations (both model-to- model and model-to-text) are applied in order to obtain the final system in terms of a specific technology. In addition, a set ofEclipse-based tools has been developed to provide automation in the application of the proposed method in order to validate the proposal.Torres Bosch, MV.; Giner Blasco, P.; Pelechano Ferragud, V. (2012). Developing BP-driven web application through the use of MDE techniques. Software and Systems Modeling. 11(4):609-631. doi:10.1007/s10270-010-0177-5S609631114Andrews, T., Curbera, F., Dholakia, H., Goland, Y., Klein, J., Leymann, F., Liu, K., Roller, D., Smith, D., Thatte, S., Trickovic, I., Weerawarana, S.: Business process execution language for Web services version 1.1 (May 2003)Barna, P., Frasincar, F., Houben, G.J.: A workow-driven design of Web information systems. In: Wolber, D., Calder, N., Brooks, C., Ginige, A. (eds.) ICWE, ACM, pp. 321–328Bakshi, K., Karger, D.R.: Semantic Web applications. In: Proceedings of the ISWC 2005 Workshop on End User Semantic Web Interaction (November 2005)Brambilla M., Ceri S., Fraternali P., Manolescu I.: Process modeling in Web applications. ACM Trans. Softw. Eng. Methodol. 15(4), 360–409 (2006)Brambilla, M., Preciado, J.C., Trigueros, M.L., Sánchez-Figueroa F.: Business process-based conceptual design of rich internet applications. In: ICWE, pp. 155–161 (2008)Brambilla, M., Butti, S., Fraternali, P.: Webratio bpm: a tool for designing and deploying business processes on the Web. In: ICWE, pp. 415–429 (2010)Business process modeling notation (BPMN). OMG final adopted specification. dtc/06-02-01 (February 2006)Ceri, S., Fraternali, P., Bongio, A.: Web modeling language (Webml): a modeling language for designing Web sites. In: Proceedings of the 9th international World Wide Web conference on Computer networks : the international journal of computer and telecommunications networking, Amsterdam, The Netherlands, pp. 137–157. North-Holland Publishing Co., The Netherlands (2000)Davis J.: Open Source SOA. Manning Publications Co, Greenwich (2009)Distante, D.: Reengineering legacy applications and Web transactions: an extended version of the UWA transaction design model. Ph.D. thesis, University of Lecce, Italy (2004)Distante D., Rossi G., Canfora G., Tilley S.R.: A comprehensive design model for integrating business processes in Web applications. Int. J. Web Eng. Technol. 3(1), 43–72 (2007)Duhl, J.: Rich internet applications. Technical report, IDC (November 2003)Fons, J.: OOWS: A model driven method for the development of web applications. Ph.D. thesis, Universidad Politécnica de Valencia (2008)Fons, J., Pelechano, V., Pastor, O., Valderas, P., Torres, V.: Applying the OOWS model-driven approach for developing web applications. The internet movie database case study. In: Web Engineering: Modelling and Implementing Web Applications. Human–Computer Interaction Series, pp. 65–108. Springer, London (2008)Fowler, M.: Inversion of control containers and the dependency injection pattern. http://martinfowler.com/articles/injection.html (January 2004)Gershenfeld N., Krikorian R., Cohen D.: The internet of things. Sci Am 291(4), 76–81 (2004)Giner P., Cetina C., Fons J., Pelechano V.: Developing mobile business processes for the internet of things. IEEE Pervasive Comput. 9, 18–26 (2010)Gómez J., Cachero C., Pastor O.: Extending a conceptual modelling approach to Web application design. In: Wangler, B., Bergman, L. (eds) CAiSE. Lecture Notes in Computer Science, vol. 1789, pp. 79–93. Springer, London (2000)Goth G.: The task-based interface: not your father’s desktop. IEEE Software 26(6), 88–91 (2009)Holmes, T., Tran, H., Zdun, U., Dustdar, S.: Modeling human aspects of business processes—a view-based, model-driven approach. In: ECMDA-FA, pp. 246–261 (2008)Kappel, G., Pröll, B., Reich, S., Retschitzegger, W. (eds): Web Engineering—The Discipline of Systematic Development of Web Applications. Wiley, England (2006)Koch, N.: Software Engineering for Adaptive Hypermedia Systems: Reference Model, Modeling Techniques and Development Process. Ph.D. thesis, Ludwig-Maximilians-University Munich, Germany (2001)Koch N., Kraus A., Cachero C., Meliá S.: Integration of business processes in Web application models. J. Web Eng. 3(1), 22–49 (2004)Limbourg, Q., Vanderdonckt, J.: Usixml: a user interface description language supporting multiple levels of independence. In: ICWE Workshops, pp. 325–338 (2004)Linaje M., Preciado J.C., Sánchez-Figueroa F.: Engineering rich internet application user interfaces over legacy Web models. IEEE Internet Comput. 11(6), 53–59 (2007)Link, S., Hoyer, P., Schuster, T., Abeck, S.: Model-driven development of human tasks for workflows. In: ICSEA ‘08: Proceedings of the 2008 third international conference on software engineering advances, Washington, DC, USA, pp. 329–335. IEEE Computer Society, Washington, DC (2008)Marcos, E., Cáceres, P., Castro, V. D.: An approach for navigation model construction from the use cases model. In: CAiSE Forum. Held in conjunction with the 16th Conference On Advanced Information Systems Engineering (June 2004)Pietschmann, S., Voigt, M., Meissner, K.: Adaptive rich user interfaces for human interaction in business processes. In: Proceedings of the 10th International Conference on Web Information Systems Engineering (WISE 2009), WISE, pp. 351–364. Springer LNCS (October 2009)Schwabe D., Rossi G.: An object oriented approach to Web-based applications design. Theor. Pract. Object Syst. 4(4), 207–225 (1998)Schmid H.A., Rossi G.: Modeling and designing processes in e-commerce applications. IEEE Internet Comput. 8(1), 19–27 (2004)Schwinger W., Retschitzegger W., Schauerhuber A., Kappel G., Wimmer M., Pröll B., Cachero C., Casteleyn S., Troyer O.D., Fraternali P., Garrigós I., Garzotto F., Ginige A., Houben G.J., Koch N., Moreno N., Pastor O., Paolini P., Pelechano V., Rossi G., Schwabe D., Tisi M., Vallecillo A., van der Sluijs K., Zhang G.: A survey on Web modeling approaches for ubiquitous Web applications. IJWIS 4(3), 234–305 (2008)Sousa K.S., Mendona H., Vanderdonckt J.: A model-driven approach to align business processes with user interfaces. J. UCS 14(19), 3236–3249 (2008)Sukaviriya, N., Sinha, V., Ramachandra, T., Mani, S.: Model-driven approach for managing human interface design life cycle. In: MoDELS, pp. 226–240 (2007)Tedre M.: What should be automated?. Interactions 15(5), 47–49 (2008)Torres, V., Giner, P., Bonet, B., Pelechano, V.: Adapting BPMN to Public Administration. In: Proceedings BPMN 2010 Springer’s Lecture Notes in Business Information Processing (LNBIP). Postdam, Germany (to appear)Troyer, O.D., Casteleyn, S.: Modeling complex processes for Web applications using wsdm. In: Proceedings of the Third International Workshop on Web-Oriented Software Technologies (held in conjunction with ICWE2003), IWWOST2003 (2003

    mRUBiS: An Exemplar for Model-Based Architectural Self-Healing and Self-Optimization

    Full text link
    Self-adaptive software systems are often structured into an adaptation engine that manages an adaptable software by operating on a runtime model that represents the architecture of the software (model-based architectural self-adaptation). Despite the popularity of such approaches, existing exemplars provide application programming interfaces but no runtime model to develop adaptation engines. Consequently, there does not exist any exemplar that supports developing, evaluating, and comparing model-based self-adaptation off the shelf. Therefore, we present mRUBiS, an extensible exemplar for model-based architectural self-healing and self-optimization. mRUBiS simulates the adaptable software and therefore provides and maintains an architectural runtime model of the software, which can be directly used by adaptation engines to realize and perform self-adaptation. Particularly, mRUBiS supports injecting issues into the model, which should be handled by self-adaptation, and validating the model to assess the self-adaptation. Finally, mRUBiS allows developers to explore variants of adaptation engines (e.g., event-driven self-adaptation) and to evaluate the effectiveness, efficiency, and scalability of the engines

    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

    Comparative Study on Agile software development methodologies

    Get PDF
    Today-s business environment is very much dynamic, and organisations are constantly changing their software requirements to adjust with new environment. They also demand for fast delivery of software products as well as for accepting changing requirements. In this aspect, traditional plan-driven developments fail to meet up these requirements. Though traditional software development methodologies, such as life cycle-based structured and object oriented approaches, continue to dominate the systems development few decades and much research has done in traditional methodologies, Agile software development brings its own set of novel challenges that must be addressed to satisfy the customer through early and continuous delivery of the valuable software. It is a set of software development methods based on iterative and incremental development process, where requirements and development evolve through collaboration between self-organizing, cross-functional teams that allows rapid delivery of high quality software to meet customer needs and also accommodate changes in the requirements. In this paper, we significantly identify and describe the major factors, that Agile development approach improves software development process to meet the rapid changing business environments. We also provide a brief comparison of agile development methodologies with traditional systems development methodologies, and discuss current state of adopting agile methodologies. We speculate that from the need to satisfy the customer through early and continuous delivery of the valuable software, Agile software development is emerged as an alternative to traditional plan-based software development methods. The purpose of this paper, is to provide an in-depth understanding, the major benefits of agile development approach to software development industry, as well as provide a comparison study report of ASDM over TSDM.Comment: 25 pages, 25 images, 86 references used, with authors biographie
    • …
    corecore