Documentation driven development for complex real-time systems

This work presents a novel approach for development of complex real-time systems, called the documentation-driven development (DDD) approach. This approach can enhance integration of computer aided software development activities, which encompass the entire life cycle. DDD will provide a mechanism to monitor and quickly respond to changes in requirements and provide a friendly communication and collaboration environment to enable different stakeholders to be easily involved in development processes and, therefore, significantly improve the agility of software development for complex real-time systems. DDD will also support automated software generation based on a computational model and some relevant techniques. DDD includes two main parts: a documentation management system (DMS) and a process measurement system (PMS). DMS will create, organize, monitor, analyze, and transform all documentation associated with the software development process. PMS will monitor the frequent changes in requirements and assess the effort and success possibility of development. A case study was conducted by a tool set that realized part of the proposed approach.

[1]  Mladen A. Vouk Software Reliability Engineering , 1999 .

[2]  Masaaki Mizuno,et al.  Invariant-based specification, synthesis, and verification of synchronization in concurrent programs , 2002, ICSE '02.

[3]  E. GaffneyJ.,et al.  Software Function, Source Lines of Code, and Development Effort Prediction , 1983 .

[4]  Joseph P. Dupont Complexity Measure for the Prototype System Description Language (PSDL) , 2002 .

[5]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[6]  Daniel P. Schrage,et al.  An open platform for reconfigurable control , 2001 .

[7]  Somesh Jha,et al.  Automated generation and analysis of attack graphs , 2002, Proceedings 2002 IEEE Symposium on Security and Privacy.

[8]  Daniel M. Berry,et al.  AbstFinder, A Prototype Natural Language Text Abstraction Finder for Use in Requirements Elicitation , 1997, Automated Software Engineering.

[9]  Manfred Broy Toward a Mathematical Foundation of Software Engineering Methods , 2001, IEEE Trans. Software Eng..

[10]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[11]  Juan Carlos Nogueira,et al.  A formal model for risk assessment in software projects , 2000 .

[12]  Joseph Puett Holistic framework for establishing interoperability of heterogeneous software development tools and models , 2002, ICSE '02.

[13]  Software Engineering Risk Management: A Just-in-Time Approach , 1995 .

[14]  Luqi,et al.  A Prototyping Language for Real-Time Software , 1988, IEEE Trans. Software Eng..

[15]  James C. Corbett,et al.  Expressing checkable properties of dynamic systems: the Bandera Specification Language , 2002, International Journal on Software Tools for Technology Transfer.

[16]  Daniel Hoffman,et al.  API documentation with executable examples , 2003, J. Syst. Softw..

[17]  Daniel P. Schrage,et al.  An open control platform for reconfigurable, distributed, hierarchical control systems , 2000, 19th DASC. 19th Digital Avionics Systems Conference. Proceedings (Cat. No.00CH37126).

[18]  N. L. Johnson,et al.  Continuous Univariate Distributions. , 1995 .

[19]  Dharma P. Agrawal,et al.  Wireless Community Networks , 2003, Computer.

[20]  Insup Lee,et al.  A Temporal Logic Based Theory of Test Coverage and Generation , 2002, TACAS.

[21]  Luqi,et al.  Perspective-based Architectural Approach for Dependable Systems , 2003 .

[22]  R. Burton,et al.  Strategic Organizational Diagnosis and Design , 1995 .

[23]  Insup Lee,et al.  Monitoring, Checking, and Steering of Real-Time Systems , 2002, Electron. Notes Theor. Comput. Sci..

[24]  James C. French,et al.  Applying Hypertext Structures to Software Documentation , 1997, Inf. Process. Manag..

[25]  Henny B. Sipma,et al.  Deductive verification of real-time systems using STeP , 1997, Theor. Comput. Sci..

[26]  Barry W. Boehm,et al.  Software Risk Management , 1989, ESEC.

[27]  Maurice Schlumberger,et al.  Software engineering management , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[28]  Michael S. Saboe,et al.  A Software Technology Transition Entropy Based Engineering Model , 2002 .

[29]  Harry M. Sneed,et al.  Software Engineering Management , 1989 .

[30]  Luqi Real-Time Constraints in a Rapid Prototyping Language , 1993, Comput. Lang..

[31]  John D. Musa,et al.  Software Reliability Engineering , 1998 .

[32]  Michael R. Murrah Proposal to develop enhancements and extensions of formal models for risk assessment in software projects , 2002 .

[33]  Cécile Paris,et al.  Building Knowledge Bases for the Generation of Software Documentation , 1996, COLING.

[34]  Duncan Clarke,et al.  Automatic test generation for the analysis of a real-time system: Case study , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[35]  Børge Obel,et al.  Strategic organizational diagnosis and design : developing theory for application , 1995 .

[36]  Sérgio Vale Aguiar Campos,et al.  Verus: a tool for quantitative analysis of finite-state real-time systems , 1995, Workshop on Languages, Compilers, & Tools for Real-Time Systems.

[37]  Premkumar T. Devanbu,et al.  LaSSIE—a knowledge-based software information system , 1991, ICSE '90.

[38]  Laurie A. Williams,et al.  Agile software development: it's about feedback and change , 2003, Computer.

[39]  David Garlan,et al.  Model Checking Publish-Subscribe Systems , 2003, SPIN.

[40]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[41]  James Martin,et al.  Rapid Application Development , 1991 .

[42]  Luqi,et al.  Using an object oriented model for resolving representational differences between heterogeneous systems , 2002, SAC '02.

[43]  Elaine M. Hall,et al.  Managing Risk: Methods for Software Systems Development , 1998 .

[44]  Mary Poppendieck,et al.  Lean Software Development: An Agile Toolkit , 2003 .

[45]  Manfred Broy,et al.  From Requirements to Validated Embedded Systems , 2001, EMSOFT.

[46]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[47]  Barry W. Boehm,et al.  The Agile Methods Fray , 2002, Computer.

[48]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[49]  Insup Lee,et al.  Formal specifications and analysis of the computer-assisted resuscitation algorithm (CARA) Infusion Pump Control System , 2003, International Journal on Software Tools for Technology Transfer.

[50]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .