Parallel software engineering - Goals 2000

C. Murphy
Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95)  
The challenge of parallel software engineering is to provide predictable and effective products and processes for a new breed of application. To do this, parallel computing must apply to ail concurrent application types. Assured delivery and predictable time response are the metrics to determine success. In addition, high integrity factors (availability, reliability, security and graceful reaction to changes) are necessary. Infrastructure and life cycle support issues are important to consider
more » ... hen creating large scale information and command & control systems. The approach is to define an encompassing engineering process that accounts for quantitative and predictive measures of time response, integrity and application complexity. Engineering Process Metrics A general principle for evaluating the potential for technology transfer is how well a technology fits into the engineering process. Advanced technology has little value added if the infrastructure is not present to use it [Murphy95A] . Too often, parallel computing finds itself at odds with the software engineering process. Engineering requires predictability and life-cycle metrics. Parallel computing has exacerbated the capability of software engineers to reliability predict time response, integrity, project and life-cycle metrics. The difficulty of adopting parallel software technology into the engineering process is that you need a total package. Figure 1 diagrams the situation. Success means that the system delivers on all mission requirements, time response goals and integrity factors, ie, glass must be completely full [Murphy95B and Murphy95C]. Parallel software engineering must undergo significant change to respond to industry and military needs over the next five years. The essence of parallel software engineering is comprehensive and concurrent delivery of on high time, high integrity and high project value applications. However, the demands are complex ones. Parallel computers are necessary to meet them, but the foundation given by today's technology is too weak. If an adequate foundation exists, then information and command and control systems will adopt high demand applications beyond the capability of client programming, Mission Figure 1 . Thus Software Engineering Challenge The next generation of information systems will be distributed-computing collections. Multi-tiered clientserver archil.ectures are the first iteration of this generation. Although computer technology will advance along Moore"!; law --a factor of four every third year -there will still be a need for application servers for enterprise critical systems that have time response and integrity barriers. Yet, such a server increases complexity and heterogeneity, adding to the design difficulty. In spite of the functional open system 93 0730-3157/95$04.00O1995IEEE
doi:10.1109/cmpsac.1995.524764 fatcat:tkjwmf5ejncxvkb75sjanklkoa