28 research outputs found

    Tailored Protocol Development Using ESTEREL

    Get PDF
    The rapid evolution of networking and the multiplication of new applications re-emphasizes the importance of the efficient communication supports. Implementations must be able to take maximal advantage of the details of application-specific semantics and of specific networking environments. In other words, the application needs to have more control over data transmission. Such control can be obtained by tailoring the communication facilities (or protocols) to the application characteritics, and by integrating the communication control to the application. Because such a task is too complex to be realized manually, we propose to automate the protocol development process using a formal approach. This report presents our approach to the automated design and implementation of application- specific communication protocols based on information provided by the application. Starting from the formal description of an application, our approach is based on a tool called "Protocol Compiler" that will automatically produce the implementation of a communication protocol tailored to the application. The formalism we use is ESTEREL, a synchronous reactive language dedicated to the description of real-time systems. Protocol description and verification using ESTEREL are described, as well as protocol optimization and implementation principles

    Proceedings of the Third Symposium on Programming Languages and Software Tools : Kääriku, Estonia, August 23-24 1993

    Get PDF
    http://www.ester.ee/record=b1064507*es

    Mixing formal specifications using ICL (interconnection language)

    Get PDF
    There is an increasing need and desire to develop systems by combining components that are written in different languages and/or run on different kinds of machines. Success largely depends on the ability of their components to communicate and work together despite their differing backgrounds. This thesis addresses the problem of mixing two formal specification languages, SDL and LOTOS. Various approaches to mixing specification languages are examined including the SPECS approach which is presented in more detail. A unique feature of the SPECS approach is the support of multiple specification languages, including the ability to mix specifications languages within a given system design. This area of research investigates the SPECS specific mixing language ICL (Interconnection Language). The thesis looks at two formal languages, one of an asynchronous nature (SDL) and one of a synchronous nature (LOTOS), which can be combined using the Interconnection Language. Also a set of rules are given to produce this formal mixing specification from less formal descriptions. These rules use a range of informal representations and rigorous models of the required system to produce of the ICL specification. An application of these rules is presented. This research work was carried out as part of DCU’s contribution to the SPECS (Specification and Programming Environment for Communication Software) project, part of the RACE program of the EC. SPECS’s aim was to, as much as possible, automate the software development process by using formal languages. An overview of the SPECS project is presented in chapter 1 of this thesis

    Efficient computer-aided verification of parallel and distributed software systems

    Get PDF
    The society is becoming increasingly dependent on applications of distributed software systems, such as controller systems and wireless telecommunications. It is very difficult to guarantee the correct operation of this kind of systems with traditional software quality assurance methods, such as code reviews and testing. Formal methods, which are based on mathematical theories, have been suggested as a solution. Unfortunately, the vast complexity of the systems and the lack of competent personnel have prevented the adoption of sophisticated methods, such as theorem proving. Computerised tools for verifying finite state asynchronous systems exist, and they been successful on locating errors in relatively small software systems. However, a direct translation of software to low-level formal models may lead to unmanageably large models or complex behaviour. Abstract models and algorithms that operate on compact high-level designs are needed to analyse larger systems. This work introduces modelling formalisms and verification methods of distributed systems, presents efficient algorithms for verifying high-level models of large software systems, including an automated method for abstracting unneeded details from systems consisting of loosely connected components, and shows how the methods can be applied in the software development industry.reviewe
    corecore