KNAW

Research

Abstraction Refinement for Timed Systems

Pagina-navigatie:
Title Abstraction Refinement for Timed Systems
Period 01 / 2008 - 01 / 2012
Status Current
Dissertation Yes
Data Supplier: NWO

Abstract

Characteristic for embedded systems is that they have to meet a multitude of quantitative constraints. These constraints involve the resources that a system may use (computation resources, power concumption, memory usage, communication bandwidth, costs, etc), assumptions about the environment in which it operates (arrival rates, continuous behavior), and requirements on the services that the system has to provide (timing constraints, QoS, fault tolerance, etc). Model-Driven Development (MDD) is a new software development technique in which the primary software artifacts are models providing a collection of views. Existing MDD tools for real-time embedded systems are rather sophisticated in handling functional requirements but their treatment of quantitative constraints is still very limited. Hence MDD will not realize its full potential in the embedded systems area unless the ability to handle quantitative properties is drastically improved. The goal of this project is to automatically construct abstractions of embedded system models (e.g. real-time UML) that contain sufficient information to analyze timing behavior of the original models but can still be analyzed using real-time model checkers. To begin with, we want to develop a prototype tool based on the (publicly available) DBM library that has been developed by the UPPAAL designers. DBMs are efficient data structures to represent clock constraints in timed automata. They are used in UPPAAL as the core data structure to symbolically represent timing information. We will apply our prototype implementation to a number of simple verification problems to assess and fine tune the effectiveness of the abstraction techniques. Next we intend to add the abstraction refinement technique to the full UPPAAL model checker. If feasible, we intend to combine our DBM based abstraction refinement technique with the Boolean abstraction refinement techniques used in BLAST and SLAM. The extensions will be evaluated experimentally by applying them to a series of existing benchmarks. Also, towards the end of the project, we will evaluate the ability of the tool to analyze real-time UML models.

Abstract (NL)

Het gedrag van computers wordt typisch gemodelleerd in termen van eindige automaten met toestanden en discrete overgangen daartussen. Een centraal probleem binnen de informatica is dat het aantal (bereikbare) toestanden van een realistisch systeem al snel uit de hand loopt: wanneer een programma (of hardwarecomponent) bijvoorbeeld gebruikmaakt van honderd variabelen die ieder een (geheeltallige) waarde van 0 tot en met 9 mogen aannemen, dan is het aantal bereikbare toestanden in potentie googol ($10^{100}$), veel groter dan het aantal atomen in het universum. De meeste IT-applicaties hebben veel meer dan googol toestanden. Recent is er door informatici spectaculaire vooruitgang geboekt ten aanzien van het rekenen met grote toestandsruimtes (``model checking''). Een basisidee is dat men de bereikbare toestanden niet een voor een afloopt maar rekent met (compact gerepresenteerde) verzamelingen van toestanden tegelijk. Ook is er veel onderzoek gedaan naar het automatisch construeren van abstracties. Zo kan de computer bijvoorbeeld detecteren dat de precieze waarde van een integervariabele er niet toe doet en dat het voldoende is om te weten of die positief, negatief dan wel nul is. Er zijn nu gereedschappen die abstractie en model-checking combineren om functionele eigenschappen van broncode te analyseren (bijvoorbeeld device drivers van Microsoft met meer dan 100.000 regels C code). Steeds meer software is ingebouwd (embedded) in apparaten waarvan het de functionaliteit bepaalt (copieermachines, vliegtuigen, autos, treinen). Deze embedded systemen moeten voldoen aan een groot aantal kwantitatieve eisen (geheugengebruik, energieconsumptie, real-time, enz). Alhoewel speciaal voor dit doel ontwikkelde model checkers (zoals de real-time model checker UPPAAL) inmiddels zeer effectief zijn in het doorrekenen van kwantitatieve eigenschappen van abstracte modellen, is er momenteel nog geen goed gereedschap om automatisch goede abstracties te construeren. Het doel van dit project is om zulk gereedschap te ontwikkelen: programmatuur waarmee het real-time gedrag van modellen en software voor embedded systemen geanalyseerd kan worden. Hiertoe willen we de techniek van tegenvoorbeeld gedreven abstractie verfijning ontwikkelen in de setting van real-time systemen. Deze techniek is zeer succesvol gebleken bij het analyseren van functionele eigenschappen van broncode, en is daarnaast met succes toegepast bij het analyseren van hybride (gemengd discreet/continue) systemen. Totnutoe heeft niemand tegenvoorbeeld gedreven abstractie verfijning ontwikkeld voor het analyseren van de bereikbare toestanden van real-time systemen. Dit is ook niet eenvoudig, maar wij denken dat het mogelijk is en verwachten dat het zeer effectief zal zijn. Allereerst willen we een prototype gereedschap ontwikkelen gebruikmakend van een bestaand pakket voor het manipuleren van Difference Bounded Matrices (DBMs), een datastructuur die een essenti\"ele rol speelt in bestaande real-time model checkers. Na evaluatie en fine tuning van het prototype op basis van een aantal standaard benchmarks willen we, in samenwerking met collega's van de universiteit van Aalborg, de techniek toevoegen aan UPPAAL, een state-of-the-art model checker voor real-time systemen. We willen daarbij proberen om de door ons ontwikkelde abstractie verfijning voor real-time gedrag (DBMs) te combineren met de bestaande abstractie verfijning voor discrete toestandsruimtes. Vervolgens willen we de techniek evalueren middels toepassing op industriƫle real-time UML modellen.

Related organisations

Related people

Supervisor Prof.dr. F.W. Vaandrager
Doctoral/PhD student F. Heidarian Dehkordi
Update this data

Go to page top
Go back to contents
Go back to site navigation