The History of the project A-7 by David Parnas
Table of content
About David Parnas?
David Lorge Parnas is a Canadian computer scientist and software engineer known for his contributions to the field of software engineering. He is best known for his work on information hiding, modularity, and software architecture. Parnas has made significant contributions to the understanding of how software should be designed and built, and his work has influenced the development of many software engineering practices and methodologies.
Parnas received his PhD in Electrical Engineering (Systems and Communications Sciences) from Carnegie Mellon University in 1965. He has held academic positions at the University of Victoria, Queen’s University (Kingston, Ontario), and McMaster University, and has also worked in industry as a software engineer and consultant. He has received numerous awards and recognitions for his work, including the ACM SIGSOFT Outstanding Research Award and the IEEE Harlan D. Mills Award.
Parnas is widely regarded as one of the pioneers of software engineering and his work continues to be highly influential in the field. He is widely published and has written many influential papers and articles on topics such as software architecture, design, and quality.
The A-7 project
The A-7E project (also known as the Software Cost Reduction or SCR project) was a software development effort for the US Navy’s A-7E Corsair II aircraft, conducted at the US Naval Research Laboratory (NRL) beginning in the late 1970s. The goal was to reconstruct the Operational Flight Program (OFP) for the A-7E, applying and validating software engineering principles at scale. The project was notable for its use of advanced software engineering techniques and methodologies, and was one of the first projects to adopt many of the practices that are now considered standard in the field of software engineering.
David Parnas led the A-7E project at NRL, and it was through this work that he developed and validated many of his ideas on software design, architecture, and modularity. The A-7E project was a significant milestone in Parnas’ career and helped to establish his reputation as a leading software engineer and researcher.
The A7 project is widely regarded as a seminal moment in the history of software engineering, and its legacy continues to shape the field to this day. The project helped to establish many of the best practices and methodologies that are now widely used in the software development industry, and its lessons continue to inform new generations of software engineers.
Parnas’s contributions from the A7E project
David Parnas is best known for his contributions to the field of software engineering after working on the A-7E project, conducted at the US Naval Research Laboratory. During the course of the A-7E project, Parnas developed and refined his ideas on software design, architecture, and modularity. These ideas had a significant impact on the software engineering community and are still widely cited today.
Some of Parnas’ key contributions to the field of software engineering after the A7 project include:
-
Information Hiding: Parnas introduced the concept of information hiding, which refers to the practice of encapsulating data and behaviour within a module or component. This helps to reduce the coupling between modules and makes the software easier to maintain and understand.
-
Modularity: Parnas was an early advocate of modularity, which refers to the practice of breaking a system down into smaller, independent components. He showed that modular design can improve software quality, reduce costs, and increase efficiency.
-
Software Architecture: Parnas developed the idea of software architecture and its importance in the software development process. He argued that the architecture of a system should be a primary consideration when designing and building software, and that good architecture is essential for ensuring software quality and reliability.
-
Formal Specification: Parnas developed techniques for formally specifying module interfaces and behavior using tabular notation. This work predates and influenced the formal methods community. (Note: “Design by Contract” as a term was coined by Bertrand Meyer, not Parnas.)
-
Software Quality: Parnas was an early advocate for the importance of software quality, and argued that software development practices should be designed to ensure software quality. He developed a number of techniques and methodologies to help improve software quality, such as code inspections and software testing.
These contributions have had a lasting impact on the field of software engineering and continue to shape the practices and methodologies used by software engineers today. Parnas remains highly regarded in the software engineering community, and his work continues to inspire and influence new generations of software engineers.
References
- Software Requirements for the A-7E Aircraft — David L. Parnas, NRL, 1978 (ResearchGate)
- Software Cost Reduction (SCR) project — Heitmeyer, Wiley Online Library
- Documenting Software Architectures: Views and Beyond, 2nd Edition — Clements, Bachmann, Bass et al. (Amazon)
- David Lorge Parnas — Wikipedia
