Spelling suggestions: "subject:"bnormal 3methods."" "subject:"bnormal 4methods.""
311 |
Preuves d’algorithmes distribués par raffinementTounsi, Mohamed 04 July 2012 (has links)
Dans cette thèse, nous avons étudié et développé un environnement de preuve pour les algorithmes distribués. Nous avons choisi de combiner d’une part l’approche "correct-par-construction" basée sur la méthode "B évènementielle" et d’autre part les calculs locaux comme un outil de codage et de preuve d’algorithmes distribués. Ainsi, nous avons proposé un patron et une approche qui caractérisent d’une façon incrémentale une démarche générale de preuve de plusieurs classes d’algorithmes distribués. Les solutions proposées sont validées et implémentées par un outil de preuve appelé B2Visidia. / In this thesis, we have studied and developed a proof environment for distributed algorithms. We have chosen to combine the “correct-by-construction” approach based on the “Event-B” method and the local computations models. These models define abstract computing processes for solving problems by distributed algorithms. Thus, we have proposed a pattern and an approach to characterize a general approach to prove several classes of distributed algorithms. The proposed solutions are implemented by a tool called B2Visidia.
|
312 |
Terminaison en temps moyen fini de systèmes de règles probabilistes / Termination within a finite mean time of probabilistic rules based systemsGarnier, Florent 17 September 2007 (has links)
Nous avons dans cette thèse cherché à définir un formalisme simple pour pouvoir modéliser des systèmes où se combinent des phénomènes non-déterministes et des comportements aléatoires. Nous avons choisi d'étendre le formalisme de la réécriture pour lui permettre d'exprimer des phénomènes probabilistes, puis nous avons étudié la terminaison en temps moyen fini de ce modèle. Nous avons également présenté une notion de stratégie pour contrôler l'application des règles de réécriture probabilistes et nous présentons des critères généraux permettant d'identifier des classes de stratégies sous lesquelles les systèmes de réécriture probabilistes terminent en temps moyen fini. Afin de mettre en valeur notre formalisme et les méthodes de preuve de terminaison en temps moyen fini, nous avons modélisé un réseau de stations \WIFI~ et nous montrons que toutes les stations parviennent à émettre leurs messages dans un temps moyen fini. / In this thesis we define a new formalism that allows to model transition systems where transitions can be either probabilistic or non deterministic. We choose to extend the rewriting formalism because it allows to simply express non-deterministic behavior. Latter, we study the termination of such systems and we give some criteria that imply the termination within a finite mean number of rewrite steps. We also study the termination of such systems when the firing of probabilistic rules are controlled by strategies. In this document, we use our techniques to model the \WIFI~ protocol and show that a pool of stations successfully emits all its messages within a finite mean time.
|
313 |
Calcul du pire temps d'exécution : méthode formelle s'adaptant à la sophistication croissante des architectures matérielles / Computation of the worst case execution time : formal analysis method that fits the increasing complexity of the hardware architectureBenhamamouch, Bilel 02 May 2011 (has links)
Afin de garantir qu'un programme respectera toutes ses contraintes temporelles, nous devons être capable de calculer une estimation fiable de son temps d'exécution au pire cas (WCET: worst case execution time). Cependant, identifier une borne précise du pire temps d'exécution devient une tâche très complexe du fait de la sophistication croissante des processeurs. Ainsi, l'objectif de nos travaux de recherche a été de définir une méthode formelle qui puisse s'adapter aux évolutions du matériel. Cette méthode consiste à développer un modèle du processeur cible, puis à l'exécuter symboliquement afin d'associer à chaque trace d'exécution un temps d'exécution au pire cas. Une méthode de fusionnement est également prévue afin d'éviter une possible explosion combinatoire. Cette méthode a pour principale contrainte de ne pas introduire trop d'imprécision sur les temps calculés. / To ensure that a program will respect all its timing constraints we must be able to compute a safe estimation of its worst case execution time (WCET). However with the increasing sophistication of the processors, computing a precise estimation of the WCET becomes very difficult. In this report, we propose a novel formal method to compute a precise estimation of the WCET that can be easily parameterized by the hardware architecture. Assuming that we developed an executable timed model of the hardware, we use symbolic execution to precisely infer the execution time for a given instruction flow. We also merge the states relying on the loss of precision we are ready to accept, in order to avoid a possible states explosion.
|
314 |
Preuves par raffinement de programmes avec pointeurs / Proofs by refinement of programs with pointersTafat, Asma 06 September 2013 (has links)
Le but de cette thèse est de spécifier et prouver des programmes avec pointeurs, tels que des programmes C, en utilisant des techniques de raffinement. L’approche proposée permet de faire un compromis entre les techniques complexes qui existent dans la littérature et ce qui est utilisable dans l’industrie, en conciliant légèreté des annotations et restrictions sur les alias. Nous définissons, dans un premier temps, un langage d’étude, qui s’inspire du langage C, et dans lequel le seul type de données mutable possible est le type des structures, auquel on accède uniquement à travers des pointeurs. Afin de structurer nos programmes, nous munissons notre langage d’une notion de module et des concepts issus de la théorie du raffinement tels que les variables abstraites que nous formalisons par des champs modèle, et les invariants de collage. Ceci nous permet d’écrire des programmes structurés en composants. L’introduction des invariants de données dans notre langage soulève des problématiques liées au partage de pointeurs. En effet, en cas d’alias, on risque de ne plus pouvoir garantir la validité de l’invariant de données d’une structure. Nous interdisons, alors l’aliasing (le partage de référence) dans notre langage. Pour contrôler les accès à la mémoire, nous définissons un système de type, basé sur la notion de régions. Cette contribution s’inspire de la théorie du raffinement et a pour but, de rendre les programmes les plus modulaires possible et leurs preuves les plus automatiques possible. Nous définissons, sur ce langage, un mécanisme de génération d’obligations de preuve en proposant un calcul de plus faible précondition incorporant du raffinement. Nous prouvons ensuite, la correction de ce mécanisme de génération d’obligations de preuve par une méthode originale, fondée sur la notion de sémantique bloquante, qui s’apparente à une preuve de type soundness et qui consiste donc, à prouver la préservation puis le progrès de ce calcul. Nous étendons, dans un deuxième temps, notre langage en levant partiellement la restriction liée au partage de références. Nous permettons, notamment, le partage de références lorsqu’aucun invariant de données n’est associé au type structure référencé. De plus, nous introduisons le type des tableaux, ainsi que les variables globales et l’affectation qui ne font pas partie du langage noyau. Pour chacune des extensions citées ci-dessus, nous étendons la définition et la preuve de correction du calcul de plus faible précondition en conséquence. Nous proposons enfin, une implantation de cette approche sous forme d’un greffon de Frama-C (http://frama-c.com/). Nous expérimentons notre implantation sur des exemples de modules implantant des structures de données complexes, en particulier des défis issus du challenge VACID0 (http://vacid. codeplex.com/), à savoir les tableaux creux (Sparse Array) et les tas binaires. / The purpose of this thesis is to specify and prove programs with pointers, such as C programs, using refinement techniques. The proposed approach allows a compromise between the complexe methods that exist in the literature and what is used in industry, reconciling lightness annotations and restrictions on the alias. We define, firstly, a language study, based on the C language, in which the only type of mutable data allowed is the type of structures, which can be accessed only through pointers. In order to structure our programs, we bring our language with a module notion and concepts issue from a refinement theory such as abstract variables that we formalize by model fields and gluing invariants. This allows us to write programs structured by components. Introducing invariants in our language raises issues related to aliasing. Indeed, in presence of alias, we might not be able to guarantee the validity of the invariant data structure. We forbid then the aliasing in our language. To control memory access, we define a type system based on the concept of regions. This contribution is based on the theory and refinement. It aims to make programs as modular as possible and proofs as automatic as possible. We define on this language, a mechanism for generation of proof obligations by proposing a weakest precondition calculus incorporating refinement. Next we prove the correction of this proof obligations generation mechnaism by an original method based on the concept of blocking semantic, which is similar to a proof of type soundness, and consists therefore, to proove the preservation and the progress of the defined calculus. Secondly, we extend our language by, partially, lifting the restrictions related to aliasing. We allow, in particular, sharing when no invariant is associated to the referenced data structure. In addition, we introduce the type of arrays, global variables, and assignment that are not part of the core language. For each of the extensions mentioned above, we extend the definition and correctness proof of the weakest precondition calculus accordingly. Finally, we propose an implementation of this approach as a Frama-C plugin(http ://frama-c.com/). We experimente our implantation on examples of modules implementing complex data structures, especially the challenges from the challenge VACID0 (http ://vacid. Codeplex.com /), namely sparse srrays and binary heaps.
|
315 |
Cross-fertilizing formal approaches for protocol conformance and performance testing / Approches formelles croisées pour les tests de protocole de conformité et de performanceChe, Xiaoping 26 June 2014 (has links)
Les technologies de communication et les services web sont devenus disponibles dans notre vie numérique, les réseaux informatiques continuent de croître et de nouveaux protocoles de communication sont constamment définis et développés. Par la suite, la standardisation et la normalisation des protocoles sont dispensables pour permettre aux différents systèmes de dialoguer. Bien que ces normes peuvent être formellement vérifiés, les développeurs peuvent produire des erreurs conduisant à des implémentations défectueuses. C'est la raison pour laquelle leur mise en œuvre doit être strictement examinée. Cependant, la plupart des approches de tests actuels exigent une stimulation de l’exécution dans le cadre des tests (IUT). Si le système ne peut être consulté ou interrompu, l'IUT ne sera pas en mesure d'être testé. En outre, la plupart des travaux existants sont basées sur des modèles formels et très peu de travaux s'intéressent à la formalisation des exigences de performance. Pour résoudre ces problèmes, nous avons proposé une approche de test basé sur la logique "Horn" afin de tester passivement la conformité et la performance des protocoles. Dans notre approche, les exigences peuvent être formalisées avec précision. Ces exigences formelles sont également testées par des millions de messages collectés à partir des communicants réels. Les résultats satisfaisants des expériences effectuées ont prouvé le bon fonctionnement et l'efficacité de notre approche. Aussi pour satisfaire les besoins croissants de tests distribués en temps réel, nous avons également proposé un cadre de tests distribués et un cadre de tests en ligne et nous avons mis en œuvre notre plateforme dans un environnement réel à petite échelle avec succès / While today’s communications are essential and a huge set of services is available online, computer networks continue to grow and novel communication protocols are continuously being defined and developed. De facto, protocol standards are required to allow different systems to interwork. Though these standards can be formally verified, the developers may produce some errors leading to faulty implementations. That is the reason why their implementations must be strictly tested. However, most current testing approaches require a stimulation of the implementation under tests (IUT). If the system cannot be accessed or interrupted, the IUT will not be able to be tested. Besides, most of the existing works are based on formal models and quite few works study formalizing performance requirements. To solve these issues, we proposed a novel logic-based testing approach to test the protocol conformance and performance passively. In our approach, conformance and performance requirements can be accurately formalized using the Horn-Logic based syntax and semantics. These formalized requirements are also tested through millions of messages collected from real communicating environments. The satisfying results returned from the experiments proved the functionality and efficiency of our approach. Also for satisfying the increasing needs in real-time distributed testing, we also proposed a distributed testing framework and an online testing framework, and performed the frameworks in a real small scale environment. The preliminary results are obtained with success. And also, applying our approach under billions of messages and optimizing the algorithm will be our future works
|
316 |
A Theory of Mediating Connectors to achieve InteroperabilitySpalazzese, Romina 18 April 2011 (has links) (PDF)
Systems populating the Ubiquitous Computing environment are characterized by an often extreme level of heterogeneity at different layers which prevents their seamless interoperability. In this environment, heterogeneous protocols would cooperate to reach some common goal even though they meet dynamically and do not have a priori knowledge of each other. Although numerous efforts have been done in the literature, the automated and run-time interoperability is still an open challenge for such environment. Therefore, this thesis focuses on overcoming the interoperability problem between heterogeneous protocols in the Ubiquitous Computing. In particular, we aim at providing a means to drop the interoperability barriers by automatically eliciting a way for the protocols to interact. The solution we propose is the automated synthesis of emerging mediating connectors (also called mediators or connectors). Specifically, we concentrate our efforts to: (i) devising AMAzING, a process to synthesize mediators, (ii) characterizing protocol mismatches and related mediator patterns, and (iii) designing MediatorS, a theory of mediating connectors. The theory, and the process, are put in practice by applying them to a real world application, and have been adopted by the European Research Project CONNECT.
|
317 |
Une approche compositionnelle pour la modélisation et l'analyse des composants systemC au niveau TLM et au niveau des Delta Cycles / A Stepwise Compositional Approach to Model and Analyze SystemC Designs at the Transactional Level and the Delta Cycle LevelHarrath, Nesrine 04 November 2014 (has links)
Les systèmes embarqués sont de plus en plus intégrés dans les applications temps réel actuelles. Ils sont généralement constitués de composants matériels et logiciels profondément Intégrés mais hétérogènes. Ces composants sont développés sous des contraintes très strictes. En conséquence, le travail des ingénieurs de conception est devenu plus difficile. Pour répondre aux normes de haute qualité dans les systèmes embarqués de nos jours et pour satisfaire aux besoins quotidiens de l'industrie, l'automatisation du processus de développement de ces systèmes prend de plus en plus d'ampleur. Un défi majeur est de développer une approche automatisée qui peut être utilisée pour la vérification intégrée et la validation de systèmes complexes et hétérogènes.Dans le cadre de cette thèse, nous proposons une nouvelle approche compositionnelle pour la modélisation et la vérification des systèmes complexes décrits en langage SystemC. Cette approche est basée sur le modèle des SystemC Waiting State Automata (WSA). Les SystemC Waiting State Automata sont des automates permettant de modéliser le comportement abstrait des systèmes matériels et logiciels décrits en SystemC tout en préservant la sémantique de l'ordonnanceur SystemC au niveau des cycles temporels et au niveau des delta-cycles. Ce modèle permet de réduire la complexité de la modélisation des systèmes complexes due au problème de l'explosion combinatoire tout en restant fidèle au système initial. Ce modèle est compositionnel et supporte le rafinement. De plus, il est étendu par des paramètres temps ainsi que des compteurs afin de prendre en compte les aspects relatifs à la temporalité et aux propriétés fonctionnelles comme notamment la qualité de service. Nous proposons ensuite une chaîne de construction automatique des WSAs à partir de la description SystemC. Cette construction repose sur l'exécution symbolique et l'abstraction des prédicats. Nous proposons un ensemble d'algorithmes de composition et de réduction de ces automates afin de pouvoir étudier, analyser et vérifier les comportements concurrents des systèmes décrits ainsi que les échanges de données entre les différents composants. Nous proposons enfin d'appliquer notre approche dans le cadre de la modélisation et la simulation des systèmes complexes. Ensuite l'expérimenter pour donner une estimation du pire temps d'exécution (worst-case execution time (WCET)) en utilisant le modèle du Timed SystemC WSA. Enfin, on définit l'application des techniques du model checking pour prouver la correction de l'analyse abstraite de notre approche. / Embedded systems are increasingly integrated into existing real-time applications. They are usually composed of deeply integrated but heterogeneous hardware and software components. These components are developed under strict constraints. Accordingly, the work of design engineers became more tricky and challenging. To meet the high quality standards in nowadays embedded systems and to satisfy the rising industrial demands, the automatization of the developing process of those systems is gaining more and more importance. A major challenge is to develop an automated approach that can be used for the integrated verification and validation of complex and heterogeneous HW/SW systems.In this thesis, we propose a new compositional approach to model and verify hardware and software written in SystemC language. This approach is based on the SystemC Waiting State Automata (WSA). The SystemC Waiting State Automata are used to model the abstract behavior of hardware or software systems described in SystemC. They preserve the semantics of the SystemC scheduler at the temporal and the delta-cycle level. This model allows to reduce the complexity of the modeling process of complex systems due to the problem of state explosion during modeling while remaining faithful to the original system. The SystemC waiting state automaton is also compositional and supports refinement. In addition, this model is extended with parameters such as time and counters in order to take into account further aspects like temporality and other extra-functional properties such as QoS.In this thesis, we propose a stepwise approach on how to automatically extract the SystemC WSAs from SystemC descriptions. This construction is based on symbolic execution together with predicate abstraction. We propose a set of algorithms to symbolically compose and reduce the SystemC WSAs in order to study, analyze and verify concurrent behavior of systems as well as the data exchange between various components. We then propose to use the SystemC WSA to model and simulate hardware and software systems, and to compute the worst cas execution time (WCET) using the Timed SystemC WSA. Finally, we define how to apply model checking techniques to prove the correctness of the abstract analysis.
|
318 |
Joker: um realizador de desenhos animados para linguagens formaisSouza, Diego Henrique Oliveira de 31 August 2011 (has links)
Made available in DSpace on 2014-12-17T15:47:56Z (GMT). No. of bitstreams: 1
DiegoHOS_DISSERT.pdf: 2899752 bytes, checksum: d3160b774efd6749eced9bb34d4a74cf (MD5)
Previous issue date: 2011-08-31 / Coordena??o de Aperfei?oamento de Pessoal de N?vel Superior / Using formal methods, the developer can increase software s trustiness and correctness.
Furthermore, the developer can concentrate in the functional requirements of the
software. However, there are many resistance in adopting this software development
approach. The main reason is the scarcity of adequate, easy to use, and useful tools.
Developers typically write code and test it. These tests usually consist of executing the
program and checking its output against its requirements. This, however, is not always
an exhaustive discipline. On the other side, using formal methods one might be able
to investigate the system s properties further. Unfortunately, specification languages do
not always have tools like animators or simulators, and sometimes there are no friendly
Graphical User Interfaces. On the other hand, specification languages usually have a compiler
which normally generates a Labeled Transition System (LTS). This work proposes
an application that provides graphical animation for formal specifications using the LTS
as input. The application initially supports the languages B, CSP, and Z. However, using a
LTS in a specified XML format, it is possible to animate further languages. Additionally,
the tool provides traces visualization, the choices the user did, in a graphical tree. The
intention is to improve the comprehension of a specification by providing information
about errors and animating it, as the developers do for programming languages, such as
Java and C++. / Usando m?todos formais, o desenvolvedor pode aumentar a confiabilidade e corretude
do software. Al?m disso, o desenvolvedor pode concentrar-se mais nos requisitos
funcionais. Por?m h? muita resist?ncia em se adotar essa abordagem de desenvolvimento
de software. A raz?o principal e a escassez de suporte ferramental adequado, ?til e de f?cil
utiliza??o. Os desenvolvedores normalmente escrevem o c?digo e o testam. Estes testes
geralmente consistem em checar se as sa?das est?o de acordo com os requisitos. Isto, contudo,
nem sempre e poss?vel de maneira exaustiva. Por outro lado, usando M?todos Formais
um desenvolvedor e capaz de investigar profundamente as propriedades do sistema.
Infelizmente, linguagens de especifica??o formal nem sempre possuem ferramentas como
animador ou simulador e ?s vezes n?o h? interfaces gr?ficas amig?veis. Por?m, algumas
dessas ferramentas possuem um compilador, que gera um Sistema de Transi??es Rotuladas
(LTS). A proposta deste trabalho ? desenvolver um aplicativo que fornece anima??o gr?fica para especifica??es formais usando o LTS como entrada. O aplicativo inicialmente
suporta as as linguagens B, CSP e Z. Usando o LTS em um formato XML especificado
? poss?vel animar outras linguagens formais. Adicionalmente a ferramenta disponibiliza
visualiza??o de traces, escolhas feitas pelo usu?rio, em um formato de ?rvore gr?fica. A
inten??o ? melhorar a compreens?o de uma especifica??o, fornecendo informa??es sobre
erros e animando-a, como os desenvolvedores fazem com linguagens de programa??o
como Java e C++.
|
319 |
Formal verification of PLC programs using the B Method / Formal verification of PLC programs using the B methodBarbosa, Haniel Moreira 01 November 2012 (has links)
Made available in DSpace on 2014-12-17T15:48:03Z (GMT). No. of bitstreams: 1
HanielMB_DISSERT.pdf: 4925062 bytes, checksum: b4c15cc32318b96fa9ccd3be61b6e7e6 (MD5)
Previous issue date: 2012-11-01 / PLCs (acronym for Programmable Logic Controllers) perform control operations, receiving
information from the environment, processing it and modifying this same environment
according to the results produced. They are commonly used in industry in several
applications, from mass transport to petroleum industry. As the complexity of these applications
increase, and as various are safety critical, a necessity for ensuring that they
are reliable arouses. Testing and simulation are the de-facto methods used in the industry
to do so, but they can leave flaws undiscovered. Formal methods can provide more
confidence in an application s safety, once they permit their mathematical verification.
We make use of the B Method, which has been successfully applied in the formal verification
of industrial systems, is supported by several tools and can handle decomposition,
refinement, and verification of correctness according to the specification. The method we
developed and present in this work automatically generates B models from PLC programs
and verify them in terms of safety constraints, manually derived from the system requirements.
The scope of our method is the PLC programming languages presented in the
IEC 61131-3 standard, although we are also able to verify programs not fully compliant
with the standard. Our approach aims to ease the integration of formal methods in the
industry through the abbreviation of the effort to perform formal verification in PLCs / Controladores L?gico Program?veis (PLCs Programmable Logic Controllers, em ingl?s)
desempenham fun??es de controle, recebendo informa??es do ambiente, processando-as e
modificando este ambiente de acordo com os resultados obtidos. S?o comumente utilizados
na ind?stria nas mais diversas aplica??es, do transporte de massa ? ind?stria do petr?leo,
g?s e energias renov?veis. Com o crescente aumento da complexidade dessas aplica??es e
do seu uso em sistemas cr?ticos, faz-se necess?ria uma forma de verifica??o que propicie
mais confian?a do que testes e simula??o, padr?es mais utilizados na ind?stria, mas que
podem deixar falhas n?o tratadas. M?todos formais podem prover maior seguran?a a este
tipo de sistema, uma vez que permitem a sua verifica??o matem?tica. Neste trabalho
fazemos uso do M?todo B, que ? usado com sucesso na ind?stria para a verifica??o de
sistemas cr?ticos, possui amplo apoio ferramental e suporte ? decomposi??o, refinamento
e verifica??o de corretude em rela??o ? especifica??o atrav?s de obriga??es de prova. O
m?todo desenvolvido e apresentado aqui consiste em gerar automaticamente modelos B
a partir de programas para PLCs e verific?-los formalmente em rela??o a propriedades
de seguran?a, estas derivadas manualmente a partir dos requisitos do sistema. O escopo
do trabalho s?o as linguagens de programa??o para PLCs do padr?o IEC 61131-3, mas
sistemas com linguagens que apresentem modifica??es em rela??o ao padr?o tamb?m s?o
suportados. Esta abordagem visa facilitar a integra??o de m?todos formais na ind?stria
atrav?s da diminui??o do esfor?o para realizar a verifica??o formal de PLCs
|
320 |
Formal framework for modelling and verifying globally asynchronous locally synchronous systems / Un environnement formel pour modéliser et vérifier les systèmes globalement asynchrones et localement synchronesJebali, Fatma 12 September 2016 (has links)
Un système GALS (Globalement Asynchrone, Localement Synchrone) est un ensemble de composants synchrones qui évoluent en même temps, chacun à propre rythme, et qui communiquent de manière asynchrone. Cette thèse propose un environnement formel de modélisation et de vérification dédié aux systèmes GALS, en se focalisant sur le comportement asynchrone.Notre environnement s’appuie sur un langage formel que nous avons conçu nommé GRL (GALS Représentation Language). GRL permet la spécification comportementale des composants synchrones, de la communication asynchrone, et des contraintes sur les rythmes des composants ainsi que sur les valeurs que prennent les entrées des composants. Pour analyser les spécifications GRL, nous utilisons CADP, une boîte à outils logicielle permettant la vérification de processus concurrents asynchrones par des techniques d'exploration d’espaces d’états. Dans ce but, nous avons défini une traduction de GRL vers LNT, un langage de spécification supporté par CADP. La traduction est implémentée dans un outil appelé GRL2LNT, permettant ainsi la génération automatique d’espaces d'états à partir de spécifications GRL.Pour permettre la vérification formelle des spécifications GRL, nous avons conçu un langage de propriétés nommé muGRL, qui est interprété sur les espaces d’états de GRL. Le langage muGRL est basé sur un ensemble de patrons qui capturent les propriétés des systèmes concurrents et des systèmes GALS, réduisant ainsi la complexité d'utiliser les logiques temporelles classiques. La sémantique de muGRL est définie par traduction vers MCL, le langage de logique temporelle fourni par CADP. Enfin, nous illustrons l’usage de GRL, muGRL et CADP pour la modélisation et la vérification d’applications GALS concrètes, comprenant des études de cas industrielles. / A GALS (Globally Asynchronous, Locally Synchronous) system consists of several synchronouscomponents that evolve concurrently, each with its own pace, and communicatealtogether asynchronously. This thesis proposes a formal modelling and verificationframework dedicated to GALS systems, with a focus on the asynchronous behaviour.As a cornerstone of our framework, we have designed a formal language, named GRL(GALS Representation Language). GRL enables the behavioural specification of synchronouscomponents, asynchronous communication, and constraints involving bothcomponent paces and the data carried by component inputs. To analyse GRL specifications,we took advantage of the CADP software toolbox for the verification of asynchronousconcurrent processes, using state space exploration techniques. For this purpose,we defined a translation from GRL to the LNT specification language supportedby CADP. The translation was implemented by a tool named GRL2LNT, thus enablingstate spaces to be automatically derived from GRL specifications.To enable the formal verification of GRL specifications, we designed a property specificationlanguage, named muGRL, which is interpreted on GRL state spaces. The muGRLlanguage is based on a set of patterns capturing properties of concurrent and GALSsystems, which reduces the complexity of using full-fledged temporal logics. The semanticsof muGRL are defined by a translation into the MCL temporal logic supported byCADP. Finally, we illustrated how GRL, muGRL, and CADP can be applied to modeland verify concrete GALS applications, including industrial case-studies.
|
Page generated in 0.0403 seconds