30 research outputs found

    An extended interval temporal logic and a framing technique for temporal logic programming

    Get PDF
    PhD ThesisTemporal logic programming is a paradigm for specification and verification of concurrent programs in which a program can be written, and the properties of the program can be described and verified in a same notation. However, there are many aspects of programming in temporal logics that are not well-understood. One such an aspect is concurrent programming, another is framing and the third is synchronous communication for parallel processes. This thesis extends the original Interval Temporal Logic (ITL) to include infinite models, past operators, and a new projection operator for dealing with concurrent computation, synchronous communication, and framing in the context of temporal logic programming. The thesis generalizes the original ITL to include past operators such as previous and past chop, and extends the model to include infinite intervals. A considerable collection of logic laws regarding both propositional and first order logics is formalized and proved within model theory. After that, a subset of the extended ITL is formalized as a programming language, called extended Tempura. These extensions, as in their logic basis, include infinite models, the previous operator, projection and framing constructs. A normal form for programs within the extended Tempura is demonstrated. Next, a new projection operator is introduced. In the new construct, the sub-processes are autonomous; each process has the right to specify its own interval over which it is executed. The thesis presents a framing technique for temporal logic programming, which includes the definitions of new assignments, the assignment flag and the framing operator, the formalization of algebraic properties of the framing operator, the minimal model semantics of framed programs, as well as an executable framed interpreter. The synchronous communication operator await is based directly on the proposed framing technique. It enables us to deal with concurrent computation. Based on EITL and await operator, a framed concurrent temporal logic programming language, FTLL, is formally defined within EITL. Finally, the thesis describes a framed interpreter for the extended Tempura which has been developed in SICSTUS prolog. In the new interpreter, the implementation of new assignments, the frame operator, the await operator, and the new projection operator are all included

    Summer faculty fellowship program, 1984

    Get PDF
    Since 1964, the National Aeronautics and Space Administration (NASA) has supported a program of summer faculty fellowships for engineering and science educators. In a series of collaborations between NASA research and development centers and nearby universities, engineering faculty members spend 10 or 11 weeks working with professional peers on research. The Summer Faculty Program Committee of the American Society of Engineering Education supervises the programs. Objectives: (1) to further the professional knowledge of a qualified between participants and NASA; (3) to enrich and refresh the research and teaching activities of participants institutions; and (4) to contribute to the research objectives of the NASA center. Program Description: College or university faculty members will be appointed as research fellows to spend 10 weeks in cooperative research and study at the NASA-Langley Research Center. The fellow will devote approximately 90 percent of the time to a research problem and the remaining time to a study program. The study program will consist of lectures and seminars on topics of general interest or that are directly relevant to the fellow's research project. The lecturers and seminar leaders will be distinguished scientists and engineers from NASA, education, or industry

    Műszaki szemle 2006

    Get PDF

    Automated Validation of State-Based Client-Centric Isolation with TLA <sup>+</sup>

    Get PDF
    Clear consistency guarantees on data are paramount for the design and implementation of distributed systems. When implementing distributed applications, developers require approaches to verify the data consistency guarantees of an implementation choice. Crooks et al. define a state-based and client-centric model of database isolation. This paper formalizes this state-based model in, reproduces their examples and shows how to model check runtime traces and algorithms with this formalization. The formalized model in enables semi-automatic model checking for different implementation alternatives for transactional operations and allows checking of conformance to isolation levels. We reproduce examples of the original paper and confirm the isolation guarantees of the combination of the well-known 2-phase locking and 2-phase commit algorithms. Using model checking this formalization can also help finding bugs in incorrect specifications. This improves feasibility of automated checking of isolation guarantees in synthesized synchronization implementations and it provides an environment for experimenting with new designs.</p

    Theory and tool support for the formal verification of cryptographic protocols

    Get PDF
    Cryptographic protocols are an essential component of network communications. Despite their relatively small size compared to other distributed algorithms, they are known to be error-prone. This is due to the obligation to behave robustly in the context of unknown hostile attackers who might want to act against the security objectives of the jointly interacting entities. The need for techniques to verify the correctness of cryptographic protocols has stimulated the development of new frameworks and tools during the last decades. Among the various models is the spi calculus: a process calculus which is an extension of the pi calculus that incorporates cryptographic primitives. Process calculi such as the spi calculus offer the possibility to describe in a precise and concise way distributed algorithms such as cryptographic protocols. Moreover, spi calculus offers an elegant way to formalise some security properties of cryptographic protocols via behavioural equivalences. At the time this thesis began, this approach lacked tool support. Inspired by the situation in the pi calculus, we propose a new notion of behavioural equivalence for the spi calculus that is close to an algorithm. Besides, we propose a "coq" formalisation of our results that not only validates our theoretical developments but also will eventually be the basis of a certified tool that would automate equivalence checking of spi calculus terms. To complete the toolchain, we propose a formal semantics for an informal notation to describe cryptographic protocols, so called protocol narrations. We give a rigorous procedure to translate protocol narrations into spi calculus terms; this constitutes the foundations of our automatic translation tool "spyer"

    Programming with Specifications

    Get PDF
    This thesis explores the use of specifications for the construction of correct programs. We go beyond their standard use as run-time assertions, and present algorithms, techniques and implementations for the tasks of 1) program verification, 2) declarative programming and 3) software synthesis. These results are made possible by our advances in the domains of decision procedure design and implementation. In the first part of this thesis, we present a decidability result for a class of logics that support user-defined recursive function definitions. Constraints in this class can encode expressive properties of recursive data structures, such as sortedness of a list, or balancing of a search tree. As a result, complex verification conditions can be stated concisely and solved entirely automatically. We also present a new decision procedure for a logic to reason about sets and constraints over their cardinalities. The key insight lies in a technique to decompose con- straints according to mutual dependencies. Compared to previous techniques, our algorithm brings significant improvements in running times, and for the first time integrates reasoning about cardinalities within the popular DPLL(T ) setting. We integrated our algorithmic ad- vances into Leon, a static analyzer for functional programs. Leon can reason about constraints involving arbitrary recursive function definitions, and has the desirable theoretical property that it will always find counter-examples to assertions that do not hold. We illustrate the flexibility and efficiency of Leon through experimental evaluation, where we used it to prove detailed correctness properties of data structure implementations. We then illustrate how program specifications can be used as a high-level programming construct ; we present Kaplan, an extension of Scala with first-class logical constraints. Kaplan allows programmers to create, manipulate and combine constraints as they would any other data structure. Our implementation of Kaplan illustrates how declarative programming can be incorporated into an existing mainstream programming language. Moreover, we examine techniques to transform, at compile-time, program specifications into efficient executable code. This approach of software synthesis combines the correctness benefits of declarative programming with the efficiency of imperative or functional programming

    Arquitectura multiagente para E/S de alto rendimiento en clusters

    Full text link
    La E/S constituye en la actualidad uno de los principales cuellos de botella de los sistemas distribuidos de propósito general, debido al desequilibrio existente entre el tiempo de cómputo y de E/S. Una de las soluciones propuestas para este problema ha sido el uso de la E/S paralela. En esta área, se han originado un gran número de bibliotecas de E/S paralela y sistemas de ficheros paralelos. Este tipo de sistemas adolecen de algunos defectos y carencias. Muchos de ellos están concebidos para máquinas paralelas y no se integran adecuadamente en entornos distribuidos y clusters. El uso intensivo de clusters de estaciones de trabajo durante estos últimos años hace que este tipo de sistemas no sean adecuados en el escenario de computación actual. Otros sistemas, que se adaptan a este tipo de entornos, no incluyen capacidades de reconfiguración dinámica, por lo que tienen una funcionalidad limitada. Por último, la mayoría de los sistemas de E/S que utilizan diferentes optimizaciones de E/S, no ofrecen flexibilidad a las aplicaciones para hacer uso de las mismas, intentando ocultar al usuario este tipo de técnicas. No obstante, a fin de optimizar las operaciones de E/S, es importante que las aplicaciones sean capaces de describir sus patrones de acceso, interactuando con el sistema de E/S. En otro ámbito, dentro del área de los sistemas distribuidos se encuentra el paradigma de agentes, que permite dotar a las aplicaciones de un conjunto de propiedades muy adecuadas para su adaptación a entornos complejos y dinámicos. Las características de este paradigma lo hacen a priori prometedor para abordar algunos de los problemas existentes en el campo de la E/S paralela. Esta tesis propone una solución a la problemática actual de E/S a través de tres líneas principales: (i) el uso de la teoría de agentes en sistemas de E/S de alto rendimiento, (ii) la definición de un formalismo que permita la reconfiguración dinámica de nodos de almacenamiento en un cluster y (iii) el uso de técnicas de optimización de E/S configurables y orientadas a las aplicaciones

    Cognitive assistance in intelligent environments

    Get PDF
    Tese de doutoramento em Engenharia BiomédicaCurrently society responds badly to some social issues. One of the problems lies on the society concept itself. The common pyramid describing the social strata does not reflect the new social reality, given that the elderly strata largely exceed the teenage strata. This fact also implies a change in terms of social and medical needs. Thus, a great number of medical services should be adapted to respond to the needs of the elderly people. In fact, any common family cannot take care of an elderly person and, in many cases they cannot also afford the required medical care. Having less time, and often, less money, a family cannot have their older relatives in their homes. In addition, the necessary support required to overcome the elderly limitations, makes it even more difficult. One solution could be that elderly people go to nursing homes or care centers. However, due to the overgrowth of the elderly community, geriatric units are not enough to take care of all those people. As a solution, technology can provide wellbeing and assistance in the elderly everyday life through personalized services at low cost. This thesis presents a cognitive assistant platform, named iGenda. A cognitive assistant provides numerous user oriented services, and it ubiquitously and transparently interacts directly with the user. Therefore, this research work has as motto: impacting the user’s life without causing an impact. It means that the platform aim is to influence the user’s life, by providing a greater quality of life, without being too complex to use. The answers to our society’s social and technological challenges are provided by the development of a platform that is intuitive to the user, cheap and able to be integrated in an Ambient Assisted Living ecosystem. Thus, this thesis presents a multi-agent, platform-independent architecture capable of intelligent scheduling. Being the cognitive assistant implemented in four case studies, namely: a sensor platform, a digital clinical guideline system, an orientation system based on augmented reality, and a fall detection application. These case studies validate the social and technological challenges, therefore the iGenda too. This is due to the complete integration with other systems, without major changes of the architecture and archetype.Atualmente, a sociedade debate-se com um problema para o qual não há uma solução simples. O problema reside na própria sociedade, mais especificamente no seu conceito. A pirâmide populacional clássica não retrata a sociedade como é atualmente, sendo que o número de idosos ultrapassa o número de jovens. Ora, este facto acarreta uma mudança nas necessidades sociais e cuidados médicos. Deste modo, um grande número de serviços médicos têm que ser reajustados para as necessidades das pessoas mais idosas. Com menos tempo e frequentemente sem dinheiro, a família não é capaz de ter um idoso na sua casa. Tendo em conta as limitações das pessoas idosas em termos de saúde, a incapacidade de assistir uma pessoa idosa é ainda maior. Uma possível solução é colocar os idosos em casas de repouso ou centros geriátricos. Contudo, devido ao crescimento da comunidade idosa, não existem unidades geriátricas suficientes para todas as pessoas. A tecnologia pode providenciar assistência e bem-estar na vida cotidiana de uma pessoa idosa, através de serviços personalizados de baixo custo, servindo como uma possível resposta aos problemas apresentados. Nesta tese apresenta-se o iGenda, como uma plataforma de desenvolvimento de assistentes cognitivos. Um assistente cognitivo que assegura vários serviços orientados ao utilizador, interagindo com o utilizador de forma ubíqua e transparente. Este trabalho de investigação tem como lema: mudar a vida do utilizador sem o mudar. Isto significa que a plataforma tem como objetivo mudar a vida do utilizador, ao proporcionar uma maior qualidade de vida, sem que o utilizador tenha dificuldade a adaptar-se ou a utilizar a plataforma. As respostas para os desafios sociais e tecnológicos apresentados pela nossa sociedade são fornecidas pelo desenvolvimento de uma plataforma intuitiva, barata e capaz de ser integrada num ecossistema de Ambient Assisted Living. Deste modo, o processo de agendamento inteligente é assegurado por uma arquitetura multiagente e independente de plataformas, apresentada nesta tese. Sendo que o assistente cognitivo é implementado em quatro casos de estudo: uma plataforma de sensores, um sistema digital de guias clínicos, um sistema de orientação baseado em realidade aumentada e um sistema de deteção de quedas. Estes casos de estudo validam os desafios sociais e tecnológicos, portanto validando também o iGenda. Isto verifica-se com a integração completa com outros sistemas, sem muitas alterações à arquitetura ou ao arquétip
    corecore