Most recent
SAE CRB 1-2016 (SAE CRB1-2016)
Managing the Development of Artificial Intelligence Software (Stabilized: May 2016)
Expert systems are a wave of the information processing future. As time goes on they will become more and more part of the mainstream. However, a necessary prerequisite to moving them into widespread use is to reduce the methodologies for expert system development closer to the more generally accepted software engineering techniques. This report offers a step towards that goal. It describes an alternative software life cycle model for expert system development. Since the field of Artificial Intelligence is so broad, this report limits the software to be considered. Systems that would be of the greatest interest to DoD over the next 5 to 7 years would be expert systems that have the following attributes:
- may reason with uncertainty
- are not necessarily rule-based
- are non-learning systems.
For these systems, a developmental cycle is articulated, and each phase of the cycle described. Next, the activities, products, and audits and reviews for each development phase are stated in the manner of DoD-STD-2167A. This is followed by the management controls necessary to track system development, recommendations, and areas requiring future study.
In addition to limiting the scope of the software to expert systems, the system development cycle applicability is limited to full-scale engineering development. The earlier system development cycle phases of concept exploration and demonstration/validation are critical to the development of system specifications. However, if the development methodology described in this report were to be applied to these phases, significant problems would arise. The focus of the earlier life-cycle phases should be on refining system requirements, not on development. The models being developed for this urpose would be unnecessarily constrained if placed under the controls described here.
There is another issue that arises at these early phases, particularly through the use of rapid prototyping. A prototype is quickly developed to demonstrate potential capabilities and is typically neither designed nor documented for long-term use. However, if a capability is modeled, the temptation exists to use the software that models the capability. To discourage this, the concept exploration and demonstration/valÃdation phases should be moderately unconstrained with system requirements of specifications the only output.
The intent of this report is to serve as a baseline for the tailoring of DoD-STD-2167A for the development of expert system software.
Society of Automotive Engineers [sae]