Towards a Method for Rigorous Development of Generic Requirements Patterns

  • Colin Snook
  • Michael Poppleton
  • Ian Johnson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4157)


We present work in progress on a method for the engineering, validation and verification of generic requirements using domain engineering and formal methods. The need to develop a generic requirement set for subsequent system instantiation is complicated by the addition of the high levels of verification demanded by safety-critical domains such as avionics. Our chosen application domain is the failure detection and management function for engine control systems: here generic requirements drive a software product line of target systems.

A pilot formal specification and design exercise is undertaken on a small (two-sensor) system element. This exercise has a number of aims: to support the domain analysis, to gain a view of appropriate design abstractions, for a B novice to gain experience in the B method and tools, and to evaluate the usability and utility of that method. We also present a prototype method for the production and verification of a generic requirement set in our UML-based formal notation, UML-B, and tooling developed in support. The formal verification both of the structural generic requirement set, and of a particular application, is achieved via translation to the formal specification language, B, using our U2B and ProB tools.


Domain Analysis Failure Detection Generic Requirement Software Product Line Abstract Version 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)MATHCrossRefGoogle Scholar
  2. 2.
    J.-R. Abrial.: Atelier-B (1998),
  3. 3.
    Amey, P.: Dear sir, Yours faithfully: an everyday story of formality. In: Redmill, F., Anderson, T. (eds.) Proc. 12th Safety-Critical Systems Symposium, Birmingham, pp. 3–18. Springer, Heidelberg (2004)Google Scholar
  4. 4.
    Araki, K., Gnesi, S., Mandrioli, D. (eds.): FME 2003. LNCS, vol. 2805. Springer, Heidelberg (2003)MATHGoogle Scholar
  5. 5.
    Banach, R., Poppleton, M.: Retrenching partial requirements into system definitions: A simple feature interaction case study. Requirements Engineering Journal 8(2), 22 (2003)Google Scholar
  6. 6.
    Batory, D., Sarvela, J., RauschMayer, A.: Scaling step-wise refinement. IEEE Transactions on Software Engineering 30(6), 355–371 (2004)CrossRefGoogle Scholar
  7. 7.
    Belcastro, C.M.: Application of failure detection, identification, and accomodation methods for improved aircraft safety. In: Proc. American Control Conference, vol. 4, pp. 2623–2624. IEEE, Los Alamitos (2001)Google Scholar
  8. 8.
    Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language - a Reference Manual. Addison-Wesley, Reading (1998)Google Scholar
  9. 9.
    Cansell, D., Abrial, J.-R., et al.: B4free. A set of tools for B development (2004), from:
  10. 10.
    Dehbonei, B., Mejia, F.: Formal development of safety-critical software systems in railway signalling. In: Hinchey, M.G., Bowen, J.P. (eds.) Applications of Formal Methods ch.10, pp. 227–252. Prentice-Hall, Englewood Cliffs (1995)Google Scholar
  11. 11.
    Faulk, S.R.: Product-line requirements specification (PRS): an approach and case study. In: Proc. Fifth IEEE International Symposium on Requirements Engineering, IEEE Comput. Soc., Los Alamitos (2000)Google Scholar
  12. 12.
    Fayad, M., Schmidt, D.: Object-oriented application frameworks. Communications of the ACM 40(10), 32–38 (1997)CrossRefGoogle Scholar
  13. 13.
    Hayes, I.J., Jackson, M.A., Jones, C.B.: Determining the specification of a control system from that of its environment. In: Araki et al. [4], pp. 154–169Google Scholar
  14. 14.
    Laibinis, L., Troubitsyna, E.: Fault tolerance in a layered architecture: a general specification pattern in B. In: Proc. 2nd Int. Conf. on Software Engineering and Formal Methods, pp. 346–355. IEEE Computer Society, Los Alamitos (2004)CrossRefGoogle Scholar
  15. 15.
    Laibinis, L., Troubitsyna, E.: Refinement of fault tolerant control systems in B. In: Heisel, M., Liggesmeyer, P., Wittmann, S. (eds.) SAFECOMP 2004. LNCS, vol. 3219, pp. 254–268. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
    Lam, W.: Achieving requirements reuse: a domain-specific approach from avionics. Journal of Systems and Software 38(3), 197–209 (1997)CrossRefGoogle Scholar
  17. 17.
    Leuschel, M., Butler, M.: ProB: a model checker for B. In: Araki et al. [4], pp. 855–874Google Scholar
  18. 18.
    Macala, R., Stuckey Jr., L., Gross, D.: Managing domain-specific, product-line development. IEEE Software, 57–67 (May 1996)Google Scholar
  19. 19.
    UK Ministry of Defence. Def Stan 00-55: Requirements for safety related software in defence equipment 2 (1997),
  20. 20.
    Muthig, D.: GoPhone - a software product line in the mobile phone domain. Technical Report IESE-Report No. 025.04/E, Fraunhofer Institut Experimentelles Software Engineering (2004)Google Scholar
  21. 21.
    Muthig, D., Atkinson, C.: Model-driven product line architectures. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 110–129. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  22. 22.
    Parnas, D.L.: On the design and development of program families. IEEE Transactions on Software Engineering SE-2 (March 1976)Google Scholar
  23. 23.
    Schneider, S.: The B-Method. Palgrave Press (2001)Google Scholar
  24. 24.
    Snook, C., Butler, M.: U2B - a tool for translating UML-B models into B, In: Mermet, J. (ed.) UML-B Specification for Proven Embedded Systems Design, ch. 5. Springer, Heidelberg (2004)Google Scholar
  25. 25.
    Snook, C., Butler, M., Edmunds, A., Johnson, I.: Rigorous development of reusable, domain-specific components, for complex applications. In: Jurgens, J., France, R. (eds.) Proc. 3rd Intl. Workshop on Critical Systems Development with UML, Lisbon, pp. 115–129 (2004)Google Scholar
  26. 26.
    Snook, C., Oliver, I., Butler, M.: The UML-B profile for formal systems modelling in UML, In: Mermet, J. (ed.) UML-B Specification for Proven Embedded Systems, ch. 5. Springer, Heidelberg (2004)Google Scholar
  27. 27.
    Snook, C., Poppleton, M., Johnson, I.: The engineering of generic requirements for failure management. In: Kamsties, E., Gervasi, V., Sawyer, P. (eds.) Proc. 11th Int. Workshop on Requirements Engineering: Foundation for Software Quality, Oporto, Essener Informatik Beitrage, pp. 145–160 (June 2005)Google Scholar
  28. 28.
    Snook, C., Poppleton, M., Johnson, I.: Rigorous engineering of product-line requirements: a case study in failure management (submitted, 2006)Google Scholar
  29. 29.
    Tracz, W.: DSSA (Domain-Specific Software Architecture) pedagogical example. ACM Software Engineering Notes, 49–62 (July 1995)Google Scholar
  30. 30.
    Węsowski, A.: Automatic generation of program families by model restrictions. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 73–89. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Colin Snook
    • 1
  • Michael Poppleton
    • 1
  • Ian Johnson
    • 2
  1. 1.School of Electronics and Computer ScienceUniversity of SouthamptonHighfield, SouthamptonUK
  2. 2.AT Engine ControlsPortsmouth

Personalised recommendations