39 research outputs found

    Model checking medium access control for sensor networks

    Get PDF
    We describe verification of S-MAC, a medium access control protocol designed for wireless sensor networks, by means of the PRISM model checker. The S-MAC protocol is built on top of the IEEE 802.11 standard for wireless ad hoc networks and, as such, it uses the same randomised backoff procedure as a means to avoid collision. In order to minimise energy consumption, in S-MAC, nodes are periodically put into a sleep state. Synchronisation of the sleeping schedules is necessary for the nodes to be able to communicate. Intuitively, energy saving obtained through a periodic sleep mechanism will be at the expense of performance. In previous work on S-MAC verification, a combination of analytical techniques and simulation has been used to confirm the correctness of this intuition for a simplified (abstract) version of the protocol in which the initial schedules coordination phase is assumed correct. We show how we have used the PRISM model checker to verify the behaviour of S-MAC and compare it to that of IEEE 802.11

    Fast, Interactive Worst-Case Execution Time Analysis With Back-Annotation

    Get PDF
    Abstract—For hard real-time systems, static code analysis is needed to derive a safe bound on the worst-case execution time (WCET). Virtually all prior work has focused on the accuracy of WCET analysis without regard to the speed of analysis. The resulting algorithms are often too slow to be integrated into the development cycle, requiring WCET analysis to be postponed until a final verification phase. In this paper we propose interactive WCET analysis as a new method to provide near-instantaneous WCET feedback to the developer during software programming. We show that interactive WCET analysis is feasible using tree-based WCET calculation. The feedback is realized with a plugin for the Java editor jEdit, where the WCET values are back-annotated to the Java source at the statement level. Comparison of this treebased approach with the implicit path enumeration technique (IPET) shows that tree-based analysis scales better with respect to program size and gives similar WCET values. Index Terms—Real time systems, performance analysis, software performance, software reliability, software algorithms, safety I

    Parallel bug-finding in concurrent programs via reduced interleaving instances

    Get PDF
    Concurrency poses a major challenge for program verification, but it can also offer an opportunity to scale when subproblems can be analysed in parallel. We exploit this opportunity here and use a parametrizable code-to-code translation to generate a set of simpler program instances, each capturing a reduced set of the original program’s interleavings. These instances can then be checked independently in parallel. Our approach does not depend on the tool that is chosen for the final analysis, is compatible with weak memory models, and amplifies the effectiveness of existing tools, making them find bugs faster and with fewer resources. We use Lazy-CSeq as an off-the-shelf final verifier to demonstrate that our approach is able, already with a small number of cores, to find bugs in the hardest known concurrency benchmarks in a matter of minutes, whereas other dynamic and static tools fail to do so in hours

    jETI: ein serviceorientiertes framework zur high level AusfĂŒhrung von Remote-Komponenten

    Get PDF
    Mit dem massiven Aufkommen an geschĂ€ftlichem Datenaustausch in Zeiten voranschreitender Globalisierung, dem Erfolg des Community getriebenen Web 2.0 und dem expliziten Wandel hin zur serviceorientierten Denkweise insbesondere im Kontext komplexer GeschĂ€ftsprozesse wird vor allem deutlich, dass wachsender Bedarf an einer offenen, standardisierten Technologie zur Vernetzung, AusfĂŒhrung und Bereitstellung von Diensten und Prozessen besteht. Um diesen Bedarf zu decken, bestehende Probleme zu lösen und neue Aspekte der AusfĂŒhrung vernetzter Dienste zu erkennen soll in dieser Arbeit eine ganzheitliche Experimentierplattform zur serviceorientierten Orchestrierung, insbesondere von verteilt agierenden Komponenten vorgestellt werden. Nutzer sollen dabei in die Lage versetzt werden, FunktionalitĂ€ten auf eine möglichst einfache Art und Weise ausprobieren, benutzen und anbieten zu können. Im Kern soll hier der Teilbereich einer integrierten Umgebung beleuchtet werden, welche die Verifikation und Handhabung von standardisierten Remote Service Komponenten als auch die Anbindung heterogener, proprietĂ€rer Dienste von Drittanbietern unterstĂŒtzt. Die vorgelegte Arbeit umfasst dabei vor allem die Konzeption und Realisierung einer ganzheitlichen Service-Integrationsplattform, welche es nicht ausschließlich, aber insbesondere DomĂ€nenexperten ermöglichen soll, FunktionalitĂ€ten verteilt und effizient anbieten und nutzen zu können, was anhand komplexer und divergenter Fallstudien aus verschiedenen Fachrichtungen belegt wird. Zum Testen und evaluieren komplexer Technologien soll dabei zusĂ€tzlich eine integrierte Testumgebung dienen. Aktuelle Technologien des Semantic Web vervollstĂ€ndigen letztendlich das Einsatzgebiet in puncto automatischer Modellierung und Verifikation sowie dynamischer Suche von adĂ€quat dedizierten Diensten

    NOW: Orchestrating services in a nomadic network using a dedicated workflow language

    Get PDF
    AbstractOrchestrating services in nomadic or mobile ad hoc networks is not without a challenge, since these environments are built upon volatile connections. Services residing on mobile devices are exposed to (temporary) network failures, which must be considered the rule rather than the exception. This paper proposes a dedicated workflow language built on top of an ambient-oriented programming language that supports dynamic service discovery and communication primitives resilient to network failures. The proposed workflow language, NOW, has support for high level workflow abstractions for control flow, rich network and service failure detection, and failure handling through compensating actions, and dynamic data flow between the services in the environment. By adding this extra layer of abstraction, the application programmer is offered a flexible way to develop applications for nomadic networks

    Exploring Domain Specific Approaches to Software Model Checking

    Get PDF
    Model checking has proven to be an effective technology for verification and debugging in hardware domains and more recently in software domains. The major challenges in the application of model checking to software systems are: the mapping of software executables to model checker's input language and the intrinsic complexity of the ever growing software systems. This thesis explores the domain specific model checking approaches to large systems in order to optimize the state space storage for specific domains. Bogor [Bogor 2003] is an extensible, customizable, and highly modular model checking framework that supports general as well as domain specific software model checking. As a part of the thesis, domain specific extensions to Bogor's input language, called Bandera Intermediate Representation (BIR), were implemented by providing a plugin for Eclipse [Eclipse 2004]. Eclipse is a universal platform for tool integration and its plugin development environment facilitates addition of new plugins to the existing ones. Eclipse's extension mechanism is exploited by Bogor. Bogor was installed as an Eclipse plugin and with the help of Eclipse's Plugin Development Environment (PDE), new data types were integrated with the existing Bogor framework. Two case studies ('postfix calculator' using stack extension and 'resource allocation' using multiset extension) were investigated. Various metrics such as number of states, transitions, and maximum depth were analyzed. The complexity of the test cases was increased gradually to test the extensions for feasibility and scalability. The thesis also involves a comprehensive study of some of the well-known model checkers and their features, degree of automation, and input languages. It was observed that customizing the model checker as per domain specifications helped in achieving space reduction. The space reduction is prominent, especially in large domains where it contributes towards state space explosion solution. Although development of extensions is achievable, it requires a working knowledge of Eclipse and specific knowledge of model checking. In conclusion, a domain specific approach for software model checking was demonstrated to be a promising technology. Language extensions to BIR were successfully built and tested for accuracy and scalability.Computer Science Departmen
    corecore