710 research outputs found
From Temporal Models to Property-Based Testing
This paper presents a framework to apply property-based testing (PBT) on top
of temporal formal models. The aim of this work is to help software engineers
to understand temporal models that are presented formally and to make use of
the advantages of formal methods: the core time-based constructs of a formal
method are schematically translated to the BeSpaceD extension of the Scala
programming language. This allows us to have an executable Scala code that
corresponds to the formal model, as well as to perform PBT of the models
functionality. To model temporal properties of the systems, in the current work
we focus on two formal languages, TLA+ and FocusST.Comment: Preprint. Accepted to the 12th International Conference on Evaluation
of Novel Approaches to Software Engineering (ENASE 2017). Final version
published by SCITEPRESS, http://www.scitepress.or
Computer-Assisted Program Reasoning Based on a Relational Semantics of Programs
We present an approach to program reasoning which inserts between a program
and its verification conditions an additional layer, the denotation of the
program expressed in a declarative form. The program is first translated into
its denotation from which subsequently the verification conditions are
generated. However, even before (and independently of) any verification
attempt, one may investigate the denotation itself to get insight into the
"semantic essence" of the program, in particular to see whether the denotation
indeed gives reason to believe that the program has the expected behavior.
Errors in the program and in the meta-information may thus be detected and
fixed prior to actually performing the formal verification. More concretely,
following the relational approach to program semantics, we model the effect of
a program as a binary relation on program states. A formal calculus is devised
to derive from a program a logic formula that describes this relation and is
subject for inspection and manipulation. We have implemented this idea in a
comprehensive form in the RISC ProgramExplorer, a new program reasoning
environment for educational purposes which encompasses the previously developed
RISC ProofNavigator as an interactive proving assistant.Comment: In Proceedings THedu'11, arXiv:1202.453
Dynamic Composition of Cyber-Physical Systems
Future cyber-physical systems must fulfill strong demands on timeliness and reliability, so that the safety of their operational environment is never violated. At the same time, such systems are networked computers with the typical demand for reconfigurability and software modification. The combination of both expectations makes established modeling and analysis techniques difficult to apply, since they cannot scale with the number of possible operational constellations resulting from the dynamics. The problem increases when components with different non-functional demands are combined to one cyber-physical system and updated independent from each other. We propose a new approach for the design and development of composable, dynamic and dependable software architectures, with a focus on the area of networked embedded systems. Our key concept is the specification of software components and their non-functional composition constraints in the formal language TLA+. We discuss how this technique can be embedded in an overall software design workflow, and show the practical applicability with a detailed resource scheduling example
A standard-driven communication protocol for disconnected clinics in rural areas
The importance of the Electronic Health Record (EHR), which stores all healthcare-related data belonging to a patient, has been recognized in recent years by governments, institutions, and industry. Initiatives like Integrating the Healthcare Enterprise (IHE) have been developed for the definition of standard methodologies for secure and interoperable EHR exchanges among clinics and hospitals. Using the requisites specified by these initiatives, many large-scale projects have been set up to enable healthcare professionals to handle patients' EHRs. Applications deployed in these settings are often considered safety-critical, thus ensuring such security properties as confidentiality, authentication, and authorization is crucial for their success. In this paper, we propose a communication protocol, based on the IHE specifications, for authenticating healthcare professionals and assuring patients' safety in settings where no network connection is available, such as in rural areas of some developing countries. We define a specific threat model, driven by the experience of use cases covered by international projects, and prove that an intruder cannot cause damages to the safety of patients and their data by performing any of the attacks falling within this threat model. To demonstrate the feasibility and effectiveness of our protocol, we have fully implemented it
A model-driven approach to teaching concurrency
We present an undergraduate course on concurrent programming where formal models are used in different stages of the learning process. The main practical difference with other approaches lies in the fact that the ability to develop correct concurrent software relies on a systematic transformation of formal models of inter-process interaction (so called shared resources), rather than on the specific constructs of some programming language. Using a resource-centric rather than a language-centric approach has some benefits for both teachers and students. Besides the obvious advantage of being independent of the programming language, the models help in the early validation of concurrent software design, provide students and teachers with a lingua franca that greatly simplifies communication at the classroom and during supervision, and help in the automatic generation of tests for the practical assignments. This method has been in use, with slight variations, for some 15 years, surviving changes in the programming language and course length. In this article, we describe the components and structure of the current incarnation of the course?which uses Java as target language?and some tools used to support our method. We provide a detailed description of the different outcomes that the model-driven approach delivers (validation of the initial design, automatic generation of tests, and mechanical generation of code) from a teaching perspective. A critical discussion on the perceived advantages and risks of our approach follows, including some proposals on how these risks can be minimized. We include a statistical analysis to show that our method has a positive impact in the student ability to understand concurrency and to generate correct code
Recommended from our members
Tyrosine-Based Signals Regulate the Assembly of Daple⋅PARD3 Complex at Cell-Cell Junctions.
Polarized distribution of organelles and molecules inside a cell is vital for a range of cellular processes and its loss is frequently encountered in disease. Polarization during planar cell migration is a special condition in which cellular orientation is triggered by cell-cell contact. We demonstrate that the protein Daple (CCDC88C) is a component of cell junctions in epithelial cells which serves like a cellular "compass" for establishing and maintaining contact-triggered planar polarity. Furthermore, these processes may be mediated through interaction with the polarity regulator PARD3. This interaction, mediated by Daple's PDZ-binding motif (PBM) and the third PDZ domain of PARD3, is fine-tuned by tyrosine phosphorylation on Daple's PBM by receptor and non-receptor tyrosine kinases, such as Src. Hypophosphorylation strengthens the interaction, whereas hyperphosphorylation disrupts it, thereby revealing an unexpected role of Daple as a platform for signal integration and gradient sensing for tyrosine-based signals within the planar cell polarity pathway
- …