10 research outputs found

    Layering Assume-Guarantee Contracts for Hierarchical System Design

    Get PDF
    Specifications for complex engineering systems are typically decomposed into specifications for individual subsystems in a manner that ensures they are implementable and simpler to develop further. We describe a method to algorithmically construct component specifications that implement a given specification when assembled. By eliminating variables that are irrelevant to realizability of each component, we simplify the specifications and reduce the amount of information necessary for operation. We parametrize the information flow between components by introducing parameters that select whether each variable is visible to a component. The decomposition algorithm identifies which variables can be hidden while preserving realizability and ensuring correct composition, and these are eliminated from component specifications by quantification and conversion of binary decision diagrams to formulas. The resulting specifications describe component viewpoints with full information with respect to the remaining variables, which is essential for tractable algorithmic synthesis of implementations. The specifications are written in TLA + , with liveness properties restricted to an implication of conjoined recurrence properties, known as GR(1). We define an operator for forming open systems from closed systems, based on a variant of the “while-plus” operator. This operator simplifies the writing of specifications that are realizable without being vacuous. To convert the generated specifications from binary decision diagrams to readable formulas over integer variables, we symbolically solve a minimal covering problem. We show with examples how the method can be applied to obtain contracts that formalize the hierarchical structure of system design

    Semantics and Verification of UML Activity Diagrams for Workflow Modelling

    Get PDF
    This thesis defines a formal semantics for UML activity diagrams that is suitable for workflow modelling. The semantics allows verification of functional requirements using model checking. Since a workflow specification prescribes how a workflow system behaves, the semantics is defined and motivated in terms of workflow systems. As workflow systems are reactive and coordinate activities, the defined semantics reflects these aspects. In fact, two formal semantics are defined, which are completely different. Both semantics are defined directly in terms of activity diagrams and not by a mapping of activity diagrams to some existing formal notation. The requirements-level semantics, based on the Statemate semantics of statecharts, assumes that workflow systems are infinitely fast w.r.t. their environment and react immediately to input events (this assumption is called the perfect synchrony hypothesis). The implementation-level semantics, based on the UML semantics of statecharts, does not make this assumption. Due to the perfect synchrony hypothesis, the requirements-level semantics is unrealistic, but easy to use for verification. On the other hand, the implementation-level semantics is realistic, but difficult to use for verification. A class of activity diagrams and a class of functional requirements is identified for which the outcome of the verification does not depend upon the particular semantics being used, i.e., both semantics give the same result. For such activity diagrams and such functional requirements, the requirements-level semantics is as realistic as the implementation-level semantics, even though the requirements-level semantics makes the perfect synchrony hypothesis. The requirements-level semantics has been implemented in a verification tool. The tool interfaces with a model checker by translating an activity diagram into an input for a model checker according to the requirements-level semantics. The model checker checks the desired functional requirement against the input model. If the model checker returns a counterexample, the tool translates this counterexample back into the activity diagram by highlighting a path corresponding to the counterexample. The tool supports verification of workflow models that have event-driven behaviour, data, real time, and loops. Only model checkers supporting strong fairness model checking turn out to be useful. The feasibility of the approach is demonstrated by using the tool to verify some real-life workflow models

    Layering Assume-Guarantee Contracts for Hierarchical System Design

    Get PDF
    Specifications for complex engineering systems are typically decomposed into specifications for individual subsystems in a manner that ensures they are implementable and simpler to develop further. We describe a method to algorithmically construct component specifications that implement a given specification when assembled. By eliminating variables that are irrelevant to realizability of each component, we simplify the specifications and reduce the amount of information necessary for operation. We parametrize the information flow between components by introducing parameters that select whether each variable is visible to a component. The decomposition algorithm identifies which variables can be hidden while preserving realizability and ensuring correct composition, and these are eliminated from component specifications by quantification and conversion of binary decision diagrams to formulas. The resulting specifications describe component viewpoints with full information with respect to the remaining variables, which is essential for tractable algorithmic synthesis of implementations. The specifications are written in TLA + , with liveness properties restricted to an implication of conjoined recurrence properties, known as GR(1). We define an operator for forming open systems from closed systems, based on a variant of the “while-plus” operator. This operator simplifies the writing of specifications that are realizable without being vacuous. To convert the generated specifications from binary decision diagrams to readable formulas over integer variables, we symbolically solve a minimal covering problem. We show with examples how the method can be applied to obtain contracts that formalize the hierarchical structure of system design

    Bringing Model Checking Closer To Practical Software Engineering

    Get PDF
    Bal, H.E. [Promotor]Templon, J.A. [Copromotor]Willemse, T.A.C. [Copromotor

    L'impatto della Blockchain nel settore del turismo e dell'ospitalità. Prime evidenze empiriche.

    Get PDF
    Il presente lavoro di tesi ha ad oggetto una tematica ancora emergente in letteratura ossia l'implementazione della tecnologia blockchain nel settore del turismo e dell'ospitalità. La ricerca sulla tecnologia blockchain in ambito turistico è ancora scarsa e principalmente incentrata su analisi da un punto di vista teorico, evidenziando la necessità di ulteriori e più dettagliati studi che contribuiscano allo sviluppo di questo filone di ricerca. Ad oggi, nessuna ricerca empirica è stata realizzata per indagare come la tecnologia blockchain potrebbe influenzare i sistemi di prenotazione dei servizi turistici online e, quindi, la disintermediazione potenziale del settore che l'implementazione di questa tecnologia potrebbe essere in grado di innescare. L'analisi effettuata in questo lavoro di tesi si è concentrata proprio sull'impatto della blockchain nei sistemi di prenotazione online nel settore dell'ospitalità, effettuando un confronto tra applicazioni decentralizzate basate sulla blockchain, implementate per la prenotazione di strutture ricettive, e tradizionali sistemi delle Online Travel Agencies (OTA) in termini di disponibilità e prezzi delle camere offerte dalle strutture ricettive su queste piattaforme. Questo studio risponde, pertanto, alla richiesta di ricerca accademica che analizzi il potenziale impatto dell'implementazione della tecnologia blockchain nel settore del turismo e dell'ospitalità per quanto riguarda la gestione degli inventari delle strutture ricettive (Valeri e Baggio, 2020) attraverso un approccio dinamico basato sulle camere disponibili e sulle tariffe delle camere che non è stato ancora indagato. Per l'analisi sono state sviluppate le seguenti ipotesi basate sulla letteratura precedente: H1a. I sistemi di prenotazione basati sulla blockchain potrebbero migliorare la gestione dell'inventario aumentando l'offerta di camere rispetto alle tradizionali OTA. H1b. Non ci sono differenze tra le tariffe delle camere offerte tramite sistemi di prenotazione basati sulla blockchain e le tradizionali OTA. H2. Non ci sono differenze nella dispersione dinamica dei prezzi tra sistemi di prenotazione basati sulla blockchain e le tradizionali OTA. H3. Non ci sono differenze nella dispersione dinamica dei prezzi delle camere offerte tramite sistemi blockchain e tradizionali OTA da strutture ricettive situate in città innovative rispetto a quelle situate in città non innovative. H4. Non ci sono differenze nella dispersione dinamica dei prezzi tra sistemi di prenotazione basati sulla blockchain e tradizionali OTA quando l'orizzonte temporale della prenotazione è più ampio. Questa ricerca si concentra sull'Italia che è uno dei principali paesi europei in termini di dimensione, impatto e potenziale di sviluppo del settore del turismo e dell'ospitalità. I dati sull'offerta di inventari e sui loro prezzi sono stati raccolti manualmente ed elaborati nel periodo ott-nov 2019 (prima dell'inizio della pandemia) selezionando strutture ricettive in 4 città italiane (Roma, Milano, Sorrento e Rosolina) localizzate in regioni innovative e non innovative (Leydesdorff e Cucco, 2019). Le strutture ricettive oggetto di indagine sono sia alberghiere che non alberghiere, in particolare: hotel a 3,4 e 5 stelle, appartamenti, b&b e ostelli. Per la raccolta dei dati sono stati selezionati i 3 principali sistemi OTA per ricavi (Booking, Expedia e Ctrip) e 4 applicazioni Blockchain operative dal 2017 che creano un modello con commissioni di prenotazione pari allo 0% o molto basse (Locktrip, Travala, Xceltrip e Trippki). I dati sul sono stati raccolti simulando la prenotazione di una camera alla data della ricerca (t0) e ad 1, 3 e 6 (t1, t3, t6) mesi prima della data di check-in. Pertanto, per tutte le strutture ricettive selezionate ogni prenotazione è stata quindi simulata 4 volte su ognuna delle 7 piattaforme di prenotazione raccogliendo dati sul numero complessivo di camere offerte e sulle tariffe di ognuna. Per l'analisi empirica sono state utilizzate statistiche descrittive e metodi grafici (H1ab, H2-3-4), per testare le ipotesi (H1b, H2-3-4) e per mostrare i risultati ottenuti nella ricerca sono state utilizzate statistiche inferenziali attraverso il test T-Student (parametrico) (Wilks, 1962; Rohatgi, 1976; Lehmann e Romano, 2005) e il test Wilcoxon (non parametrico) (Wilks, 1962; Rohatgi, 1976; Hollander e Wolfe, 1999; Gibbons e Chakraborti, 2003). Le statistiche descrittive e i test delle ipotesi sono state realizzate con l'utilizzo del software statistico SPSS. I risultati mostrano che: a)i prezzi delle camere offerte tramite blockchain Dapps sono più bassi rispetto a quelli delle camere offerte tramite i tradizionali sistemi OTA; b)le maggiori differenze nelle tariffe delle camere sono localizzate nel settore alberghiero; c)le differenze nelle tariffe delle camere sono maggiori quando la data della prenotazione è prossima a quella del check-in (t0 e t1); Pertanto, eliminando gli intermediari dal processo di prenotazione, i sistemi blockchain consentono effettivamente alle strutture ricettive di offrire le camere ad un prezzo inferiore, abbassando le barriere all'ingresso nel mercato e, quindi, aprendo nuove opportunità per la concorrenza nel settore del turismo e dell'ospitalità (soprattutto per le PMI). Questo risultato amplia le conclusioni dello studio di Calvaresi et al. (2019) che, da un punto di vista teorico, hanno indicato che non era chiara l'esistenza di tariffe delle camere inferiori nei sistemi blockchain. I test statistici confermano che ci sono differenze nei prezzi e una maggiore dispersione dei prezzi delle camere offerte tramite blockchain DApp rispetto ai tradizionali sistemi OTA. Le minori tariffe riscontrate potrebbero essere collegate a risparmi sui costi legati alla disintermediazione delle operazioni di prenotazione. La disintermediazione è, quindi, un aspetto chiave della tecnologia blockchain che sta influenzando i servizi di prenotazione delle camere nelle strutture ricettive, attraverso prezzi inferiori e più dinamici, aiutando le PMI a competere con gli attuali intermediari. Un altro risultato è l'esistenza di una minore disponibilità di spazio per gli inventari delle strutture ricettive sulle blockchain DApps rispetto alle tradizionali piattaforme OTA. Questo risultato è generale per tutti i tipi di strutture ricettive e gli orizzonti temporali analizzati in questa ricerca in quanto sembra che allungando l'orizzonte temporale della prenotazione venga offerto un numero inferiore di camere tramite blockchain DApps rispetto ai tradizionali sistemi delle OTA. Ciò potrebbe essere collegato a due diverse motivazioni. Da un lato, l'implementazione della blockchain nei sistemi di prenotazione di strutture ricettive è ancora in una fase iniziale e ciò potrebbe spingere le imprese ad offrire lo stesso volume e tipo di camere offerti negli attuali sistemi OTA o un numero inferiore. D'altro canto, la maggiore disponibilità di camere nei sistemi OTA rispetto alle blockchain DApp potrebbe anche essere collegata alle tariffe più basse che questa ricerca ha riscontrato nelle camere offerte tramite blockchain DApps. In particolare, si è riscontrato che quando l'orizzonte di prenotazione è più ampio le differenze nelle tariffe delle camere sono maggiori. Pertanto, se le tariffe delle camere offerte tramite blockchain DApps sono più economiche di quelle offerte tramite OTA per lo stesso tipo di struttura ricettiva e di camera, è logico aspettarsi che i clienti prenoteranno quelle più economiche tramite blockchain DApps prima della data del loro effettivo soggiorno, il che fa sì che l'offerta di camere sulle blockchain DApp risulti inferiore a quella sulle OTA, soprattutto quando la prenotazione è effettuata poco prima del check-in (t0)

    Proving Possibility Properties

    Get PDF
    A method is described for proving "always possibly" properties of specifications in formalisms with linear-time trace semantics. It is shown to be relatively complete for TLA (Temporal Logic of Actions) specifications. Key words: Branching time, linear time, temporal logic. 1 Introduction Does proving possibility properties provide any useful information about a system? Why prove that it is possible for a user to press q on the keyboard and for a q subsequently to appear on the screen? We know that the user can always press the q key, and what good is knowing that a q might appear on the screen? Isn't it enough to prove that no q appears on the screen unless a q is typed (a safety property), and that, if a q is typed, then a q eventually does appear (a liveness property)? Although possibility properties may tell us nothing about a system, we do not reason about a system; we reason about a mathematical model of a system. A possibility property can provide a sanity check on our model. P..

    Proving possibility properties

    No full text
    A method is described for proving “always possibly ” properties of specifications in formalisms with linear-time trace semantics. It is shown to be relatively complete for TLA (Temporal Logic of Actions) specifications. Key words: Branching time, linear time, temporal logic
    corecore