Abstract. Various forms of pervasive computing environments are being deployed in an increasing number of areas including healthcare, home automation, and military. This evolution makes the development of pervasive computing applications challenging because it requires to manage a range of heterogeneous entities with a wide variety of functionalities. This paper presents Pantagruel, an approach to integrating a taxonomical description of a pervasive computing environment into a visual programming language. A taxonomy describes the relevant entities of a given pervasive computing area and serves as a parameter to a sensorcontroller-actuator development paradigm. The orchestration of areaspecific entities is supported by high-level constructs, customized with respect to taxonomical information. We have implemented a visual environment to develop taxonomies and orchestration rules. Furthermore, we have developed a compiler for Pantagruel and successfully used it for applications in various pervasive computing areas, such as home automation and building management.
International audienceModel-checking enables the automated formal verification of software systems through the explicit enumeration of all the reachable states. While this technique has been successfully applied to industrial systems, it suffers from the state-space explosion problem because of the exponential growth in the number of states with respect to the number of interacting components. In this paper, we present a new reachability analysis algorithm, named Past-Free[ze], that reduces the state-space explosion problem by freeing parts of the state-space from memory. This algorithm relies on the explicit isolation of the acyclic parts of the system before analysis. The parallel composition of these parts drives the reachability analysis, the core of all model-checkers. During the execution, the past states of the system are freed from memory making room for more future states. To enable counter-example construction, the past states can be stored on external storage. To show the effectiveness of the approach, the algorithm was implemented in the OBP Observation Engine and was evaluated both on a synthetic benchmark and on realistic case studies from automotive and aerospace domains. The benchmark, composed of 50 test cases, shows that in average, 75% of the state-space can be dropped from memory thus enabling the exploration of up to 14 times more states than traditional approaches. Moreover, in some cases, the reachability analysis time can be reduced by up to 25%. In realistic settings, the use of Past-Free[ze] enabled the exploration of a state-space 4.5 times larger on the automotive case study, where almost 50% of the states are freed from memory. Moreover, this approach offers the possibility of analyzing an arbitrary number of interactions between the environment and the system-under-verification; for instance, in the case of the aerospace example, 1000 pilot/system interactions could be analyzed unraveling an 80 GB state-space using only 10 GB of memor
Abstract-By nature, ubiquitous computing applications are intimately intertwined with users' everyday life. This situation is challenging because it requires to make the development of applications accessible to end-users. Furthermore, ubiquitous computing consists of a variety of areas, including home automation and assisted living, raising a need for an open-ended approach.We present Pantagruel, a visual programming language that is end-user oriented.Our approach is open-ended in that Pantagruel integrates a language to describe a ubiquitous computing environment. Such description takes the form of a taxonomy, defining the entities relevant to a given ubiquitous computing area. This description serves as a parameter to a sensorcontroller-actuator development paradigm. The orchestration of area-specific entities is supported by high-level constructs, customized with respect to taxonomical information.We have implemented a visual environment to prototyping ubiquitous computing applications. Furthermore, we have developed a compiler for Pantagruel that targets a domain-specific middleware. Our environment leverages a 2D renderer to enable the simulation and of applications. We successfully simulated a range of applications in various ubiquitous computing areas, such as home automation, assisted living and building management.
Home automation environments are dedicated to helping users in their everyday life and are being deployed in an increasing number of areas, including home security, energy consumption, and assisted living. The range of situations to be addressed makes the development of home automation applications challenging: it requires to manage heterogeneous entities with a wide variety of functionalities. Moreover, since this area covers a large spectrum of user needs, it is crucial to ease the development and the evolution of these applications. This paper presents Pantagruel, an expressive and accessible approach to integrating a taxonomical description of a home automation environment into a visual programming language. A taxonomy describes the relevant entities of a given home automation area and serves as a parameter to a sensor-controller-actuator development paradigm. The orchestration of area-specific entities is supported by high-level constructs, customized with respect to taxonomical information.We have implemented a visual environment that integrates a taxonomical approach in the development of orchestration rules. Furthermore, we have developed a compiler for Pantagruel and successfully used it to test applications in various areas related to orchestration development for the domain of home automation. Finally, we have successfully evaluated the usability of Pantagruel through a user study performed with eighteen novice programmers.
Various forms of pervasive computing environments are being deployed in an increasing number of areas including hospitals, homes and military settings. Entities in this environment provide rich functionalities (i.e. services). How to organize these heterogeneous and distributed entities to deliver user-defined services is challenging. Pantagruel is an approach to integrate a taxonomical description of a pervasive computing environment into a visual programming language. A taxonomy describes the relevant entities of a given pervasive computing area and serves as a parameter to a sensor-controller-actuator development paradigm. The orchestration of area-specific entities is supported by high-level constructs, customized with respect to taxonomical information. Pantagruel is also a language that describes and manages services. Further more, Pantagruel can be viewed as a high level service contract between the service designer and the program implementer. This paper presents a formalization of Pantagruel, both its syntax and semantics. Four kinds of static properties are stated based on the formalization. Predicate abstraction based algorithms are designed to verify the properties.
Abstract.A range of methodologies and techniques are available to guide the design and implementation of language extensions and domainspecific languages. A simple yet powerful technique is based on source-tosource transformations interleaved across the compilation passes of a base language. Despite being a successful approach, it has the main drawback that the input source code is lost in the process. When considering the whole workflow of program development (warning and error reporting, debugging, or even program analysis), program translations are no more powerful than a glorified macro language. In this paper, we propose an augmented approach to language extensions for Prolog, where symbolic annotations are included in the target program. These annotations allow selectively reversing the translated code. We illustrate the approach by showing that coupling it with minimal extensions to a generic Prolog debugger allows us to provide users with a familiar, source-level view during the debugging of programs which use a variety of language extensions, such as functional notation, DCGs, or CLP{Q,R}.
This paper presents the formal definition of a domain-specific language, named Pantagruel, following the methodology proposed by David Schmidt for language development. This language is dedicated to programming applications that orchestrate networked entities. It targets developers that are professionals in such domains as building management and assisted living, and want to leverage networked entities to support daily tasks. Pantagruel has a number of features that address the requirements of the domain of entity orchestration. Furthermore, Pantagruel provides high-level constructs that make it accessible to developers that do not necessarily have programming skills. It has been used to develop a number of applications by non-programmers. We show how the user-oriented programming concepts of Pantagruel are expressed in the denotational semantics of Pantagruel. This formal definition has been used to derive an interpreter for Pantagruel and to provide a basis to reason about Pantagruel programs
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.