You Can’t Get There from Here! Large Problems and Potential Solutions in Developing New Classes of Complex Computer Systems

  • Mike Hinchey
  • James L. Rash
  • Walter F. Truszkowski
  • Christopher A. Rouff
  • Roy Sterritt

Abstract

The explosion of capabilities and new products within the sphere of Information Technology (IT) has fostered widespread, overly optimistic opinions regarding the industry, based on common but unjustified assumptions of quality and correctness of software. These assumptions are encouraged by software producers and vendors, who at this late date have not succeeded in finding a way to overcome the lack of an automated, mathematically sound way to develop correct systems from requirements. NASA faces this dilemma as it envisages advanced mission concepts that involve large swarms of small spacecraft that will engage cooperatively to achieve science goals. Such missions entail levels of complexity that beg for new methods for system development far beyond today’s methods, which are inadequate for ensuring correct behavior of large numbers of interacting intelligent mission elements. New system development techniques recently devised through NASA-led research will offer some innovative approaches to achieving correctness in complex system development, including autonomous swarm missions that exhibit emergent behavior, as well as general software products created by the computing industry.

Keywords

Formal Method Solar Sail Emergent Behavior Asteroid Belt Exploration Mission 
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.

Notes

Acknowledgements

This paper was previously published in Proc. Eighth International Conference on Integrated Design and Process Technology (IDPT), 2005. Reprinted with permission.

This work is funded in part by Science Foundation Ireland grant 03/CE2/I303_1 to Lero—the Irish Software Engineering Research Centre (www.lero.ie); by the NASA Office of Safety and Mission Assurance, under its Software Assurance Research Program project Formal Approaches to Swarm Technologies (FAST), administered by the NASA IV&V Facility; by the Office of Technology Transfer, NASA Goddard Space Flight Center; by the NASA Software Engineering Laboratory, NASA Goddard Space Flight Center; and by the University of Ulster Computer Science Research Institute and the Centre for Software Process Technologies (CSPT), funded by Invest NI through the Centres of Excellence Programme under the European Union Peace II initiative.

