{"title":"Embedding formally proved code in a smart card: converting B to C","authors":"Antoine Requet, Gaëlle Bossu","doi":"10.1109/ICFEM.2000.873801","DOIUrl":"https://doi.org/10.1109/ICFEM.2000.873801","url":null,"abstract":"Smart cards are small embedded devices with strong security requirements. To fulfil those requirements, formal methods appear as promising techniques. The B method has already been used to model smart-card components. However, smart cards have also very strong programming constraints, both for memory usage and computing power. Currently, the code generated from a B specification does not meet those constraints. This paper presents some classical optimisation techniques that are well-suited for B specifications and that need to be included within a code generator to embed this generated code.","PeriodicalId":290677,"journal":{"name":"ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods","volume":"95 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133537159","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Filter promotion transformation strategies for deriving efficient programs from Z specifications","authors":"A. Abdallah","doi":"10.1109/ICFEM.2000.873816","DOIUrl":"https://doi.org/10.1109/ICFEM.2000.873816","url":null,"abstract":"In recent years there has been growing interest in systematic methods for refining Z specifications into programs. We consider a transformational programming strategy known as filter promotion and examine its use for refining a class of Z specifications into sequential as well as parallel programs. This strategy is particularly useful for transforming specification of generate and test problems into efficient algorithms. We find it convenient to use different notations at different level of abstractions: Z to capture the starting specification, Bird-Meertens functional notation to express algorithms and Hoare's CSP to describe parallelism and communications. The basic ideas are illustrated by systematic transformational developments of sequential and parallel algorithms for sorting and searching problems.","PeriodicalId":290677,"journal":{"name":"ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130146748","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A unified algebraic framework for specifying communication protocols","authors":"M. Jmaiel","doi":"10.1109/ICFEM.2000.873805","DOIUrl":"https://doi.org/10.1109/ICFEM.2000.873805","url":null,"abstract":"Provides a unified framework for the specification of communication protocols. This framework enables one to integrate different formalisms within algebraic specifications, permitting the description of the dynamic aspects of distributed systems, such as temporal logic, Petri nets and process algebra. These integrations provide different languages, allowing specifications which may include both the data aspects and the behavioral aspects of protocols. In addition, this paper gives a unified semantics for the different languages based on algebra and event structures. Finally, we illustrate our framework by specifying the Alternating Bit Protocol using the different behavioral formalisms.","PeriodicalId":290677,"journal":{"name":"ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134097936","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Highly reliable component-based software development by using algebraic behavioral specification","authors":"M. Matsumoto, K. Futatsugi","doi":"10.1109/ICFEM.2000.873803","DOIUrl":"https://doi.org/10.1109/ICFEM.2000.873803","url":null,"abstract":"Component-based software development, in which software is developed by combining components and connectors, has gained in popularity because it can increase software productivity. To increase software productivity, components must be re-used, but to do so, we must select a software architecture. We propose a new software architecture called a \"tree architecture\". It is represented by a special class of algebraic behavioral specification called \"projection-style behavioral specification\". Recently, even component-based enterprise systems have been developed, so the importance of technologies to develop highly reliable component-based software has increased. We propose two such technologies using projection-style behavioral specification. One is a technology that assures the high reliability of connectors. The other is a technology that assures the consistency of software family evolution. The advantages of these technologies are that they can be automated.","PeriodicalId":290677,"journal":{"name":"ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116920749","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Composing specifications in VSPEC","authors":"Arun Venkataraman, M. Rangarajan, P. Alexander","doi":"10.1109/ICFEM.2000.873804","DOIUrl":"https://doi.org/10.1109/ICFEM.2000.873804","url":null,"abstract":"As systems become increasingly complex and existing methodologies become insufficient to handle the complexity, the design community is beginning to look at formal methods for a possible solution. Techniques involving a limited use of formal techniques (such as semi-formal methods and equivalence checking) have given a glimpse of what full usage of formal techniques can achieve. For the use of formal methods to be a widely accepted methodology among designers, it must provide the designers with the capabilities of structuring specifications in a manner similar to the structuring they are used to using with programming languages. In this paper, we provide a description of the structuring capabilities of VSPEC (VHDL SPECification), a requirements specification language for VHDL. These capabilities include the use of multiple pre- and post-condition pairs within a single specification and combination of specifications using common Boolean operators.","PeriodicalId":290677,"journal":{"name":"ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods","volume":"7 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122337639","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An animatable operational semantics of the Verilog hardware description language","authors":"Jonathan P. Bowen, Jifeng He, Qiwen Xu","doi":"10.1109/ICFEM.2000.873820","DOIUrl":"https://doi.org/10.1109/ICFEM.2000.873820","url":null,"abstract":"An operational semantics of a significant subset of the Verilog hardware description language (HDL) is presented. The semantics is encoded using the logic programming language Prolog in a literate programming style. This allows the associated documentation to be maintained in step with the semantics, and the printed version to be presented in a standard mathematical operational semantics style. It also enables the semantics to be directly animated using a Prolog interpreter. Using this approach allows the exploration of sometimes subtle behaviours of parallel programs and the possibility of rapid changes or additions to the semantics of the language covered that could be missed otherwise. In addition, it provides and extra check on the validity of the operational semantics.","PeriodicalId":290677,"journal":{"name":"ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126481240","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Structuring reactive systems in B AMN","authors":"K. Lano, K. Androutsopoulos, P. Kan","doi":"10.1109/ICFEM.2000.873802","DOIUrl":"https://doi.org/10.1109/ICFEM.2000.873802","url":null,"abstract":"B has been widely used for high-integrity systems development, for example in the railway industry. However, there are few published guidelines on how to structure B specifications for particular types of system, such as reactive control systems. In this paper, we describe a method to support the graphical design of systems using the B abstract machine notation (AMN), and we develop guidelines for expressing the structuring requirements of reactive systems in B.","PeriodicalId":290677,"journal":{"name":"ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods","volume":"90 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129869145","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Offering formal verification capabilities for industry standard case tools: challenges and results","authors":"W. Damm","doi":"10.1109/ICFEM.2000.10003","DOIUrl":"https://doi.org/10.1109/ICFEM.2000.10003","url":null,"abstract":"Ifformal verification techniques are to find their way into industrial design flows, then they must come disguised as sheep: they should appear to the designer of embedded control units as easy to use as, say, a simulator or a code generator. The talk presents a range of challenges which must be mastered to reach this far striving goal, touching upon such issues as diversity of commercially relevant modeling tools, semantic integration, complexity of models, handling of floating point variables, ease of use. Results are presented regarding solutions of these issues in offering veriJication support for the Statemate case tool of I-Logix, Inc, and its use in three application domains: avionics, automotive, and train systems.","PeriodicalId":290677,"journal":{"name":"ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods","volume":"104 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131119118","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Mechanical verification of transaction processing systems","authors":"D. Chkliaev, J. Hooman, P. V. D. Stok","doi":"10.1109/ICFEM.2000.873809","DOIUrl":"https://doi.org/10.1109/ICFEM.2000.873809","url":null,"abstract":"Concerns the formal specification and mechanical verification of transaction processing systems aimed at distributed databases. In such systems, a standard set of ACID (Atomicity, Consistency, Isolation and Durability) properties must be ensured by a combination of concurrency control and recovery protocols. In the existing literature, these protocols are often studied in isolation, making strong assumptions about each other. The problem of combining them in a formal way has been largely ignored. To study the formal verification of combined protocols, we specify a transaction processing system, integrating strict two-phase locking, undo/redo recovery and two-phase commit. In our method, the locking and undo/redo mechanism at distributed sites is defined by state machines, whereas the interaction between sites according to the two-phase commit protocol is specified by assertions. We have proved, using the interactive proof checker of PVS, that our system satisfies atomicity, durability and serializability properties.","PeriodicalId":290677,"journal":{"name":"ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131236809","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Fragmented retrenchment, concurrency and fairness","authors":"R. Banach, M. Poppleton","doi":"10.1109/ICFEM.2000.873814","DOIUrl":"https://doi.org/10.1109/ICFEM.2000.873814","url":null,"abstract":"Retrenchment is presented in a simple relational framework as a more flexible development concept than refinement for capturing the early preformal stages of development, and briefly justified. Fragmented retrenchment permits the granularity of actions to decrease across a development step, many concrete steps retrenching a single abstract one. This generates the usual proliferation of interleavings of events at the concrete level. Event structures, particularly flow event structures, help to control these within the retrenchments of a single abstract step, while the concurrent reading of the fragmented retrenchment proof obligation permits acceptable interleavings of retrenchments of different steps. It is observed that retrenchment allows the convenient description of unfair behaviours when fairness is not guaranteed.","PeriodicalId":290677,"journal":{"name":"ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121695875","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}