6 research outputs found

    UBIDEV: a homogeneous service framework for pervasive computing environments

    Get PDF
    This dissertation studies the heterogeneity problem of pervasive computing system from the viewpoint of an infrastructure aiming to provide a service-oriented application model. From Distributed System passing through mobile computing, pervasive computing is presented as a step forward in ubiquitous availability of services and proliferation of interacting autonomous entities. To better understand the problems related to the heterogeneous and dynamic nature of pervasive computing environments, we need to analyze the structure of a pervasive computing system from its physical and service dimension. The physical dimension describes the physical environment together wit the technology infrastructure that characterizes the interactions and the relations within the environment; the service dimension represents the services (being them software or not) the environment is able to provide [Nor99]. To better separate the constrains and the functionalities of a pervasive computing system, this dissertation classifies it in terms of resources, context, classification, services, coordination and application. UBIDEV, as the key result of this dissertation, introduces a unified model helping the design and the implementation of applications for heterogeneous and dynamic environments. This model is composed of the following concepts: ā€¢ Resource: all elements of the environment that are manipulated by the application, they are the atomic abstraction unit of the model. ā€¢ Context: all information coming from the environment that is used by the application to adapts its behavior. Context contains resources and services and defines their role in the application. ā€¢ Classification: the environment is classified according to the application ontology in order to ground the generic conceptual model of the application to the specific environment. It defines the basic semantic level of interoperability. ā€¢ Service: the functionalities supported by the system; each service manipulates one or more resources. Applications are defined as a coordination and adaptation of services. ā€¢ Coordination: all aspects related to service composition and execution as well as the use of the contextual information are captured by the coordination concept. ā€¢ Application Ontology: represents the viewpoint of the application on the specific context; it defines the high level semantic of resources, services and context. Applying the design paradigm proposed by UBIDEV, allows to describe applications according to a Service Oriented Architecture[Bie02], and to focus on application functionalities rather than their relations with the physical devices. Keywords: pervasive computing, homogenous environment, service-oriented, heterogeneity problem, coordination model, context model, resource management, service management, application interfaces, ontology, semantic services, interaction logic, description logic.Questa dissertazione studia il problema della eterogeneit`a nei sistemi pervasivi proponendo una infrastruttura basata su un modello orientato ai servizi. I sistemi pervasivi sono presentati come unā€™evoluzione naturale dei sistemi distribuiti, passando attraverso mobile computing, grazie ad una disponibilit`a ubiqua di servizi (sempre, ovunque ed in qualunque modo) e ad loro e con lā€™ambiente stesso. Al fine di meglio comprendere i problemi legati allintrinseca eterogeneit`a dei sistemi pervasivi, dobbiamo prima descrivere la struttura fondamentale di questi sistemi classificandoli attraverso la loro dimensione fisica e quella dei loro servizi. La dimensione fisica descrive lā€™ambiente fisico e tutti i dispositivi che fanno parte del contesto della applicazione. La dimensione dei servizi descrive le funzionalit`a (siano esse software o no) che lā€™ambiente `e in grado di fornire [Nor99]. I sistemi pervasivi vengono cos`ı classificati attraverso una metrica pi `u formale del tipo risorse, contesto, servizi, coordinazione ed applicazione. UBIDEV, come risultato di questa dissertazione, introduce un modello uniforme per la descrizione e lo sviluppo di applicazioni in ambienti dinamici ed eterogenei. Il modello `e composto dai seguenti concetti di base: ā€¢ Risorse: gli elementi dellā€™ambiente fisico che fanno parte del modello dellapplicazione. Questi rappresentano lā€™unit`a di astrazione atomica di tutto il modello UBIDEV. ā€¢ Contesto: le informazioni sullo stato dellā€™ambiente che il sistema utilizza per adattare il comportamento dellā€™applicazione. Il contesto include informazioni legate alle risorse, ai servizi ed alle relazioni che li legano. ā€¢ Classificazione: lā€™ambiente viene classificato sulla base di una ontologia che rappresenta il punto di accordo a cui tutti i moduli di sistema fanno riferimento. Questa classificazione rappresenta il modello concettuale dellā€™applicazione che si riflette sullā€™intero ambiente. Si definisce cos`ı la semantica di base per tutto il sistema. ā€¢ Servizi: le funzionalit`a che il sistema `e in grado di fornire; ogni servizio `e descritto in termini di trasformazione di una o pi `u risorse. Le applicazioni sono cos`ı definite in termini di cooperazione tra servizi autonomi. ā€¢ Coordinazione: tutti gli aspetti legati alla composizione ed alla esecuzione di servizi cos`ı come lā€™elaborazione dellā€™informazione contestuale. ā€¢ Ontologia dellā€™Applicazione: rappresenta il punto di vista dellā€™applicazione; definisce la semantica delle risorse, dei servizi e dellā€™informazione contestuale. Applicando il paradigma proposto da UBIDEV, si possono descrivere applicazioni in accordo con un modello Service-oriented [Bie02] ed, al tempo stesso, ridurre lā€™applicazione stessa alle sue funzionalit`a di alto livello senza intervenire troppo su come queste funzionalit` a devono essere realizzate dalle singole componenti fisiche

    The Computational Complexity of Evolving Systems

    Get PDF
    Evolving systems are systems that change over time. Examples of evolving systems are computers with soft-and hardware upgrades and dynamic networks of computers that communicate with each other, but also colonies of cooperating organisms or cells within a single organism. In this research, several models are designed that represent evolving systems in a suitable fashion. The causes of the changes are not taken into account for these models. One of these models uses a sequence of objects to model an evolving system. The objects in a sequence represent snapshots of an evolving system, taken one after the other. The relationship between the amount of available time and memory and the efficiency with which computer systems perform their tasks has been well studied. The influence of changes in a system on their efficiency is unknown. In this research, the relationship between changes of an evolving computer system and the efficiency of the system is studied. A whole new theory is developed to formulate and better understand this relationship and related problems. The amount of change in a system is measured by determining the complexity of the individual components in a sequence that represents the evolving system. In theory, evolving systems possess "super-Turing" computational power, i.e., they are powerful enough to solve any problem. By imposing restrictions on the size of the changes, the theoretical power is reduced to a more realistic scale. The results proved in the thesis illustrate that many methods and techniques that are used to prove results in the classical complexity theory can be used, with the necessary modifications, to prove similar results in the complexity theory of evolving systems

    Creating a Metric to Measure Software Flexibility in Object-Oriented Programming

    Get PDF
    Business requirements inevitably change over time due to market shifts, law changes, new product launches or any number of other factors. The software being used by these businesses therefore also has to be adapted to meet the new requirements. How software is built has an impact on how easily and quickly the software can be changed to meet these new requirements. This thesis firstly identifies programming practices which make software difficult to adapt. To establish that these practices are genuinely considered "bad practice" a metric was created for grading the academic rigour of articles discussing a programming practice and this metric was used to perform meta-analyses of each practice identified, this meta-analysis methodology is based loosely on the methodology used for performing meta-analyses of clinical trials. The results of these meta-analyses demonstrated that the identified practices were widely considered bad practice by developers. Another metric was created to grade source code based on the frequency these bad practices appear in the code and give an overview of how flexible the code is. The aim of this metric is to facilitate learning for junior programmers while allowing more experienced programmers to evaluate the flexibility of software. A software tool was launched to enable users to evaluate and test the metric which was created. The metric was evaluated by comparison to alternative metrics and through user feedback

    Interaction as a basis for empirical computer science

    No full text
    corecore