References

  1. 1.
    Bakam, I., Kordon, F., Page, C.L., Bousquet, F.: Formalization of a spatialized multiagent model using Coloured Petri Nets for the study of an hunting management system. In: Proc. First International Workshop on Formal Approaches to Agent-Based Systems (FAABS I). LNAI, vol. 1871. Springer, Greenbelt (2000) Google Scholar
  2. 2.
    Bauer, F.L.: A trend for the next ten years of software engineering. In: Freeman, H., Lewis, P.M. (eds.) Software Engineering, pp. 1–23. Academic Press, New York (1980) Google Scholar
  3. 3.
    Beni, G., Want, J.: Swarm intelligence. In: Seventh Annual Meeting of the Robotics Society of Japan, Tokyo, Japan, pp. 425–428. RSJ Press, Germering (1989) Google Scholar
  4. 4.
    Bonabeau, E., Théraulaz, G., Deneubourg, J.-L., Aron, S., Camazine, S.: Self-organization in social insects. Trends Ecol. Evol. 12, 188–193 (1997) CrossRefGoogle Scholar
  5. 5.
    Bonnet, L., Florin, G., Duchien, L., Seinturier, L.: A method for specifying and proving distributed cooperative algorithms. In: Proc. DIMAS-95 (1995) Google Scholar
  6. 6.
    Bowen, J.P., Hinchey, M.G.: High-integrity System Specification and Design. FACIT Series. Springer, London (1999) Google Scholar
  7. 7.
    Brooks, Jr., F.P.: No silver bullet: essence and accidents of software engineering. IEEE Comput. 20(4), 10–19 (1987) CrossRefMathSciNetGoogle Scholar
  8. 8.
    Büssow, R., Geisler, R., Klar, M.: Specifying safety-critical embedded systems with statecharts and Z: a case study. In: Astesiano, E. (ed.) Proc. International Conference on Fundamental Approaches to Software Engineering. LNCS, vol. 1382, pp. 71–87. Springer, Berlin (1998) CrossRefGoogle Scholar
  9. 9.
    Butler, M.J.: Csp2b: a practical approach to combining Csp and B. Declarative Systems and Software Engineering Group, Department of Electronics and Computer Science, University of Southampton (1999) Google Scholar
  10. 10.
    Fellenstein, C.: On Demand Computing. IBM Press Series on Information Management. Prentice Hall, Upper Saddle River (2005) Google Scholar
  11. 11.
    Fischer, C.: Combination and implementation of processes and data: from CSP-OZ to Java. Ph.D. thesis, Universität Oldenburg, Germany (2000) Google Scholar
  12. 12.
    Formal Systems (Europe), Ltd.: Failures-Divergences Refinement: User Manual and Tutorial. (1999) Google Scholar
  13. 13.
    Gala, A.K., Baker, A.D.: Multi-agent communication in JAFMAS. In: Proc. Workshop on Specifying and Implementing Conversation Policies, Third International Conference on Autonomous Agents (Agents ’99), Seattle, Washington (1999) Google Scholar
  14. 14.
    Galloway, A.J., Stoddart, W.J.: An operational semantics for ZCCS. In: Hinchey, M., Liu, S. (eds.) Proc. IEEE International Conference on Formal Engineering Methods (ICFEM-97), pp. 272–282. IEEE Comput. Soc., Los Alamitos (1997) CrossRefGoogle Scholar
  15. 15.
    Ganek, A.G., Corbi, T.A.: The dawning of the autonomic computing era. IBM Syst. J. 42(1), 5–18 (2003) CrossRefGoogle Scholar
  16. 16.
    Gray, J.N.: What next? A few remaining problems in information technology. Turing Award Lecture (ACM FCRC) (1999) Google Scholar
  17. 17.
    Gray, J.N.: Dependability in the Internet era. In: Proc. High Dependability Computing Consortium Workshop, Santa Cruz, California (2001) Google Scholar
  18. 18.
    Harel, D.: On visual formalisms. Commun. ACM 31(5), 514–530 (1988) CrossRefMathSciNetGoogle Scholar
  19. 19.
    Harel, D.: Biting the silver bullet: toward a brighter future for system development. IEEE Comput. 25(1), 8–20 (1992) CrossRefGoogle Scholar
  20. 20.
    Harel, D.: Comments made during presentation at “Formal Approaches to Complex Software Systems” panel session. ISoLA-04 First International Conference on Leveraging Applications of Formal Methods (2004) Google Scholar
  21. 21.
    Hinchey, M.G., Jarvis, S.A.: Concurrent Systems: Formal Development in Csp. International Series in Software Engineering. McGraw-Hill International, London (1995) Google Scholar
  22. 22.
    Hinchey, M.G., Rash, J.L., Rouff, C.A.: Requirements to design to code: towards a fully formal approach to automatic code generation. Technical report TM-2005-212774, NASA Goddard Space Flight Center, Greenbelt, MD, USA (2004) Google Scholar
  23. 23.
    Hinchey, M.G., Rash, J.L., Rouff, C.A.: Towards an automated development methodology for dependable systems with application to sensor networks. In: Proc. IEEE Workshop on Information Assurance in Wireless Sensor Networks (WSNIA 2005). IEEE Comput. Soc., Los Alamitos (2005). Proc. International Performance Computing and Communications Conference (IPCCC-05) (Reprinted in Proc. Real Time in Sweden 2005 (RTiS2005), the 8th Biennial SNART Conference on Real-time Systems, 2005) Google Scholar
  24. 24.
    Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978) CrossRefMATHMathSciNetGoogle Scholar
  25. 25.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall International Series in Computer Science. Prentice Hall, Englewood Cliffs (1985) MATHGoogle Scholar
  26. 26.
    Horn, P.: Autonomic computing: IBM’s perspective on the state of information technology. Presented at agenda 2001, Scotsdale, Arizona, 2001, IBM T. J. Watson Laboratory (October 15, 2001) Google Scholar
  27. 27.
    Horn, P.M.: Meeting the needs, realizing the opportunities. In: Wessner, C.W. (ed.) Capitalizing on New Needs and New Opportunities: Government—Industry Partnerships in Biotechnology and Information Technologies (2001) Board on Science, Technology, and Economic Policy (STEP), pp. 149–152. The National Academies Press, Washington (2001) Google Scholar
  28. 28.
    IFAD: The VDM++ toolbox user manual. Technical report, IFAD (2000) Google Scholar
  29. 29.
    JPL Special Review Board: Report on the Loss of the Mars Polar Lander and Deep Space 2 missions, Pasadena, California, USA (2000) Google Scholar
  30. 30.
    Kaufmann, M., Manolios, P., Moore, J.: Computer-Aided Reasoning: An Approach. Advances in Formal Methods Series. Kluwer Academic, Boston (2000) CrossRefGoogle Scholar
  31. 31.
    Lano, K., Haughton, H.: Specification in B: An Introduction Using the B-toolkit. Imperial College Press, London (1996) Google Scholar
  32. 32.
    Lawson, H.W.: Rebirth of the computer industry. Commun. ACM 45(6), 25–29 (2002) CrossRefMathSciNetGoogle Scholar
  33. 33.
    Leveson, N.G.: Medical devices: the Therac-25 story. In: Safeware: System Safety and Computers, pp. 515–553. Addison-Wesley, Reading (1995) Google Scholar
  34. 34.
    Lions, J.L.: ARIANE 5: Flight 501 failure, report by the inquiry board (1996) Google Scholar
  35. 35.
    The MathWorks, Inc., Natick, Massachusettes: Getting Started with MATLAB (2000) Google Scholar
  36. 36.
    Parnas, D.L.: Software aspects for strategic defense systems. American Scientist (1985) Google Scholar
  37. 37.
    Parnas, D.L.: Using mathematical models in the inspection of critical software. In: Applications of Formal Methods. International Series in Computer Science, pp. 17–31. Prentice Hall, Englewood Cliffs (1995) Google Scholar
  38. 38.
    Patterson, D., Brown, A.: Recovery-oriented computing (Keynote talk). In: Proc. High Performance Transaction Systems Workshop (HPTS) (2001) Google Scholar
  39. 39.
    Rash, J.L., Hinchey, M.G., Rouff, C.A., Gračanin, D.: Formal requirements-based programming for complex systems. In: Proc. International Conference on Engineering of Complex Computer Systems. IEEE Computer Society Press, Shanghai (2005) Google Scholar
  40. 40.
    Rash, J.L., Hinchey, M.G., Rouff, C.A., Gračanin, D., Erickson, J.D.: A tool for requirements-based programming. In: Proc. International Conference on Integrated Design and Process Technology (IDPT 2005). The Society for Design and Process Science, Beijing (2005) Google Scholar
  41. 41.
    Rouff, C.A., Truszkowski, W.F., Rash, J.L., Hinchey, M.G.: A survey of formal methods for intelligent swarms. Technical report TM-2005-212779, NASA Goddard Space Flight Center, Greenbelt, Maryland (2005) Google Scholar
  42. 42.
    Rushby, J.: Remarks, panel session on the future of formal methods in industry. In: Bowen, J.P., Hinchey, M.G. (eds.) Proc. 9th International Conference of Z Users. LNCS, vol. 967, pp. 239–241. Springer, Limerick (1995) Google Scholar
  43. 43.
    Sterritt, R.: Towards autonomic computing: effective event management. In: 27th Ann. IEEE/NASA Software Engineering Workshop (SEW), MD, USA, pp. 40–47. IEEE Comput. Soc., Los Alamitos (2002) Google Scholar
  44. 44.
    Sterritt, R.: Autonomic computing. Innovations in Systems and Software Engineering: a NASA Journal 1(1) (2005) Google Scholar
  45. 45.
    Sterritt, R., Bustard, D.W.: Autonomic computing: a means of achieving dependability? In: IEEE Int. Conf. Engineering of Computer Based Systems (ECBS’03), Huntsville, AL, USA, pp. 247–251 (2003) Google Scholar
  46. 46.
    Sterritt, R., Hinchey, M.G.: Why computer based systems Should be autonomic. In: Proc. 12th IEEE International Conference on Engineering of Computer Based Systems (ECBS 2005), Greenbelt, MD, pp. 406–414 (2005) Google Scholar
  47. 47.
    Truszkowski, W., Hinchey, M., Rash, J., Rouff, C.: NASA’s swarm missions: the challenge of building autonomous software. IT Prof. 6(5), 47–52 (2004) CrossRefGoogle Scholar
  48. 48.
    Truszkowski, W.F., Hinchey, M.G., Rash, J.L., Rouff, C.A.: Autonomous and autonomic systems: a paradigm for future space exploration missions. IEEE Trans. Syst. Man Cybern., Part C, Appl. Rev. 36(3), 279–291 (2006) CrossRefGoogle Scholar
  49. 49.
    Truszkowski, W.F., Rash, J.L., Rouff, C.A., Hinchey, M.G.: Some autonomic properties of two legacy multi-agent systems—LOGOS and ACT. In: Proc. 11th IEEE International Conference on Engineering Computer-Based Systems (ECBS), Workshop on Engineering Autonomic Systems (EASe), pp. 490–498. IEEE Comput. Soc., Los Alamitos (2004) Google Scholar

Copyright information

© Springer-Verlag London Limited 2012

Authors and Affiliations

  • Mike Hinchey
    • 1
  • James L. Rash
    • 2
  • Walter F. Truszkowski
    • 2
  • Christopher A. Rouff
    • 3
  • Roy Sterritt
    • 4
  1. 1.Lero—the Irish Software Engineering Research CentreUniversity of LimerickLimerickIreland
  2. 2.NASA Goddard Space Flight CenterEmeritus GreenbeltUSA
  3. 3.Lockheed Martin Advanced Technology LaboratoriesArlingtonUSA
  4. 4.School of Computing and MathematicsUniversity of UlsterNewtownabbeyNorthern Ireland

Personalised recommendations