Emeritus Solutions Ltd

Delivering Ingenuity


Obsolescence affects all systems, today's bleeding edge technology will soon be a component of a legacy system. Whether legacy is a positive or pejorative term is of course a topic of current debate. The positive perspective of legacy systems is that they have real value in that they are validated and work, possess an implicit specification endorsed by their user community, provide a basis for incremental enhancement, and have well defined costs. The pejorative perspective perceives legacy systems as comprising ageing components with high support costs, which are based on arcane technologies and methodologies, supported by a dwindling band of high priests, and possessing the capability to undermine the mission at any time. Implicit in these perspectives are the evolutionary and big bang theories of system evolution. A balanced view is of course more nuanced: sometimes the system's match to mission needs provides an unequivocal answer, perhaps technology refresh is required to address supportability issues, alternatively perhaps reverse engineering and skilled documentation would enable effective maintenance, and of course proven software is worth much more than an executable requirements specification.

PDP-8/E on an FPGA : A Case Study in Obsolescence

This presentation given at the Component Obsolescence Group (COG) quarterly meeting on 24 September 2008 focuses first on system and software obsolescence and on how this can be mitigated for both new and legacy software. Then, the feasibility of reimplementing the hardware elements of a system to preserve "the system in being" are demonstrated using the PDP-8 on an FPGA as an exemplar. The feasibility not only of re-implementing "any" computer system or digital logic, but also the potential for risk reduction provided by using JTAG to implement targeted, custom instrumentation within the design is demonstrated. And, of course, these JTAG based techniques are equally applicable to new systems and designs.

An earlier version of this paper PDP-8/E on an FPGA : A CaseStudy in Obsolescence which was presented at the MAE Show on 26 September 2006 additionally provides a broader review of obsolescence and a more detailed consideration of contemporary perspectives on software obsolescence management and legacy systems. Using the re-implementation of a classic 1960's minicomputer on an FPGA as an exemplar, the implementation of powerful HCI capabilities on a host PC and the negligible infrastructure required to realise them was described and demonstrated. Specifically, a diskless Digital PDP-8/E was demonstrated as a system on a chip with a PC hosting a superset of the original blinkenlites and switches console.

Software Obsolescence : Selected References

Parnas, D L; "Software Aging"; Proc 16th Int Conf on Software Engineering; Sorrento, Italy; 1994; ISBN 0-8186-5855-X; pp 279-287

Wirth, N; "A Plea for Lean Software"; Computer, 28, (2) February 1995, pp 64-68

Parnas, D L; "Why Software Jewels are Rare"; Computer, 29, (2), February 1996, pp 57-60

Eick, SG Graves, T L Karr, A F Marron, J S Mockus, A; "Does code decay ? Assessing the evidence from change management data"; IEEE Trans, SE-27, (1), Jan 2001, pp1-12

Rajlich, V; "Comprehension and Evolution of Legacy Software"; ICSE 97 Boston MA USA; pp 669-670

Rajlich, V; "Changing the Paradigm of Software Engineering"; CACM, 49, (8), August 2006, pp67-70

Bennett, K; "Legacy Systems : Coping with Success"; IEEE Software, 12, (1), January 1995, pp19-23

Chilkofsky, E J Cross J H; "Reverse Engineering and Design Recovery : A Taxonomy"; IEEE Software, 7, (1), January 1990, pp 13-17

Biggerstaff, T J; "Design recovery for maintenance and reuse"; IEEE Computer, July 1989

Madisetti, V K Jung, Y Khan, M H Kim, J Finnessy, T; "Reengineering Legacy Embedded Systems"; IEEE Design & Test of Computers, April-June 1999, pp 38-47

Adolph, W S; "Cash Cow in the Tar Pit : Reengineering a Legacy System"; IEEE Software, May 1996, pp 41-47

Weide, B W Heym, W D Hollingsworth, J E; "Reverse Engineering of Legacy Code Exposed"; ICSE 1995, Seattle WA USA, pp 327-331

Boehm, B; "Software Architectures : Critical Success Factors and Cost Drivers"; 1994, p 365

Merola, L; "The COTS Software Obsolescence Threat"; ICCBSS'05, pp 127-133

Lewis, T; "The big software chill"; Computer, March 1996, pp 12-14

Armer, P; "Obsolescence and Self-Assessment"; ACM Proc tenth annual SIGCPR conference, Toronto Ontario Canada, 1972, p1-11

Armer, P; "Obsolescence of the Computing Professional : The Problem and Possible Solutions"; ACM CSC-ER Proc 1978 annual conference, Washington DC USA; ISBN 0-89791-000-1; pp 183.2

Armer, P; "Working in the Computing and Engineering Profession : Career planning and educational alternatives"; ACM CSC-ER Proc 1978 annual conference, Washington DC USA; ISBN 0-89791-000-1; pp 183.1

Tsai, H P Compeau, D Haggerty, N; "A Cognitive View of How IT Professionals Update their Technical Skills"; ACM Proc SIGMIS conference on computer personnel research, 2004, Tucson AZ USA, ISBN 1-58113-847-4, pp 70-73

Brooks, F P jr; "The Mythical Man Month : Essays on Software Engineering" (20th Anniversary Edition); Addison-Wesley; 1995; ISBN 0-201-83595-9