electronic system level design and verification n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Electronic System Level Design and Verification PowerPoint Presentation
Download Presentation
Electronic System Level Design and Verification

Loading in 2 Seconds...

play fullscreen
1 / 34

Electronic System Level Design and Verification - PowerPoint PPT Presentation


  • 111 Views
  • Uploaded on

Electronic System Level Design and Verification. HM-ES-th2 Les 9 en 10. Electronic System Level Design and Verification. HM-ES-th2 Les 9. UPPAAL. UPPAAL is een geïntegreerde tool voor het modeleren , valideren en verifiëren van real-time systemen .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Electronic System Level Design and Verification' - zahir-wilcox


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
uppaal
UPPAAL
  • UPPAAL is een geïntegreerde tool voor het modeleren, valideren en verifiëren van real-time systemen.
  • Een UPPAAL model bestaat uit een netwerk van timed finite state machines, uitgebreid met datatypes.
  • UPPAAL is gratis te gebruiken voor niet-commercieel gebruik in het hoger onderwijs. Voor commercieel gebruik moet worden betaald.
uppaal model
UPPAAL model
  • Een UPPAAL modelbestaatuit:
    • Globaledeclaraties
      • Types
        • Bounded integers
        • Arrays
        • Structs
      • Variabelen
      • Functies (in C syntax)
      • Channels (voorsynchronisatie)
      • Clocks (voor het bijhouden van de tijd)
    • Proces templates
      • Grafischweergegevenalseen timed FSMD (Finite State Machine with Data)
      • Lokaledeclaraties
    • System declarations
      • Instantieertprocessen
uppaal proces
UPPAAL proces
  • Een UPPAAL proces wordt grafisch weergegeven en bestaat uit:
    • Toestanden (positions)
    • Overgangen (transitions) eventueelvoorzien van:
      • Guard (voorwaardewaaronder transition mogelijk is)
      • Synchronization (rendezvous via een channel):
        • c!  synchroniseer met c? op channel c
        • c?  synchroniseer met c! channel c
      • Update:
        • Toekenningenaanvariabelen.
        • Reset van de tijd
uppaal template
UPPAAL template
  • We kunneneen UPPAAL procesdefiniërenalseen template met parameters (vergelijkbaar met een C++ template)
  • Erkunnenverschillende instances van deze template wordenaangemaakt (met verschillendeargumenten)
uppaal voorbeeld
UPPAAL voorbeeld
  • Dining Philosophers
dining philosophers1
Dining Philosophers

reference parameter

position name

start position

dining philosophers2
DiningPhilosophers

synchronization

guard

update

dining philosophers3
DiningPhilosophers

bounded integer

uppaal model1
UPPAAL Model
  • We kunneneen UPPAAL model:
    • Simuleren (valideren)
    • Checken (verifiëren)
      • Met behulpvan Requirement Specification Language (Query Language)
        • Subset van TCTL = Timed Computation Tree Logic
requirement s pecification language
RequirementSpecification Language
  • Proposities
    • Vergelijkingenbijvoorbeeld a>3bijvoorbeeldInit.i==5 (lokalevariabelei in procesInit)
    • Procesbevindzich in eenbepaaldetoestandbijvoorbeeld P0.Eat
  • Expressies met meerdereproposities
    • Propositielogica: &&, and, ||, or, !, not, imply
    • Predicatenlogica: A (vooralle), E (er is een)
    • Linear Temporal Logic: [] (altijd), <> (ooit)
dining philosophers7
Dining Philosophers
  • Wat is het verschiltussen het UPPAAL model en het op het practicum bestudeerde SPIN model?

In het UPPAAL model kaneenfilosoofeenvorknietneerleggen, maar alleendoorgevenaaneenanderefilosoof

Huiswerk!

Pas het model aanzodateenvorkneergelegdkanworden!

uppaal1
UPPAAL

Huiswerk!

Bestudeer: “Uppaal4.0: Small Tutorial” en bedenk vragen!

uitwerking huiswerk
Uitwerkinghuiswerk

chan& pickup_left, chan& laydown_left,

chan& pickup_right, chan& laydown_right

chan& pickup, chan& laydown

Fork:

Philo:

System declarations:

P0 = Philo(pickup[0], laydown[0], pickup[1], laydown[1]);

P1 = Philo(pickup[1], laydown[1], pickup[2], laydown[2]);

P2 = Philo(pickup[2], laydown[2], pickup[3], laydown[3]);

P3 = Philo(pickup[3], laydown[3], pickup[4], laydown[4]);

P4 = Philo(pickup[4], laydown[4], pickup[0], laydown[0]);

F0 = Fork(pickup[0], laydown[0]);

F1 = Fork(pickup[1], laydown[1]);

F2 = Fork(pickup[2], laydown[2]);

F3 = Fork(pickup[3], laydown[3]);

F4 = Fork(pickup[4], laydown[4]);

system F0, F1, F2, F3, F4, P0, P1, P2, P3, P4;

Declarations:

chanpickup[5];

chanlaydown[5];

tijd in uppaal
Tijd in UPPAAL
  • Tijdwordtbijgehouden in clocks (erkunnenmeerdere clocks zijn)
    • Bijvoorbeeld: clock c;
  • Clocks worden “vanzelf” (allemaalgelijk) opgehoogd
  • Clocks kangeresetworden
    • Bijvoorbeeldc:=0
  • We kunneneen invariant bijeentoestandgebruiken
    • Bijvoorbeeld: c<=5
  • We kunneneen guard bijeenoverganggebruiken
    • Bijvoorbeeld: c>=3
voorbeeld countertest1
Voorbeeld CounterTest1

guard

CounterTest:

invariant

System declarations:

CT = CounterTest();

system CT;

verify countertest1
Verify CounterTest1

Is ditwat je verwacht?

voorbeeld countertest2
Voorbeeld CounterTest2

CounterTest:

urgent state (de tijdkannietverhoogdworden in een urgent state)

System declarations:

CT = CounterTest();

system CT;

voorbeeld timed model
Voorbeeld timed model

Lamp:

User:

Watwordthiergemodelleerd?

Declarations:

System declarations:

clock c;

chan press;

system Lamp, User;