358 research outputs found

    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

    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

    Context Oriented Software Middleware

    Get PDF
    Our middleware approach, Context-Oriented Software Middleware (COSM), supports context-dependent software with self-adaptability and dependability in a mobile computing environment. The COSM-middleware is a generic and platform-independent adaptation engine, which performs a runtime composition of the software's context-dependent behaviours based on the execution contexts. Our middleware distinguishes between the context-dependent and context-independent functionality of software systems. This enables the COSM-middleware to adapt the application behaviour by composing a set of context-oriented components, that implement the context-dependent functionality of the software. Accordingly, the software dependability is achieved by considering the functionality of the COSM-middleware and the adaptation impact/costs. The COSM-middleware uses a dynamic policy-based engine to evaluate the adaptation outputs and verify the fitness of the adaptation output with the application's objectives, goals and the architecture quality attributes. These capabilities are demonstrated through an empirical evaluation of a case study implementation

    SMILE: smart monitoring intelligent learning engine. An ontology-based context-aware system for supporting patients subjected to severe emergencies

    Get PDF
    Remote healthcare has made a revolution in the healthcare domain. However, an important problem this field is facing is supporting patients who are subjected to severe emergencies (as heart attacks) to be both monitored and protected while being at home. In this paper, we present a conceptual framework with the main objectives of: 1) emergency handling through monitoring patients, detecting emergencies and insuring fast emergency responses; 2) preventing an emergency from happening in the first place through protecting patients by organising their lifestyles and habits. To achieve these objectives, we propose a layered middleware. Our context model combines two modelling methods: probabilistic modelling to capture uncertain information and ontology to ease knowledge sharing and reuse. In addition, our system uses a two-level reasoning approach (ontology-based reasoning and Bayesian-based reasoning) to manage both certain and uncertain contextual parameters in an adaptive manner. Bayesian network is learned from ontology. Moreover, to ensure a more sophisticated decision-making for service presentation, influence diagram and analytic hierarchy process are used along with regular probabilistic rules (confidence level) and basic semantic logic rules

    Open source face recognition API

    Get PDF
    Face recognition applications are widely used today for a variety of tasks, whether personal or professional. When looking for a service that provides face detection and classification, it is easy to find several solutions. In this project another way is described so that it is possible to perform this task according to the desired needs without the need to use proprietary software. With the emergence of the Django Rest Frame Work, web application development has become easier. This work describes development of stable foundation and features that offer an administration panel, relational database management, and support for a Restful Application Programming Interface (API). This takes advantage of the exclusive use of Open Source technologies thus the application code can be modified and distributed free of charge. For the development of an API that could perform detection and facial recognition, applying an Open Source philosophy, in addition to Django Rest Framework technologies such as Python, C++, MySql and JSON were used. The prototype is initially capable of recognizing the number of faces per image, assessing eyes, smile, age and gender. Flexibility is designed to increase application capabilities with new algorithms implemented in various programing languages.Atualmente, as aplicações de reconhecimento de facial são amplamente utilizadas para uma variedade de tarefas, pessoais ou profissionais. Ao procurarmos um serviço que forneça deteção e classificação de rosto, é fácil encontrar várias soluções. Neste projeto, é descrita outra maneira para que seja possível executar esta tarefa de acordo com as necessidades desejadas, sem a necessidade de usar software proprietário. Com o surgimento do Django Rest Framework, o desenvolvimento de aplicações web ficou mais fácil. Este trabalho descreve o desenvolvimento de bases e recursos estáveis que oferecem um painel de administração, gestão de uma base de dados relacional e o suporte para uma API (Application Programming Interface) Restful. Ao tirar proveito do uso exclusivo de tecnologias Open Source, é permitido que o código possa ser modificado e distribuído gratuitamente. Para o desenvolvimento de uma API que pudesse realizar a deteção e o reconhecimento facial, aplicando uma filosofia Open Source, para além da tecnologia Django Rest Framework foram utilizadas tecnologias como Python, C ++, MySql e JSON. O protótipo é inicialmente capaz de reconhecer o número de rostos por imagem, e avaliar olhos, sorriso, idade e sexo. Mas para além disso, foi projetada flexibilidade para aumentar os recursos através da implementação de novos algoritmos em várias linguagens de programação

    QuiiQ automation foundation

    Get PDF
    Tese de mestrado. Engenharia Informática. Faculdade de Engenharia. Universidade do Porto. 200

    Integrating mobile and cloud resources management using the cloud personal assistant

    Get PDF
    The mobile cloud computing model promises to address the resource limitations of mobile devices, but effectively implementing this model is difficult. Previous work on mobile cloud computing has required the user to have a continuous, high-quality connection to the cloud infrastructure. This is undesirable and possibly infeasible, as the energy required on the mobile device to maintain a connection, and transfer sizeable amounts of data is large; the bandwidth tends to be quite variable, and low on cellular networks. The cloud deployment itself needs to efficiently allocate scalable resources to the user as well. In this paper, we formulate the best practices for efficiently managing the resources required for the mobile cloud model, namely energy, bandwidth and cloud computing resources. These practices can be realised with our mobile cloud middleware project, featuring the Cloud Personal Assistant (CPA). We compare this with the other approaches in the area, to highlight the importance of minimising the usage of these resources, and therefore ensure successful adoption of the model by end users. Based on results from experiments performed with mobile devices, we develop a no-overhead decision model for task and data offloading to the CPA of a user, which provides efficient management of mobile cloud resources

    Coordinating Aerial Robots and Unattended Ground Sensors for Intelligent Surveillance Systems

    Get PDF
    Sensor networks are being used to implement different types of sophisticated emerging applications, such as those aimed at supporting ambient intelligence and surveillance systems. This usage is enhanced by employing sensors with different characteristics in terms of sensing, computing and mobility capabilities, working cooperatively in the network. However, the design and deployment of these heterogeneous systems present several issues that have to be handled in order to meet the user expectations. The main problems are related to the nodes‘ interoperability and the overall resource allocation, both inter and intra nodes. The first problem requires a common platform that abstracts the nodes’ heterogeneity and provides a smooth communication, while the second is handled by cooperation mechanisms supported by the platform. Moreover, as the nodes are supposed to be heterogeneous, a customizable platform is required to support both resource rich and poorer nodes. This paper analyses surveillance systems based on a heterogeneous sensor network, which is composed by lowend ground sensor nodes and autonomous aerial robots, i.e. Unmanned Aerial Vehicles (UAVs), carrying different kinds of sensors. The approach proposed in this work tackles the two above mentioned problems by using a customizable hardware platform and a middleware to support interoperability. Experimental results are also provided
    corecore