Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Building traceable Event-B models from requirements

Published: 01 November 2015 Publication History

Abstract

Bridging the gap between informal requirements and formal specifications is a key challenge in systems engineering. Constructing appropriate abstractions in formal models requires skill and managing the complexity of the relationships between requirements and formal models can be difficult. In this paper we present an approach that aims to address the twin challenges of finding appropriate abstractions and managing traceability between requirements and models. Our approach is based on the use of semi-formal structures to bridge the gap between requirements and Event-B models and retain traceability to requirements in Event-B models. In the stepwise refinement approach, design details are gradually introduced into formal models. Stepwise refinement allows each requirement to be introduced at the most appropriate stage in the development. Our approach makes use of the UML-B and Event Refinement Structures (ERS) approaches. UML-B provides UML graphical notation that enables the development of data structures for Event-B models, while the ERS approach provides a graphical notation to illustrate event refinement structures and assists in the organisation of refinement levels. The ERS approach also combines several constructor patterns to manage control flows in Event-B. The intent of this paper is to harness the benefits of the UML-B and ERS approaches to facilitate constructing Event-B models from requirements and provide traceability between requirements and Event-B models. We present an approach for incrementally constructing a formal model from informal requirements.The approach aims to retaining traceability to requirements in models.We have chosen Event-B to develop the case studies because Event-B is a stepwise formal method which has a platform with various plugins called Rodin.UML-B is used to enable the development of an Event-B formal model, ERS is used to structure refinements.To sum up, our approach provides traceability between requirements and the Event-B model and help to construct the Event-B models from requirements.

References

