8,795 research outputs found

    Feature-Aware Verification

    Full text link
    A software product line is a set of software products that are distinguished in terms of features (i.e., end-user--visible units of behavior). Feature interactions ---situations in which the combination of features leads to emergent and possibly critical behavior--- are a major source of failures in software product lines. We explore how feature-aware verification can improve the automatic detection of feature interactions in software product lines. Feature-aware verification uses product-line verification techniques and supports the specification of feature properties along with the features in separate and composable units. It integrates the technique of variability encoding to verify a product line without generating and checking a possibly exponential number of feature combinations. We developed the tool suite SPLverifier for feature-aware verification, which is based on standard model-checking technology. We applied it to an e-mail system that incorporates domain knowledge of AT&T. We found that feature interactions can be detected automatically based on specifications that have only feature-local knowledge, and that variability encoding significantly improves the verification performance when proving the absence of interactions.Comment: 12 pages, 9 figures, 1 tabl

    Ontology-based methodology for error detection in software design

    Get PDF
    Improving the quality of a software design with the goal of producing a high quality software product continues to grow in importance due to the costs that result from poorly designed software. It is commonly accepted that multiple design views are required in order to clearly specify the required functionality of software. There is universal agreement as to the importance of identifying inconsistencies early in the software design process, but the challenge is how to reconcile the representations of the diverse views to ensure consistency. To address the problem of inconsistencies that occur across multiple design views, this research introduces the Methodology for Objects to Agents (MOA). MOA utilizes a new ontology, the Ontology for Software Specification and Design (OSSD), as a common information model to integrate specification knowledge and design knowledge in order to facilitate the interoperability of formal requirements modeling tools and design tools, with the end goal of detecting inconsistency errors in a design. The methodology, which transforms designs represented using the Unified Modeling Language (UML) into representations written in formal agent-oriented modeling languages, integrates object-oriented concepts and agent-oriented concepts in order to take advantage of the benefits that both approaches can provide. The OSSD model is a hierarchical decomposition of software development concepts, including ontological constructs of objects, attributes, behavior, relations, states, transitions, goals, constraints, and plans. The methodology includes a consistency checking process that defines a consistency framework and an Inter-View Inconsistency Detection technique. MOA enhances software design quality by integrating multiple software design views, integrating object-oriented and agent-oriented concepts, and defining an error detection method that associates rules with ontological properties

    Analysis and simulation of emergent architectures for internet of things

    Get PDF
    The Internet of Things (IoT) promises a plethora of new services and applications supported by a wide range of devices that includes sensors and actuators. To reach its potential IoT must break down the silos that limit applications' interoperability and hinder their manageability. These silos' result from existing deployment techniques where each vendor set up its own infrastructure, duplicating the hardware and increasing the costs. Fog Computing can serve as the underlying platform to support IoT applications thus avoiding the silos'. Each application becomes a system formed by IoT devices (i.e. sensors, actuators), an edge infrastructure (i.e. Fog Computing) and the Cloud. In order to improve several aspects of human lives, different systems can interact to correlate data obtaining functionalities not achievable by any of the systems in isolation. Then, we can analyze the IoT as a whole system rather than a conjunction of isolated systems. Doing so leads to the building of Ultra-Large Scale Systems (ULSS), an extension of the concept of Systems of Systems (SoS), in several verticals including Autonomous Vehicles, Smart Cities, and Smart Grids. The scope of ULSS is large in the number of things and complex in the variety of applications, volume of data, and diversity of communication patterns. To handle this scale and complexity in this thesis we propose Hierarchical Emergent Behaviors (HEB), a paradigm that builds on the concepts of emergent behavior and hierarchical organization. Rather than explicitly program all possible situations in the vast space of ULSS scenarios, HEB relies on emergent behaviors induced by local rules that define the interactions of the "things" between themselves and also with their environment. We discuss the modifications to classical IoT architectures required by HEB, as well as the new challenges. Once these challenges such as scalability and manageability are addressed, we can illustrate HEB's usefulness dealing with an IoT-based ULSS through a case study based on Autonomous Vehicles (AVs). To this end we design and analyze well-though simulations that demonstrate its tremendous potential since small modifications to the basic set of rules induce different and interesting behaviors. Then we design a set of primitives to perform basic maneuver such as exiting a platoon formation and maneuvering in anticipation of obstacles beyond the range of on-board sensors. These simulations also evaluate the impact of a HEB deployment assisted by Fog nodes to enlarge the informational scope of vehicles. To conclude we develop a design methodology to build, evaluate, and run HEB-based solutions for AVs. We provide architectural foundations for the second level and its implications in major areas such as communications. These foundations are then validated through simulations that incorporate new rules, obtaining valuable experimental observations. The proposed architecture has a tremendous potential to solve the scalability issue found in ULSS, enabling IoT deployments to reach its true potential.El Internet de las Cosas (IoT) promete una plétora de nuevos servicios y aplicaciones habilitadas por una amplia gama de dispositivos que incluye sensores y actuadores. Para alcanzar su potencial, IoT debe superar los silos que limitan la interoperabilidad de las aplicaciones y dificultan su administración. Estos silos son el resultado de las técnicas de implementación existentes en las que cada proveedor instala su propia infraestructura y duplica el hardware, incrementando los costes. Fog Computing puede servir como la plataforma subyacente que soporte aplicaciones del IoT evitando así los silos. Cada aplicación se convierte en un sistema formado por dispositivos IoT (por ejemplo sensores y actuadores), una infraestructura (como Fog Computing) y la nube. Con el fin de mejorar varios aspectos de la vida humana, diferentes sistemas pueden interactuar para correlacionar datos obteniendo funcionalidades que no pueden lograrse por ninguno de los sistemas de forma aislada. Entonces, podemos analizar el IoT como un único sistema en lugar de una conjunción de sistemas aislados. Esta perspectiva conduce a la construcción de Ultra-Large Scale Systems (ULSS), una extensión del concepto de Systems of Systems (SoS), en varios verticales, incluidos los vehículos autónomos, Smart Cities y Smart Grids. El alcance de ULSS es vasto debido a la cantidad de dispositivos y complejo en la variedad de aplicaciones, volumen de datos y diversidad de patrones de comunicación. Para manejar esta escala y complejidad, en esta tesis proponemos Hierarchical Emergent Behaviors (HEB), un paradigma que se basa en los conceptos de comportamientos emergente y organización jerárquica. En lugar de programar explícitamente todas las situaciones posibles en el vasto espacio de escenarios presentes en los ULSS, HEB se basa en comportamientos emergentes inducidos por reglas locales que definen las interacciones de las "cosas" entre ellas y también con su entorno. Discutimos las modificaciones a las arquitecturas clásicas de IoT requeridas por HEB, así como los nuevos desafíos. Una vez que se abordan estos desafíos, como la escalabilidad y la capacidad de administración, podemos ilustrar la utilidad de HEB cuando se ocupa de un ULSS basado en IoT a través de un caso de estudio basado en Vehículos Autónomos (AV). Con este fin, diseñamos y analizamos simulaciones que demuestran su enorme potencial, ya que pequeñas modificaciones en el conjunto básico de reglas inducen comportamientos diferentes e interesantes. Luego, diseñamos un conjunto de primitivas para realizar una maniobra básica, como salir de un pelotón y maniobrar en anticipación de obstáculos más allá del alcance de los sensores de a bordo. Estas simulaciones también evalúan el impacto de una implementación de HEB asistida por nodos de Fog Computing para ampliar el alcance sensorial de los vehículos. Para concluir, desarrollamos una metodología de diseño para construir, evaluar y ejecutar soluciones basadas en HEB para AV. Brindamos fundamentos arquitectónicos para el segundo nivel de HEB y sus implicaciones en áreas importantes como las comunicaciones. Estas bases se validan a través de simulaciones que incorporan nuevas reglas, obteniendo valiosas observaciones experimentales. La arquitectura propuesta tiene un enorme potencial para resolver el problema de escalabilidad que presentan los ULSS, permitiendo que las implementaciones de IoT alcancen su verdadero potencial.Postprint (published version

    Analysis and simulation of emergent architectures for internet of things

    Get PDF
    The Internet of Things (IoT) promises a plethora of new services and applications supported by a wide range of devices that includes sensors and actuators. To reach its potential IoT must break down the silos that limit applications' interoperability and hinder their manageability. These silos' result from existing deployment techniques where each vendor set up its own infrastructure, duplicating the hardware and increasing the costs. Fog Computing can serve as the underlying platform to support IoT applications thus avoiding the silos'. Each application becomes a system formed by IoT devices (i.e. sensors, actuators), an edge infrastructure (i.e. Fog Computing) and the Cloud. In order to improve several aspects of human lives, different systems can interact to correlate data obtaining functionalities not achievable by any of the systems in isolation. Then, we can analyze the IoT as a whole system rather than a conjunction of isolated systems. Doing so leads to the building of Ultra-Large Scale Systems (ULSS), an extension of the concept of Systems of Systems (SoS), in several verticals including Autonomous Vehicles, Smart Cities, and Smart Grids. The scope of ULSS is large in the number of things and complex in the variety of applications, volume of data, and diversity of communication patterns. To handle this scale and complexity in this thesis we propose Hierarchical Emergent Behaviors (HEB), a paradigm that builds on the concepts of emergent behavior and hierarchical organization. Rather than explicitly program all possible situations in the vast space of ULSS scenarios, HEB relies on emergent behaviors induced by local rules that define the interactions of the "things" between themselves and also with their environment. We discuss the modifications to classical IoT architectures required by HEB, as well as the new challenges. Once these challenges such as scalability and manageability are addressed, we can illustrate HEB's usefulness dealing with an IoT-based ULSS through a case study based on Autonomous Vehicles (AVs). To this end we design and analyze well-though simulations that demonstrate its tremendous potential since small modifications to the basic set of rules induce different and interesting behaviors. Then we design a set of primitives to perform basic maneuver such as exiting a platoon formation and maneuvering in anticipation of obstacles beyond the range of on-board sensors. These simulations also evaluate the impact of a HEB deployment assisted by Fog nodes to enlarge the informational scope of vehicles. To conclude we develop a design methodology to build, evaluate, and run HEB-based solutions for AVs. We provide architectural foundations for the second level and its implications in major areas such as communications. These foundations are then validated through simulations that incorporate new rules, obtaining valuable experimental observations. The proposed architecture has a tremendous potential to solve the scalability issue found in ULSS, enabling IoT deployments to reach its true potential.El Internet de las Cosas (IoT) promete una plétora de nuevos servicios y aplicaciones habilitadas por una amplia gama de dispositivos que incluye sensores y actuadores. Para alcanzar su potencial, IoT debe superar los silos que limitan la interoperabilidad de las aplicaciones y dificultan su administración. Estos silos son el resultado de las técnicas de implementación existentes en las que cada proveedor instala su propia infraestructura y duplica el hardware, incrementando los costes. Fog Computing puede servir como la plataforma subyacente que soporte aplicaciones del IoT evitando así los silos. Cada aplicación se convierte en un sistema formado por dispositivos IoT (por ejemplo sensores y actuadores), una infraestructura (como Fog Computing) y la nube. Con el fin de mejorar varios aspectos de la vida humana, diferentes sistemas pueden interactuar para correlacionar datos obteniendo funcionalidades que no pueden lograrse por ninguno de los sistemas de forma aislada. Entonces, podemos analizar el IoT como un único sistema en lugar de una conjunción de sistemas aislados. Esta perspectiva conduce a la construcción de Ultra-Large Scale Systems (ULSS), una extensión del concepto de Systems of Systems (SoS), en varios verticales, incluidos los vehículos autónomos, Smart Cities y Smart Grids. El alcance de ULSS es vasto debido a la cantidad de dispositivos y complejo en la variedad de aplicaciones, volumen de datos y diversidad de patrones de comunicación. Para manejar esta escala y complejidad, en esta tesis proponemos Hierarchical Emergent Behaviors (HEB), un paradigma que se basa en los conceptos de comportamientos emergente y organización jerárquica. En lugar de programar explícitamente todas las situaciones posibles en el vasto espacio de escenarios presentes en los ULSS, HEB se basa en comportamientos emergentes inducidos por reglas locales que definen las interacciones de las "cosas" entre ellas y también con su entorno. Discutimos las modificaciones a las arquitecturas clásicas de IoT requeridas por HEB, así como los nuevos desafíos. Una vez que se abordan estos desafíos, como la escalabilidad y la capacidad de administración, podemos ilustrar la utilidad de HEB cuando se ocupa de un ULSS basado en IoT a través de un caso de estudio basado en Vehículos Autónomos (AV). Con este fin, diseñamos y analizamos simulaciones que demuestran su enorme potencial, ya que pequeñas modificaciones en el conjunto básico de reglas inducen comportamientos diferentes e interesantes. Luego, diseñamos un conjunto de primitivas para realizar una maniobra básica, como salir de un pelotón y maniobrar en anticipación de obstáculos más allá del alcance de los sensores de a bordo. Estas simulaciones también evalúan el impacto de una implementación de HEB asistida por nodos de Fog Computing para ampliar el alcance sensorial de los vehículos. Para concluir, desarrollamos una metodología de diseño para construir, evaluar y ejecutar soluciones basadas en HEB para AV. Brindamos fundamentos arquitectónicos para el segundo nivel de HEB y sus implicaciones en áreas importantes como las comunicaciones. Estas bases se validan a través de simulaciones que incorporan nuevas reglas, obteniendo valiosas observaciones experimentales. La arquitectura propuesta tiene un enorme potencial para resolver el problema de escalabilidad que presentan los ULSS, permitiendo que las implementaciones de IoT alcancen su verdadero potencial

    Modelling and analyzing adaptive self-assembling strategies with Maude

    Get PDF
    Building adaptive systems with predictable emergent behavior is a challenging task and it is becoming a critical need. The research community has accepted the challenge by introducing approaches of various nature: from software architectures, to programming paradigms, to analysis techniques. We recently proposed a conceptual framework for adaptation centered around the role of control data. In this paper we show that it can be naturally realized in a reflective logical language like Maude by using the Reflective Russian Dolls model. Moreover, we exploit this model to specify and analyse a prominent example of adaptive system: robot swarms equipped with obstacle-avoidance self-assembly strategies. The analysis exploits the statistical model checker PVesta
    • …
    corecore