You can’t get there from here! Problems and potential solutions in developing new classes of complex computer systems

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 todaypsilas 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.

[1]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[2]  W. J. Kubitz,et al.  Biting the silver bullet: toward a brighter future for system development , 1992 .

[3]  Robert Geisler,et al.  Specifying Safety-Critical Embedded Systems with Statecharts and Z: A Case Study , 1998, FASE.

[4]  David Harel,et al.  Biting the silver bullet: toward a brighter future for system development , 1992, Computer.

[5]  Charles W Wessner Capitalizing on new needs and new opportunities : government-industry partnerships in biotechnology and information technologies , 2001 .

[6]  Harold W. Lawson Rebirth of the computer industry , 2002, CACM.

[7]  Kevin Lano,et al.  Specification in B: An Introduction Using the B Toolkit , 1996 .

[8]  Stephen A. Jarvis,et al.  Concurrent systems - formal development in CSP , 1995, McGrawhill international series in software engineering.

[9]  Jeffrey S. Lavell,et al.  Report on the Loss of the Mars Polar Lander and Deep Space 2 Missions , 2000 .

[10]  Thomas A. Corbi,et al.  The dawning of the autonomic computing era , 2003, IBM Syst. J..

[11]  David Harel,et al.  On visual formalisms , 1988, CACM.

[12]  Clemens Fischer Combination and implementation of processes and data: from CSP-OZ to Java , 2000 .

[13]  Jonathan P. Bowen,et al.  High-Integrity System Specification and Design , 1999 .

[14]  Fabrice Kordon,et al.  Formalization of a Spatialized Multiagent Model Using Coloured Petri Nets for the Study of an Hunting Management System , 2000, FAABS.

[15]  Walter Truszkowski,et al.  Some autonomic properties of two legacy multi-agent systems - LOGOS and ACT , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[16]  David Lorge Parnas,et al.  The Future of Formal Methods in Industry , 1995, ZUM.

[17]  M.G. Hinchey,et al.  Autonomous and autonomic systems: a paradigm for future space exploration missions , 2006, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[18]  L. Duchien,et al.  A Method for Specifying and Proving Distributed Cooperative Algorithms , 1995 .

[19]  E. Bonabeau,et al.  Self-organization in social insects. , 1997, Trends in ecology & evolution.

[20]  Michael J. Butler,et al.  csp2B: A Practical Approach to Combining CSP and B , 1999, Formal Aspects of Computing.

[21]  Mauro Birattari,et al.  Swarm Intelligence , 2012, Lecture Notes in Computer Science.

[22]  Walter Truszkowski,et al.  NASA's Swarm Missions: The Challenge of Building Autonomous Software , 2004, IT Prof..

[23]  Albert D. Baker,et al.  Multi-Agent Communication in JAFMAS , 1999 .

[24]  David L. Cohn,et al.  Autonomic Computing , 2003, ISADS.

[25]  Richard Murch,et al.  Autonomic Computing , 2004 .

[26]  Petr Jan Horn,et al.  Autonomic Computing: IBM's Perspective on the State of Information Technology , 2001 .

[27]  Michael J. Butler csp2B: A Practical Approach to Combining CSP and B , 1999, World Congress on Formal Methods.

[28]  Roy Sterritt,et al.  Towards autonomic computing: effective event management , 2002, 27th Annual NASA Goddard/IEEE Software Engineering Workshop, 2002. Proceedings..

[29]  Christopher A. Rouff,et al.  A Tool for Requirements-Based Programming , 2005 .

[30]  Roy Sterritt,et al.  Why computer-based systems should be autonomic , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[31]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[32]  Roy Sterritt,et al.  Autonomic Computing - a means of achieving dependability? , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

[33]  Jim Gray,et al.  What Next? A Few Remaining Problems in Information Technology , 1998, ACM SIGMOD Conference.

[34]  Christopher A. Rouff,et al.  Towards an automated development methodology for dependable systems with application to sensor networks , 2005, PCCC 2005. 24th IEEE International Performance, Computing, and Communications Conference, 2005..

[35]  David Lorge Parnas,et al.  Software aspects of strategic defense systems , 1985, CACM.

[36]  Jonathan P. Bowen,et al.  High-Integrity System Specification and Design , 1999, Formal Approaches to Computing and Information Technology (FACIT).

[37]  Bill Stoddart,et al.  An operational semantics for ZCCS , 1997, First IEEE International Conference on Formal Engineering Methods.

[38]  Christopher A. Rouff,et al.  Formal requirements-based programming for complex systems , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[39]  J. L. Lions ARIANE 5 Flight 501 Failure: Report by the Enquiry Board , 1996 .