[1]
J. Abrial, Modeling in Event-B - System and Software Engineering, Cambridge University Press, 2010.
[2]
C. Snook, M. Butler, UML-B: formal modeling and design aided by UML, ACM Trans. Softw. Eng. Methodol. (2006) 92-122.
[3]
M. Butler, Decomposition structures for Event-B, in: Proc. 7th International Conference on Integrated Formal Methods, Springer-Verlag, 2009, pp. 20-38.
[4]
A. Fathabadi, J. Butler, A. Rezazadeh, A systematic approach to atomicity decomposition in Event-B, in: SEFM, 2012, pp. 78-93.
[5]
A. Fathabadi, An approach to atomicity decomposition in the Event-B formal method, University of Southampton, Electronics and Computer Science, 2012.
[6]
C. Snook, M. Butler, UML-B: a plug-in for the Event-B tool set, in: Proc. 1st International Conference on Abstract State Machines, B and Z, Springer-Verlag, 2008, pp. 344.
[7]
E. Alkhammash, A. Fathabadi, M. Butler, C. Cristea, Building traceable Event-B models from requirements, in: Proceedings of Automated Verification of Critical Systems, 2013.
[8]
J. Abrial, M. Butler, S. Hallerstede, L. Voisin, An open extensible tool environment for Event-B, in: Lecture Notes in Computer Science, vol. 4260, 2006, pp. 588-605.
[9]
J. Abrial, M. Butler, S. Hallerstede, T. Hoang, F. Mehta, L. Voisin, Rodin: an open toolset for modelling and reasoning in Event-B, Int. J. Softw. Tools Technol. Transf., 12 (2010) 447-466.
[10]
M. Jackson, System Development, Prentice Hall, Englewood Cliffs, 1983.
[11]
R. Silva, M. Butler, Shared event composition/decomposition in Event-B, in: Proceedings of the 9th International Conference on Formal Methods for Components and Objects, Springer-Verlag, Berlin, Heidelberg, 2011, pp. 122-141.
[12]
K. Robinson, System Modelling and Design, 2010.
[13]
R. Barry, Using the FreeRTOS real time kernel - a practical guide, Lulu, 2010.
[14]
R. Barry, The FreeRTOS project. http://www.freertos.org/
[15]
I. Craig, Formal Models of Operating System Kernels, Springer, 2007.
[16]
I. Craig, Formal Refinement for Operating System Kernels, Springer-Verlag, New York, Inc., Secaucus, NJ, USA, 2007.
[17]
M. Spivey, Z Notation - A Reference Manual, Prentice Hall, 1992.
[18]
G. Smith, The Object-Z Specification Language, Kluwer Academic Publishers, Norwell, MA, USA, 2000.
[19]
R. Milner, Communication and Concurrency, Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1989.
[20]
L. Freitas, Mechanising data-types for kernel design in Z, in: SBMF, 2009, pp. 186-203.
[21]
A. Velykis, L. Freitas, Formal modelling of separation kernel components, in: Proceedings of the 7th International Colloquium Conference on Theoretical Aspects of Computing, Springer-Verlag, Berlin, Heidelberg, 2010, pp. 230-244.
[22]
D. Deharbe, S. Galvao, A. Moreira, Formalizing FreeRTOS: first steps, in: Lecture Notes in Computer Science, vol. 5902, Springer, 2009, pp. 101-117.
[23]
D. Deharbe, S. Galvao, A. Moreira, . http://code.google.com/p/freertosb/source/browse
[24]
P. Neumann, R. Boyer, R. Feiertag, K. Levitt, L. Robinson, A provably secure operating system: the system, its applications, and proofs, SRI International, 1980.
[25]
R. Feiertag, P. Neumann, The foundations of a provably secure operating system (PSOS), in: Proceedings of the National Computer Conference, AFIPS Press, 1979, pp. 329-334.
[26]
T. der Rieden, Verified Linking for Modular Kernel Verification, 2009.
[27]
T. Perrine, J. Codd, B. Hardy, An overview of the kernelized secure operating system (KSOS), in: Proceedings of the Seventh DoD/NBS Computer Security Initiative Conference, 1984, pp. 146-160.
[28]
S. Saydjari, J. Beckman, J. Leaman, Locking computers securely, in: 10th National Computer Security Conference, 1987, pp. 129-141.
[29]
J. Walker, A. Kemmerer, J. Popek, Specification and verification of the UCLA Unix security kernel, Commun. ACM, 23 (1980) 118-131.
[30]
C. Hoare, N. Wirth, An axiomatic definition of the programming language Pascal, Acta Inform., 2 (1973) 335-355.
[31]
G. Radha, Pascal Programming, New Age International (p) Limited, 1999.
[32]
G. Klein, K. Elphinstone, G. Heiser, J. Andronick, D. Cock, P. Derrin, D. Elkaduwe, K. Engelhardt, R. Kolanski, M. Norrish, T. Sewell, H. Tuch, S. Winwood, sel4: formal verification of an OS kernel, in: ACM Symposium on Operating Systems Principles, ACM, 2009, pp. 207-220.
[33]
G. Klein, P. Derrin, K. Elphinstone, Experience report: sel4: formally verifying a high-performance microkernel, SIGPLAN Not., 44 (2009) 91-96.
[34]
P. Hudak, J. Peterson, J. Fasel, A gentle introduction to Haskell. haskell.org
[35]
T. Nipkow, M. Wenzel, L. Paulson, Isabelle/HOL: A Proof Assistant for Higher-Order Logic, Springer-Verlag, Berlin, Heidelberg, 2002.
[36]
S. Liu, Formal Engineering for Industrial Software Development: Using the SOFL Method, Springer, 2004.
[37]
M. Li, S. Liu, Design and implementation of a tool for specifying specification in SOFL, in: SOFL, 2012, pp. 44-55.
[38]
S. Liu, A framework for developing dependable software systems using the sofl formal engineering method, in: 2010 International Conference on Intelligent Computing and Integrated Systems, 2010, pp. 561-567.
[39]
R. Dromey, Formalizing the transition from requirements to design, in: Mathematical Frameworks for Component Software Models for Analysis and Synthesis, World Scientific, Singapore, 2007.
[40]
K. Winter, Formalising behaviour trees with CSP, in: Lecture Notes in Computer Science, vol. 2999, Springer, 2004, pp. 148-167.
[41]
M. Jastram, S. Hallerstede, M. Leuschel, A.G. Russo, An approach of requirements tracing in formal refinement, in: VSTTE, 2010, pp. 97-111.
[42]
S. Yeganefard, M. Butler, Control systems: phenomena and structuring functional requirement documents, in: ICECCS, 2012, pp. 39-48.
[43]
A. Lamsweerde, Requirements Engineering: From System Goals to Uml Models to Software Specifications, Wiley, New York, 2009.
[44]
C. Ponsard, X. Devroey, Generating high-level Event-B system models from KAOS requirements models, InforSID 2011, Lille (France).

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Science of Computer Programming
Science of Computer Programming  Volume 111, Issue P2
November 2015
149 pages

Publisher

Elsevier North-Holland, Inc.

United States

Publication History

Published: 01 November 2015

Author Tags

  1. Event Refinement Structure (ERS)
  2. Event-B
  3. Traceability
  4. UML-B

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A graphical tool for formal verification using Event-B modelingMultimedia Tools and Applications10.1007/s11042-023-15993-883:4(10899-10923)Online publication date: 1-Jan-2024
  • (2023)Program Synthesis for Cyber-ResilienceIEEE Transactions on Software Engineering10.1109/TSE.2022.316867249:3(962-972)Online publication date: 1-Mar-2023
  • (2020)Formal modelling of OWL ontologies-based requirements for the development of safe and secure smart city systemsSoft Computing - A Fusion of Foundations, Methodologies and Applications10.1007/s00500-020-04688-z24:15(11095-11108)Online publication date: 1-Aug-2020
  • (2017)Using BDD and SBVR to refine business goals into an event-B modelProceedings of the 5th International FME Workshop on Formal Methods in Software Engineering10.5555/3101290.3101300(31-36)Online publication date: 20-May-2017

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media