A Family-Oriented Software Development Process for Engine Controllers

  • Karen Allenby
  • Simon Burton
  • Darren Buttle
  • John McDermid
  • John Murdoch
  • Alan Stephenson
  • Mike Bardill
  • Stuart Hutchesson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2188)


This paper presents a software engineering process that includes family-based aspects for aero-engine control software. The process uses a “family capability” derived from family analysis of the embedding system. This analysis allows reuse capability to be designed into the process by exploiting prior knowledge of the differences between members of an engine family. The process described follows the traditional software lifecycle. However, the nature of the stages is modified to incorporate the use of the family capability, essentially to allow systematic application of both compositional and generational reuse throughout the development process. The process described was evaluated on a trial project to develop, and subsequently modify, a thrust reverser system for a small aero-engine. Initial results show that this process can reduce effort for both initial and subsequent developments through the use of the family capability.


Software Engineer Software Architecture Software Development Process Architectural Style Family Analysis 
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. [Barnes97]
    John Barnes. High Integrity Ada The SPARK Approach. Addison-Wesley Longman Ltd, 1997.Google Scholar
  2. [Berzin99]
    Sergey Berezin. The SMV web site., 1999. The latest version of SMV and its documentation may be downloaded from this site.
  3. [Bergeretti-et-al85]
    J.-F. Bergeretti and B.A. Carré. Information-Flow and Data-Flow of while-Programs. ACM Transactions on Programming Languages and Systems, 7(1):37–61, January 1985.zbMATHCrossRefGoogle Scholar
  4. [Budd81]
    Timothy A. Budd. Mutation analysis: Ideas, examples, problems and prospects. Computer Languages Program Testing, 10(1):63–73, 1985.zbMATHGoogle Scholar
  5. [Burns-et-al94]
    A. Burns and A.J. Wellings. HRT-HOOD: A structured design method for hard real time systems. Real Time Systems Journal, 6(1):73–114, January 1994.CrossRefGoogle Scholar
  6. [Burns-et-al95]
    A. Burns and A.J. Wellings. HRT-HOOD: A Structured Design Method for Hard Real Time Ada Systems. Elsevier, 1995.Google Scholar
  7. [Burton-et-al00]
    Simon Burton, John Clark, and John McDermid. Testing, proof and automation, an integrated approach. In Proceedings of the 1st International Workshop on Automated Program Analysis, Testing and Verification, June 2000.Google Scholar
  8. [Clark-et-al97]
    John Clark and Nigel Tracey. Solving constraints in LAW. LAW/D5.1.1(E), European Commission-DG III Industry, 1997. Legacy Assessment Worbench Feasibility Assessment.Google Scholar
  9. [Coplien-et-al98]
    James Coplien, Daniel Hoffmann, and David Weiss. Commonality and variability in software engineering. IEEE Software, pages 37–45, November/December 1998.Google Scholar
  10. [DeMillo-et-al78]
    R. DeMillo, R. Lipton, and F. Sayward. Hints on test data selection: Help for the practicing programmer. IEEE Computer, 11:34–41, 1978.Google Scholar
  11. [Galloway-et-al-98]
    Andy Galloway, Trevor Cockram, and John McDermid. Experiences with the application of discrete formal methods to the development of engine control software. Proceedings of DCCS’ 98. IFAC, 1998.Google Scholar
  12. [Harel-et-al88]
    David Harel, Hagi Lachover, Amnon Naamad, Amir Pnueli, Michael Politi, Rivi Sherman, Aharon Shtull-Truaring, and Mark Trakhenbrot. STATEMATE, a working environment for the development of complex reactive systems. IEEE Transactions On Software Engineering, 16:403–414, 1988.CrossRefGoogle Scholar
  13. [Hill-et-al94]
    J.V. Hill, J.A. McDermid, R. Rimmer, and B.R. Whittle. Re-use of engine control technology. 1994 Avionics Conference and Exhibition, ERA Technology, 1994.Google Scholar
  14. [Mannion-et-al99]
    Mike Mannion, Barry Keepence, Hermann Kaindl, et. al. Reusing Single System Requirements from Application Family Requirements. In Proceedings of the 21st International Conference of Software Engineering, pages 453–463, May 1999.Google Scholar
  15. [McDermid-et-al98]
    John McDermid, Andy Galloway, Simon Burton, John Clark, Ian Toyn, Nigel Tracey and Samuel Valentine. Towards industrially applicable formal methods: Three small steps, one giant leap. Proceedings of the International Conference on Formal Engineering Methods, October 1998.Google Scholar
  16. [Neighbors84]
    J Neighbors. The Draco Approach to Constructing Software from Reusable Components. IEEE Transactions on Software Engineering, SE-10:564–573, September 1984.CrossRefGoogle Scholar
  17. [Ould95]
    M.A. Ould. Business Processes: Modelling and analysis for re-engineering and improvement. Wiley, 1995.Google Scholar
  18. [Parnas76]
    D.L. Parnas. On the Design and Development of Program Families. IEEE Transactions on Software Engineering, 2(1):1–9, March 1976.CrossRefGoogle Scholar
  19. [Prieto-Díaz90]
    R Prieto-Díaz. Domain Analysis: an Introduction. Software Engineering Notes, 15(2):47–54, April 1990.Google Scholar
  20. [Sha-et-al90]
    L. Sha, R. Rajkumar and J.P. Lehoczky. Priority inheritance protocols: an approach to real-time synchronization. IEEE Transactions on Computers, 9(9):1175-85, September 1990.MathSciNetGoogle Scholar
  21. [Simpson86]
    H. Simpson. The MASCOT method. Software Engineering Journal, 1(3):103-20, May 1986.CrossRefGoogle Scholar
  22. [simpson96]
    H.R. Simpson. Layered architecture(s): Principles and practice in concurrent distributed systems. In IEEE Symposium on Parallel and Distributed Processing, 1996.Google Scholar
  23. [SEI97]
    Software Engineering Institute. Model-Based Software Engineering., 1997.
  24. [Spivey92]
    J.M. Spivey. The Z Notation-A Reference Manual. Prentice-Hall, Second edition, 1992.Google Scholar
  25. [Toyn96]
    Ian Toyn. Formal reasoning in the Z notation using CADiZ. 2nd International Workshop on User Interface Design for Theorem Proving Systems, July 1996.Google Scholar
  26. [Toyn99]
    Ian Toyn. The CADiZ web site., 1999. The latest version of CADiZ and its documentation may be downloaded from this site.
  27. [Vickers-et-al96a]
    A. Vickers, P. Tongue and J. Smith. Complexity and its Management in Requirements Engineering. INCOSE UK Annual Symposium-Getting to Grips with Complexity, Coventry, UK, 1996.Google Scholar
  28. [Vickers-et-al96b]
    A.J. Vickers, J.E. Smith, P.J. Tongue and W. Lam. The ConCERT Approach to Requirements Specification-Version 2.0. Technical Report YUTC/TR/96.1 Rolls-Royce University Technology Centre, University of York, York, UK, YO10 5DD, November 1996.Google Scholar

Copyright information

© Springerj-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Karen Allenby
    • 1
  • Simon Burton
    • 1
  • Darren Buttle
    • 1
  • John McDermid
    • 1
  • John Murdoch
    • 1
  • Alan Stephenson
    • 1
  • Mike Bardill
    • 2
  • Stuart Hutchesson
    • 2
  1. 1.Rolls-Royce University Technology Centre in Systems and Software Engineering, Department of Computer ScienceUniversity of YorkYorkUK
  2. 2.Rolls-Royce Plc, Control SystemsMoor Lane, DerbyUK

Personalised recommendations