53 research outputs found

    Deriving software architectures for CRUD applications: the FPL tower interface case study

    Get PDF
    The main aim of this paper is to present how to derive logical software architectures for CRUD (Create, Read, Update and Delete) applications using a specific technique called 4SRS. In this technique, a component diagram, which is obtained through transformations of use cases, is used to represent the logical software architecture. To show that the 4SRS technique, which was initially devised for behavior-intensive reactive systems, is also effective and gives seamless results for other software domains, it is being experimented on data processing systems, which typically follow a CRUD pattern. For demonstration purposes, the FPL tower interface system, which is responsible for communication between air traffic control operators and flight data processing system on airports of Portugal, has been used as a case study.(undefined

    Towards validation of requirements models

    Get PDF
    The original publication is available at www.springerlink.comInternational audienceThe aim of this paper is to gradually introduce formalism in the requirement engineering phase in order to facilitate its validation. We analyze and elicit our requirements with KAOS, specify them into Event-B language, and then use the animation technique to rigourously validate the derived formal specification and consequently its semi-formal counterpart goal model against original customers' requirements

    Software Safety and Security Risk Mitigation in Cyber-Physical Systems

    Get PDF
    Cyber-physical systems (CPSs) offer many opportunities but pose many challenges--especially regarding functional safety, cybersecurity, and their interplay, as well as the systems\u27 impact on society. Consequently, new methods and techniques are needed for CPS development and assurance. This article [and issue] aims to address some of these challenges

    Domain Engineering with Event-B: Some Lessons We Learned

    Get PDF
    International audienceWell specified requirements are crucial for good software design and domain engineering helps better understanding and specification of requirements. Safety critical domains, such as transportation, exhibit interesting features, such as high levels of non-determinism, complex interactions, stringent safety properties, multifaceted timing attributes, etc. The formal representation of these features is a challenging task. This paper presents our experience of modeling land transportation domain in the formal framework of Event-B. We explore the possibility of using Event-B as a domain engineering tool. We discuss the problems posed by the introduction of time and how we tackle it. We design a technique based on animation to validate domain models

    Incorporating Animation in Stepwise Development of Formal Specification

    Get PDF
    International audienceThis paper explores the possibility to incorporate validation of formal specifications into their step-wise development process. The key idea in formal methods to assess that an implementation is correct is to break the verification into smaller proofs associated with each refinement step. Likewise, the technique of animation could be used with each refinement step to break its validation into smaller assessments. Animating an abstract specification often requires to alter it in ways that proof obligations cannot be discharged anymore. So, we have developed a process and a set of transformation rules whose application produce an animatable specification which may be non-provable, but which is guaranteed to have the same behavior. 10 rules have been identified; they are presented and discussed with a special emphasis on their validity. We relate how step-wise animation is used in two case studies and what we gain from this

    The Role of Validation in Refinement-Based Formal Software Development

    Get PDF
    International audienceIn this chapter, we consider the issue of validation in the context of formal software development. Although validation is a standard practice in all industrial software development processes, this activity is somehow less well addressed within formal methods. As the needs for formal languages, tools and environments are increasing in producing real-life software, the validation issue must be addressed. In this chapter, we discuss what the place of validation within formal methods, what specific issues there are associated with formal methods as far as validation is concerned, and what tools can be used in this regard. We then present a few examples of the usefulness of validation from the case studies we have developed. The chapter is concluded with a few open research problems associated with validation and future work

    Transformational Heuristics for Animation - Towards Stepwise Validation of Specications

    Get PDF
    In formal methods, a key idea to assess that an implementation is correct is to break its verification into smaller proofs associated with each refinement step. Likewise, the technique of animation could be used during refinement process to break its validation into smaller assessments. Animating an abstract specification often requires to alter it in order to make it animatable. So we design a set of heuristics whose application transforms non-animatable specifications into animatable specifications and then based on these transformational heuristics, we develop a rigorous validation framework for stepwise validation of formal specifications
    • …
    corecore