Università degli Studi dell’Aquila FACOLTA’ DI SCIENZE MM.FF.NN . Corso di Laurea in...

download Università degli Studi dell’Aquila FACOLTA’ DI SCIENZE MM.FF.NN . Corso di Laurea in Informatica

If you can't read please download the document

description

FUJABA vs. CHARMY: confronto della feature model checking (Analisi e Testing di Sistemi a Componenti). Università degli Studi dell’Aquila FACOLTA’ DI SCIENZE MM.FF.NN . Corso di Laurea in Informatica ANNO ACCADEMICO 2005 – 2006. Prof. Henry Muccini Stud.ssa: Romina Spalazzese - PowerPoint PPT Presentation

Transcript of Università degli Studi dell’Aquila FACOLTA’ DI SCIENZE MM.FF.NN . Corso di Laurea in...

  • FUJABA vs. CHARMY: confronto della feature model checking

    (Analisi e Testing di Sistemi a Componenti)Universit degli Studi dellAquilaFACOLTA DI SCIENZE MM.FF.NN.Corso di Laurea in Informatica ANNO ACCADEMICO 2005 2006

    Prof. Henry Muccini Stud.ssa: Romina Spalazzese matr.162992

  • Road MapCos il Model Checking (MC)Caratteristiche dellapproccio FujabaCaratteristiche dellapproccio Charmy Confronto e considerazioniFuture works

  • 1. Model CheckingTecnica automatica basata sul modello: controlla se una determinata propriet valida per un certo modello di un sistema. Risultato: true o false + controesempio

    STEP 1 - Crea un finite state model (FSM) del sistemaSTEP 2 - Specifica propriet critiche di correttezza (safety, liveness)STEP 3 Valida il modello rispetto alle specificheVANTAGGI- Automatico- Esaustivo - Genera controesempio

    SVANTAGGI- State explosion problem- Skills in metodi formali

  • 2. FUJABA: cosCASE tool open-source che supporta modellazione e verifica di modelli UML

    Tra tutte le feature [2] di Fujaba Real-Time Tool Suite, consideriamo laprogettazione e model checking di modelli per safety-critical systems (UML/RealTime)

    Problemi nel model checking di modelli UML/RT: 1. State explosion problem 2. Difficile integrazione standard model checking nel processo di design incrementale ed iterativo

    Soluzione proposta: applicare un approccio di verifica formale composizionale ed iterativo su un sottinsieme di nozioni UML 2.0

  • 2. FUJABA: approccio MC [3]Basato su modelli UML 2.0Incrementale: design e model checking Iterativo: design e model checking Composizionale: model checking

    CosaSTRUTTURA: Real-Time Component DiagramCOMPORTAMENTO: Real-Time State Chart (RTSC) + formule Timed Computation Tree Logic (TCTL)

    ComeModella pattern e componenti sw=> sistema

  • 2. FUJABA overview [1]Input Uppaal : - Flat Timed AutomataTimed Computation Tree Logic

  • 2. Esempio: mechatronic rail system [3] SAFETY-CRITICAL ASPECT: coordinazione tra le unit di controllo della velocit degli shuttles =>HARD RT CONSTRAINTProblema: ridurre consumo energetico coordinando gli shuttles per formare convogli on-demand

    Per ottenere economia piccole distanze tra shuttles Shuttles autonomi applicano una tecnologia di guida lineare Viaggiano sul sistema ferroviario dei treni standard

  • 2. Coordination pattern in FUJABA [3] [4]COORDINATION PATTERN = ROLES + CONNECTORS descrivono comunicazione, interazioni tra le componenti del sistema

    vincolati da constraints specificati in formule attori della comunicazione descritta dal pattern

    devono soddisfare invariants e constraints

    comportamento specificato tramite RTSC collegano PORTS che raffinano i roles e permettono la comunicazione

    comportamento specificato tramite RTSC

  • 2. Componenti e sistema in FUJABACOMPONENTI SW: costruite integrando e raffinando role del pattern coinvolto. Devono rispettare comportamento specificato dai roles invariants

    SISITEMA: costituito istanziando un insieme di componenti e patternComportamento necessario per coordinare due shuttle successiviES. Non ci devessere collisione in caso di frenata improvvisaES. Deve frenare con potenza ridotta se in modalit convoglioComportamento specifico per il tipo di role ES. Deve frenare con piena potenza (invariant)ES. RearRole non pu essere in mode convoy se FrontRole in mode no convoy (pattern constraint)

  • 2. Fujaba screen shots

  • 2. Approccio composizionaleProgettazione patterns e roles

    Verifica di ogni pattern individualmente

    Progettazione dei tipi di componenti e del loro comportamento

    Verifica di ogni tipo di componente

    Costruzione del sistema istanziando componenti e connettendo porteModel checking per verificare constraintsComponente corretta se soddisfa invariants dei refined roles e se non ci sono deadlockDA NOTARE: assicura corretta composizione semantica a partire dalla corretta composizione sintattica (rigorosa)Pattern constraints in ATCTL formulas

  • 2. Approccio incrementale [1]STEP 1) seleziona pattern o componenti composti minimali che contengono tutti gli elementi referenziati dalla propriet

    STEP 2) controlla la propriet :se soddisfatta, fine

    altrimenti estende aggiunge componenti interconnesse a quelle gi selezionate se non ci sono pi componenti interconnesse, seleziona i vicini uno ad ogni passo e li aggiunge

  • 2. Consistency management [4] Consistenza tra propriet ed elementi strutturali e comportamentali

    Mantenuto lo stato della propriet- TRUE propriet rispettata- FALSE propriet non rispettata- UNSAFE elementi del modello nellultimo check potenzialmente inconsistentiRegole:Comportamento di un pattern o di un role cambiato => marcate UNSAFE le sue propriet + quelle associate alle componenti coinvolte

    2) Componente o il suo comportamento modificato => marcate UNSAFE le propriet correlate

    Check solo sulla parte unsafe

  • 2. Sintesi di pattern da scenari [5] [6]SceBaSy Plugin per Fujaba Real Time Tool Suite per sintetizzare real-time coordination pattern da Sequence Diagram UML 2.0

    Idea: esprimere il comportamento desiderato tramite scenari parametrizzati con vincoli sul temposintetizzare automaticamente gli scenari in TCGsintetizzare automaticamente TCG in RTSCfae analisi per evidenziare errori (sintattici, conflitti tra scenari, deadlock)quando RTSC sono verificati, sintetizzare automaticamente i coordination pattern

    Sequence diagramTime constraint graph TCGRTSCModel chedckingCoordination pattern

  • 3. CHARMY: cosCharmy un framework che permette la progettazione e la verifica formale di sistemi software

    Tra tutte le festure di Charmy tool [7] consideriamoprogettazione e model checking di architetture software rispetto a requisiti funzionali

    Problemi nel fare model checking: 1. State explosion problem 2. Skills in formal specification

    Soluzione proposta [8]: applicare un approccio di verifica iterativo su modelli basati su UML senza dover dare una specifica formale

  • 3. CHARMY: approccio MC e overviewModelli basati su UML Check a livello architetturaleIncrementale: design e model checking Iterativo: processoComposizionale: model checking di sa basate su middlewareCosaSTRUTTURA: Component DiagramCOMPORTAMENTO: State Diagrams + Scenari PSCComeModella architettura software, comportamento delle componenti e propriet [8]

  • 3. Property Sequence Chart (PSC) [9] [10] [14]Wizard W_PSC: domande testuali per la traduzione dei requisiti in scenari

  • 3. Charmys screen shots

  • 3. Approccio composizionale [11]Idea: decomporre verifica di un insieme di propriet dellarchitettura sw in verifica di propriet locali sulle singole componenti architetturali per mezzo del compositional reasoningDef: A architettura sw, Z insieme di propriet soddisfatte da A, M middleware, P insieme di propriet soddisfatte da M, S sistema risultante da A + M + I (interfacce)Scopo: dimostrare che anche S soddisfa Z (sotto alcune assunzioni) propriet locali alle componenti

    propriet sulle interazioni componenti-interfacce

    propriet di comportamento di M

    -propriet sulle interazioni interfacce-middleware

  • 3. Approccio iterativo ed incrementale [8]Specifica architettura e propriet iniziali

    Verificare se larchitettura garantisce requisiti funzionali espressi dalle propriet. Soddisfatti ?

    3a. Termina il processo

    3b. Raffina i modelli e le propriet focalizzandosi su parti critiche dellarchitettura e torna a verificare la SA

  • 3. Consistency checks [12][13] Valida modello dinamico della SA rispetto a coordination requirementsSTEP 1- Coordination policies catturate a livello requisitiSTEP 2- Coordination policies usate per guidare descrizione architetturaleSTEP 3- SA validata rispetto ai coordination requirements STEP 4- SA utilizzata per guidare coordination model

    INPUT Macchina a stati delle componenti (tradotte in Promela) Scenari (tradotti in formule LTL)

    Spin verifica se il comprtamento espresso degli scenari ben implementato sul modello Promela- prima validazione del modello architetturale che dopo pu essere usato per fare analisi di safety e liveness

    Spin pu verificare propriet di deadlock o violazioni di constraint siulle macchine a stati

  • 3. Consistency checks [12][13]Assunzione: gli scenari iniziali riflettono il flusso di esecuzione desiderato (non desiderato)Check tra modelli architetturali per evitare errori di specifica statici:identificatori degli stati univoci negli state diagram;

    ogni state diagram deve avere un solo stato iniziale;

    per ogni send (receive) in una componente, deve esistere un receive (send) in unaltra;

    sequence diagrams pu contenere solo messaggi gi inseriti nello state;

    sender e receiver di un msg devono essere gli stessi (componenti) nel sequence e nello state;

    messaggi con lo stesso nome devono avere lo steso numero di parametri;

  • 3. Approccio di slicing ed abstraction [15] Program Slicing: tecnica definita sui linguaggi di programmazione che cerca di decomporre un sistema, estraendo elementi basici, come variabili o statement, correlati ad una particolare computazione Slicing architetturale: sottinsieme del comportamento della SA che cerca di isolare le parti coinvolte nel criterio di slicing Architectural abstraction: tecnica per astrarre parti del sistema coinvolte nel criterio di astrazione ma che non sono direttamente legate alla sua formulazione.

  • 4. Confronto

  • 4. Confronto

  • 5. Future works (Charmy)Considerare tempo: timed automata, real-time model checker ed estensione PSC e W_PSCoppure profilo per real-time in UML, real-time model checker ed estensione PSC e W_PSCInserire ulteriori model checker per confronti sullefficienzaApprofondire approccio composizionale per generalizzarloIndagare maggiormente tecniche di slicing ed abstractionEffettuare studio di fattibilit su modellazione ed analisi di Service Oriented Architecture e Dynamic Architecture Sviluppare un CVSMiglioramenti dellusabilitscaricare ed installare plugin automaticamenteuniformare notazione ad UML 2.0plugin per Eclipsemaggiore documentazionecase study di esempio nel tool

  • 5. Future works (Fujaba)Considerare model checking architetturale: plugin per rappresentare architettura + plugin per propriet

    Integrare lanalisi di sistemi real-time con quella di sistemi concorrenti

    case study industriali

    Miglioramenti dellusabilitmaggiore documentazione ed in lingua inglese

    case study di esempio nel tool

  • References[1] Hirsch, M., Giese, H.: Towards the Incremental Model Checking of Complex RealTime UML Models. In: Proc. of the Fujaba Days 2003, Kassel, Germany. (2003)

    [2] Fujaba Website: www.fujaba.de

    [3] Sven Burmester, Holger Giese, Martin Hirsch, and Daniela Schilling, Incremental Design and Formal Verification with UML/RT in the FUJABA Real-Time Tool Suite, in Proc. of SVERTS2004, pp. 1--20, October 2004.

    [4] Sven Burmester, Holger Giese, Martin Hirsch, Daniela Schilling, and Matthias Tichy, 'The Fujaba Real-Time Tool Suite: Model-Driven Development of Safety-Critical, Real-Time Systems', in Proc. of ICSE 2005, pp. 670--671, ACM Press.

    [5] H. Giese and S.Tissen. The SceBaSy PlugIn for the Scenario-Based Synthesis of Real-Time Coordination Patterns for Mechatronic UML. In Proc. of the 3rd International Fujaba Days 2005, Paderborn, Germany, pp. 67--70, September 2005.

    [6] Holger Giese, Stefan Henkler, Martin Hirsch, and Florian Klein, Nobody's perfect: Interactive Synthesis from Parametrized Real-Time Scenarios, in Proc. of the 5th ICSE 2006 Workshop SCESM'06, pp. 67--74, ACM Press, May 2006.

    [7] Charmy Website: http://www.di.univaq.it/charmy/

  • References[8] P. Pelliccione, P. Inverardi, H. Muccini, Charmy: A framework for Designing and Validating Architectural Specifications. Tech. Report April 2005. Submitted for publication.

    [9] M. Autili, P. Inverardi, and P. Pelliccione, A Scenario Based Notation for Specifying Temporal Properties. SCESM'06.

    [10] PSC Project WebSite: http:// www.di.univaq.it/psc2ba

    [11] M. Caporuscio, P. Inverardi, P. Pelliccione, "Compositional Verificationof Middleware-Based Software Architecture descriptions". In ICSE 2004.

    [12] P. Inverardi, H. Muccini, P. Pelliccione, "Checking consistency betweenarchitectural models using Spin". In Proc. of STRAW2001.

    [13] P. Inverardi, H. Muccini, P. Pelliccione, "Automated Check ofArchitectural Models Consistency using Spin". In ASE 2001.

    [14] M. Autili, and P. Pelliccione, Towards a Graphical Tool for Refining User to System Requirements. GT-VMT06. To appear in ENTCS.

    [15] Daniela Colangelo, Daniele Compare, Paola Inverardi, and Patrizio Pelliccione Reducing Software Architecture Models Complexity: a Slicing and Abstraction Approach.FORTE 2006.