376 research outputs found

    A Formal Object Model for Layered Networks to Support Verification and Simulation

    Get PDF
    This work presents an abstract formal model of the interconnection structure of the Open Systems Interconnection Reference Model (OSI-RM) developed using Object-Oriented modeling principles permitting it to serve as a re-usable platform in supporting the development of simulations and formal methods applied to layered network protocols. A simulation of the object model using MODSIM III was developed and Prototype Verification System (PVS) was used to show the applicability of the object model to formal methods by formally specifying and verifying a Global Systems for Mobile communications (GSM) protocol. This application has proved to be successful in two aspects. The first was showing the existence of discrepancies between informal standard protocol specifications, and the second was that communication over the layered GSM network was verified. Although formal methods is somewhat difficult and time consuming, this research shows the need for the formal specification of all communication protocols to support a clear understanding of these protocols and to provide consistency in their implementations. A domain for the application of this model is mobile cellular telecommunications systems. Mobile Communications is one of the most rapidly expanding sectors of telecommunications. Expectations of what a mobile cellular phone can do have vastly increased the complexity of cellular communication networks, which makes it imperative that protocol specifications be verified before implementation

    Development of Multi-Agent Control Systems using UML/SysML

    Get PDF

    Easing the Transition from Inspiration to Implementation: A Rapid Prototyping Platform for Wireless Medium Access Control Protocols

    Get PDF
    Packet broadcast networks are in widespread use in modern wireless communication systems. Medium access control is a key functionality within such technologies. A substantial research effort has been and continues to be invested into the study of existing protocols and the development of new and specialised ones. Academic researchers are restricted in their studies by an absence of suitable wireless MAC protocol development methods. This thesis describes an environment which allows rapid prototyping and evaluation of wireless medium access control protocols. The proposed design flow allows specification of the protocol using the specification and description language (SDL) formal description technique. A tool is presented to convert the SDL protocol description into a C++ model suitable for integration into both simulation and implementation environments. Simulations at various levels of abstraction are shown to be relevant at different stages of protocol design. Environments based on the Cinderella SDL simulator and the ns-2 network simulator have been developed which allow early functional verification, along with detailed and accurate performance analysis of protocols under development. A hardware platform is presented which allows implementation of protocols with flexibility in the hardware/software trade-off. Measurement facilities are integral to the hardware framework, and provide a means for accurate real-world feedback on protocol performance

    A POOSL model of the MASCARA steady state control

    Get PDF

    Executable Model Synthesis and Property Validation for Message Sequence Chart Specifications

    Get PDF
    Message sequence charts (MSCā€™s) are a formal language for the speciļ¬cation of scenarios in concurrent real-time systems. The thesis addresses the synthesis of executable object-oriented design-time models from MSC speciļ¬cations. The synthesis integrates with the software development process, its purpose being to automatically create working prototypes from speciļ¬cations without error and create executable models on which properties may be validated. The usefulness of existing algorithms for the synthesis of ROOM (Real-Time Object Oriented Modeling) models from MSCā€™s has been evaluated from the perspective of an applications programmer ac-cording to various criteria. A number of new synthesis features have been proposed to address them, and applied to a telephony call management system for illustration. These include the speciļ¬cation and construction of hierarchical structure and behavior of ROOM actors, views, multiple containment, replication, resolution of non-determinism and automatic coordination. Generalizations and algorithms have been provided. The hierarchical actor structure, replication, FSM merging, and global coordinator algorithms have been implemented in the Mesa CASE tool. A comparison is made to other speciļ¬cation and modeling languages and their synthesis, such as SDL, LSCā€™s, and statecharts. Another application of synthesis is to generate a model with support for the automated validation of safety and liveness properties. The Mobility Management services of the GSM digital mobile telecommunications system were speciļ¬ed in MSCā€™s. A Promela model of the system was then synthesized. A number of optimizations have been proposed to reduce the complexity of the model in order to successfully perform a validation of it. Properties of the system were encoded in Linear Temporal Logic, and the Promela model was used to automatically validate a number of identiļ¬ed properties using the model checker Spin. A ROOM model was then synthesized from the validated MSC speciļ¬cation using the proposed reļ¬nement features

    Code Generation from Pragmatics Annotated Coloured Petri Nets

    Get PDF

    Enhancing state space reduction techniques for model checking

    Get PDF
    Model-checking is een techniek voor het automatisch opsporen van fouten in en de verificatie van hardware en software. De techniek is gebaseerd op het doorzoeken van de globale toestandsruimte van het systeem. Deze toestandsruimte groeit vaak exponentieel met de grootte van de systeembeschrijving. Als gevolg hiervan is een van de voornaamste knelpunten in model-checking de zogenaamde toestandsexplosie. Er bestaan veel aanpakken om met dit probleem om te gaan. We presenteren verbeteringen van sommige bestaande technieken voor reductie van de toestandsruimte die gebaseerd zijn op expliciete enumeratie van die ruimte. We schenken vooral aandacht aan het verbeteren van verscheidene algoritmen die, hoewel ze slechts een deel van de toestandsruimte onderzoeken, nog steeds gegeven een eigenschap kunnen bewijzen of weerleggen. In het bijzonder is ons onderzoek toegespitst op twee typen reducties. Het eerste type, partiĀØeleordening (PO) reductie, buit de onafhankelijkheid van acties in het systeem uit. Het tweede type is een klasse van reducties die voordeel halen uit symmetrieĀØen van het systeem. De voornaamste bijdragen van dit proefschrift in verband met de partiĀØele ordening reductie zijn de volgende: ā€“ Het gebruik van systeemhiĀØerarchie voor efficiĀØentere partiĀØele-ordening reductie door klustering van processen ā€“ De meeste model-checking technieken beschouwen het model als een platte compositie van processen. We laten zien hoe de reductie kan profiteren van de systeemstructuur door uitbuiting van de hiĀØerarchie in het systeem (Hoofdstuk 2). ā€“ Correcte syntactische criteria om onafhankelijke acties te vinden voor partiĀØele ordening reductie voor systemen met synchronizerende communicaties die gecombineerd zijn met prioriteit-keuze en/of zwakke fairness (Hoofdstuk 3). ā€“ PartiĀØele-ordening reductie voor discrete tijd ā€“ We laten zien hoe het algoritme voor partiĀØele ordening reductie zonder tijd aangepast kan worden, in het geval tijd gerepresenteerd wordt middels gehele getallen (Hoofdstuk 4). De bijdragen betreffende symmetrie-gebaseerde reducties kunnen als volgt samengevat worden: ā€“ EfficiĀØente heuristieken voor het vinden van representanten van equivalentieklassen voor symmetrie-gebaseerde reductie (Hoofdstuk 6). ā€“ Een efficiĀØent algoritme voor model-checking onder zwakke fairness met toestandsruimte reductietechnieken die gebaseerd zijn op symmetrie (Hoofdstuk 7). Het succes van model-checking is voornamelijk gebaseerd op de relatief gemakkelijke implementatie in software gereedschappen. Bijna alle bovengenoemde theoretische resultaten zijn geĀØimplementeerd in de praktijk en de ontwikkelde prototype implementaties zijn geĀØevalueerd in praktijkstudies. Het meeste implementatie werk is gerelateerd aan de model checker Spin. Van de praktische bijdragen in dit document noemen we: ā€“ DT Spin ā€“ een uitbreiding van Spin met discrete tijd die het in het proefschrift gepresenteerd discrete-tijd PO reductie algoritme bevat (Hoofdstuk 4). ā€“ if2pml ā€“ een vertaler van de modelleertaal IF naar Spins invoertaal Promela, die als het tweede deel van een vertaler van SDL naar Promela bedoeld is (Hoofdstuk 5). ā€“ SymmSpin ā€“ een symmetrie-reductie pakket voor Spin, gebaseerd op de heuristiek beschreven in dit proefschrift (Hoofdstuk 6). De implementaties zijn getest op voorbeelden uit de literatuur en het bedrijfsleven met bemoedigende resultaten. In het bijzonder noemen we MASCARA ā€“ een industrieel protocol dat draadloze communicatie met ATM combineert (Hoofdstuk 5). De experimenten zijn niet alleen een aanwijzing voor de kwaliteit van de resultaten en de implementatie, maar ze waren en zijn ook een inspiratie voor nieuw theoretisch werk. Een typerend voorbeeld is de verenigbaarheid van partiĀØele ordening reductie met prioriteit-keuze en fairness in modellen met rendez-vous communicatie. De verbetering van het partiĀØele-ordening algoritme was rechtstreeks geĀØinspireerd door experimenten met Spin en zijn discrete-tijd uitbreiding DT Spin, ontwikkeld in dit proefschrift

    Abstractions and Static Analysis for Verifying Reactive Systems

    Get PDF
    Fokkink, W.J. [Promotor]Sidorova, N. [Copromotor

    Embedded System Design

    Get PDF
    A unique feature of this open access textbook is to provide a comprehensive introduction to the fundamental knowledge in embedded systems, with applications in cyber-physical systems and the Internet of things. It starts with an introduction to the field and a survey of specification models and languages for embedded and cyber-physical systems. It provides a brief overview of hardware devices used for such systems and presents the essentials of system software for embedded systems, including real-time operating systems. The author also discusses evaluation and validation techniques for embedded systems and provides an overview of techniques for mapping applications to execution platforms, including multi-core platforms. Embedded systems have to operate under tight constraints and, hence, the book also contains a selected set of optimization techniques, including software optimization techniques. The book closes with a brief survey on testing. This fourth edition has been updated and revised to reflect new trends and technologies, such as the importance of cyber-physical systems (CPS) and the Internet of things (IoT), the evolution of single-core processors to multi-core processors, and the increased importance of energy efficiency and thermal issues

    Protocol fuzz testing as a part of secure software development life cycle

    Get PDF
    During the last couple of years the importance of software security has gained a lot of press recognition and it has become very important part of different software products especially in the embedded industry. To prevent software security vulnerabilities the secure software development life cycle is recommended as a development method to prevent implementation bugs and design flaws in the early phase of the product development. Secure software development life cycle recommends various different security actions to be taken in different phases of the development life cycle. Fuzz testing is one of these recommendations. Fuzz testing is an automated testing technique where the system under test is given modified and malformed also known as fuzzed input data. The purpose of fuzz testing is to find implementation bugs and security related vulnerabilities. Fuzz testing has been proven to be cost effective method to identify such issues. To increase the effectiveness of fuzz testing, such methods can be directly included in the implementation phase of the secure software development life cycle. The purpose of this thesis is to create a fuzz testing framework to fuzz proprietary protocols
    • ā€¦
    corecore