Subject: Summary of KBSE-91 ************************************************************** This article appears in SIGART Bulletin Vol.3 No. 1 Jan. 1992 ************************************************************** The Sixth Annual Knowledge-Based Software Engineering Conference (KBSE- 91) Peter G. Selfridge AT&T Bell Laboratories Louis J. Hoebel and Douglas A. White Rome Laboratory Introduction The 6th Annual Knowledge-Based Software Engineering Conference was held at the Sheraton University Inn and Conference Center in Syracuse, NY, from Sunday afternoon, September 22, through mid- day, Wednesday, September 25, 1991. This conference was spon- sored by Rome Laboratory (previously Rome Air Development Center) and held in cooperation with the Association for Computing Machinery (ACM) and the American Association for Artificial In- telligence (AAAI). The origin of the Sixth Knowledge-Based Software Engineering Conference (KBSE-91) is as follows. In 1983 Rome Air Development Center (now Rome Laboratory) published a report calling for the development of a Knowledge-Based Software Assistant (KBSA) which would employ artificial intelligence techniques to support all phases of the software development process [1]. This report led to a series of funding initiatives complemented by an annual meeting of funders, researchers, and other interested parties, which then evolved into the KBSA Conference. The conference grew in scope to include a variety of presentations of both KBSA- funded and other research, panel presentations, and demonstra- tions of both commercial and prototype systems. Finally, the name was changed from Knowledge-Based Software Assistant to Knowledge-Based Software Engineering to formalize the broadened scope of the Conference. The field of Knowledge-Based Software Engineering is still developing and being defined. It combines concerns of both Ar- tificial Intelligence and Software Engineering in two general en- deavors. The first is to create software that is higher-quality, more functional, and easier to use through the use of knowledge- based techniques. The second, related endeavor, is to employ more intelligence in the creation of software. This latter em- phasis on the software process originated in the 1983 report and is reflected in much of the work in the KBSE community. Issues such as requirements acquisition, specification, design, documen- tation, software understanding, reuse, evolution, testing and maintenance, development environments, and the like are all of interest to the KBSE community. The annual KBSE conferences are certain to contribute to the development and definition of this field. The KBSE-91 Conference KBSE-91 was held in pleasant, compact surroundings in the Shera- ton Inn and Conference Center, adjacent to Syracuse University in Syracuse, NY. Attendance grew by 20% from last year, to a total attendance of about 140 people from 9 countries. Twenty five pa- pers, three panels, two Plenary Addresses, and about 10 demons- trations were presented at the Conference. The conference began with an optional tutorial session on Sunday afternoon, intended for relative newcomers to the KBSE community. Over sixty people attended this session, which included three presentations. The first was a summary of the Rome Laboratory's Knowledge-Based Software Assistant Program, given by Doug White of the Rome La- boratory. He presented the primary goal of the program: to develop a knowledge-based software development environment with the following features. First, design should take place at a higher level of abstraction than current practice. Second, knowledge-based assistance should mediate the design activities, coordinate the software development process, and assist in the translation from informal domain representations to formal exe- cutable specifications. Third, the environment should maintain a repository of artifacts that can be used to maintain consistency and support evolution. The primary techniques for achieving these goals, some of the work already completed, and the status of the KBSA effort were described. The second presentation was a videotape presentation by Dr. Elaine Kant, of Schlumberger La- boratory for Computer Science, entitled: "Automated Program Syn- thesis". This tape described the use of application domain models, very high level specification languages, and reusable transformations to bridge the gap between what is easy for people to describe and what computers need to execute a program. The third presentation in this session was a talk by Penny Chase, of Mitre, comparing and contrasting Knowledge-Based Software En- gineering and current CASE technology. The core of the Conference began with a presentation by Dr. Bar- ry Boehm, previously at TRW and now at the Defense Advanced Research Projects Agency (DARPA). Dr. Boehm described, among other things, the Department of Defense's Software Technology Plan (SWTP), whose goal is to map a strategy for reducing the DoD's expenditures for software, which currently stands at about 24 billion dollars a year. The Plan includes developing technol- ogy for "work avoidance" (through reuse), "working smarter" (through improvements in software process), and "working faster" (through advanced tools). It also includes the strategic themes of megaprogramming, high- level re-engineering, process support and technology/management synergy, leverage of commercial tech- nology, and finally, integrating Artificial Intelligence and Software Engineering, a main goal of the KBSE community. After describing a success story from the Gulf War (the use of DART, Dynamic Analytical Replanning Tool), Dr. Boehm concluded with a description of the KBSE Challenges. These include knowledge cap- ture (acquisition) for adding real value to intelligent systems, knowledge updating, knowledge representation choice guidelines to help spread the technology, and knowledge base/project database interoperability. The biggest challenge of all, according to Dr. Boehm, is the scalability challenge: making sure our techniques and technology can truly scale up to large, real-world problems. During the rest of the conference twenty-five papers were presented in nine sessions: General Design Issues, Requirements, Automatic Programming, Reuse, KBSA, Debugging, Reverse Engineer- ing, Learning, and Process Support. These papers were selected from 56 that were submitted to the Conference, and reflected the state of the field as follows. First, there is a lot of activity in the support of requirements and specification activity. Second, domain modelling and domain knowledge are increasingly viewed as important (this was reflected a panel presentation as well.) Third, while the lack of maturity of the field is reflect- ed in the "toyness" of many of the problems, there are now some significant success stories. Rather than report on some or all of these presentations in detail, the reader is invited to exam- ine the Proceedings of this conference, shortly available from the IEEE Computer Society Press [2]. Panels and demonstrations were also part of the Conference. Demonstrations included both academic prototypes and commercially-available systems. The three panels were: Domain Modeling-Evolving Research, moderated by Neil Iscoe of EDS, In- corporated; Encouraging Adoption of KBSA and KBSE Technology, moderated by Bill Sasso of Andersen Consulting; and Knowledge- Based Design, moderated by Michael Lowry of Kestrel Institute. The panels were a combination of presentations by the panel members and questions from the audience. The panel "Domain Modeling - Evolving Research" focused on the issue of the transfer of information in the domain to the appli- cation system being developed. Much of the discussion centered on the separation of domain knowledge from programming and algo- rithmic kinds of knowledge. An essential key to this knowledge is that it be machine useable, hence formal and tractable. In particular Prem Devanbu of AT&T Bell Labs gave a description of how domain knowledge is encoded in LaSSie, a software information system. He described how the classification based knowledge representation language KANDOR is the basis for encapsulating the domain knowledge of software discovery using frames. Gerald Wil- liams of Andersen Consulting gave a more abstract and historical presentation. His presentation of what domain modeling is and how it interacts with the evolutionary development process of a KBSE paradigm was meant to raise questions and issues. Among these, the shaping that context gives to the structure and con- tent of domain modeling, the dimensionality of domain modeling and the need for empirical results. Eric Schoen of Schlumberger then followed with a more concrete example in describing some is- sues in software change. He addressed the need to predict the cost, complexity, tractability and effect on operational goals of any change by enumerating some methods of change including the "grafting" of existing working code into new systems. The key here is to graft software on multiple levels ( analysis, design, and implementation) and this requires a tremendous, although in- complete by its very nature, domain model. In the ensuing discus- sion the classification dimensionality was argued as artificial but useful and Domain Modeling was offered as different from gen- eralized KR in that the operational goals are removed and that drives the process as much as possible. Participants on the "Adoption of KBSA and KBSA Technology" panel were Bill Sasso of Andersen Consulting, Martin Barche of the USAF, Jim Miller of Andersen Consulting, Phil Newcomb of Boeing Computer Services, and Elliot Soloway of the University of Michi- gan. Bill Sasso initiated his panel's discussions with the pro- position of two scenarios describing the shift from present tech- nology to KBSA. The first scenario was an abrupt switch. Admit- ting that this was unlikely, he then described an incremental ap- proach in which technologies and tools would eventually be in- cluded in current environments. The anticipated benefit of this approach were that it: prevents revolts, enables the focus of limited money to particular problem areas, and gains from current case capabilities. Capt. Martin Barche identified four areas which will inhibit acceptance of KBSA technology, labeling (ie. rigid categorization), user group ignorance of the technology, the lack of Ada awareness in KBSA, and the absence of assignment of responsibility for transition of the technology. Jim Miller gave an example of a knowledge-based tool that was successfully transferred to the field. He claimed that there are three major steps, concept demonstration, field prototype, and product. Dif- ferent people and processes are involved in getting from one stage to the next and it is necessary to change people as you progress to reflect the needs of the system. Phil Newcomb described Boeing's KBSE program. This program complements the Rome Laboratory KBSA program and he proposed an expanded vision of KBSA that would include the reverse engineering capabilities necessary to bring legacy software into the KBSA environment. Elliot Soloway, the final panelist, began by recounting his talk of the previous year, "How is KBSA like a refrigerator? It's not." He then proceeded to answer the question, "How is KBSA like a Hoola-Hoop?" He then proposed that the answer is that both are a bit dated, referring to the change in the conference's name from KBSA to KBSE. He then explained that in the original KBSA report of 1983 the idea was that the human user would have an as- sistant that would do most of the work, but that now the KBSE community was pushing from the usability perspective in which the goal is to provide representations for humans to use. He con- cluded by stating that there is a 15 year cycle and that the old technology will fade and the new will come up. Mike Lowry moderated a panel discussion entitled "Ramping Up: >From Software Life Cycle to Knowledge Life Cycle" which addressed the issues of knowledge-based design. Mike introduced the other panelists, Gail Kaiser of Columbia University, David Steier of CMU and Dorothy Setliff of the University of Pittsburg and start- ed the discussions by observing that software is a design problem since there is no manufacturing cost, it is a Platonic domain with few physical constraints, and it is a major cost of systems. He then presented a taxonomy of design problems. In creative design, both the domain and the solutions are not well- understood; in innovative design, the domain is well-understood but the solutions are not; in routine design, both domain and solutions are well-understood. He asserted that the challenge is to compress the knowledge life cycle (i.e., reduce the amount of time it takes for a solution to move from being innovative to be- ing routine). Gail Kaiser talked about the software process and environments, both of which provide support for design. She talked about the kind of support available for single designers (primary process modelling formalisms, such as, rules, Petri Nets, and programs [the Arcadia approach]). To support multiple designers, the model must be able to describe interactions. She mentioned various research issues: toleration of inconsistency, evolution of process, more assistance provided by the environment (e.g., failure recovery, understanding). David Steier talked about some recent work on design, examining the process of designing high-rise buildings. This design process is similar to the waterfall process model in software, but with feedback and multiple agents. A blackboard approach was used to develop a framework for computer tools that assist building design. Dorothy Setliff started by comparing the VLSI design process and the knowledge-based software design process. She argued that we should incorporate the virtues of VLSI design into software design. The final day of the conference featured a plenary address by Professor Thomas Cheatham, of Harvard University and Software Op- tions, Incorporated. Prof. Cheatham, one of the authors of the original KBSA report, described computing in the '90s as being characterized by networks of workstations, with an occasional supercomputer, multiple simultaneous users, life cycle support, and finally, activity coordination or process support. He then described an artifact-based Software Engineering Environment be- ing developed at Software Options called the E-L system, for En- vironment Language. The E-L system is based on the management of small typed artifacts, which, along with a coarse structure of relations of reference, predecessor, and successor, can describe both a software system and the process and environment used to generate it. The E-L system coordinates activity by multiple users over a large, interrelated base of artifacts and projects to provide activity distribution, communication, persistence, modularity, viewing, and extensibility. KBSE-91 ended with an open discussion of the conference and the goals and status of the KBSE community. A number of suggestions were raised, from generating better publicity and getting wider European participation, to having more formal tutorials and thinking hard about the education issues in generating and using KBSE technology. The primary technical concern was the maturing of KBSE work into more realistic domains so that knowledge-based techniques and technology could be properly evaluated. As previously mentioned, the Proceedings of the 6th Knowledge- Based Software Engineering Conference, will be published by the IEEE Computer Society Press, Los Alamitos, California. In addi- tion, IEEE Expert has started a special track on Knowledge-Based Software Engineering. This special track should appear early in 1992 with a number of the best papers of KBSE-91; subsequently, the track will be open to general submissions. For more informa- tion, contact: Peter G. Selfridge, AT&T Bell Laboratories, Mur- ray Hill NJ, pgs@research.att.com. Future KBSE Conferences and KBSE-92 Planning, organization, and implementation of future Knowledge- Based Software Engineering conferences will be facilitated with the formation of a permanent KBSE steering committee. Lewis Johnson, of USC/ISI, is both next year's Conference Chair and Program Chair. Donald Yu, of UNISYS, will serve as local ar- rangements chair. The conference will be held in Tysons Corner, VA. on September 20 through 23, 1992. A call-for-papers and more detailed information has recently been published, and conference information may be obtained by sending an electronic message to kbse7-request@cs.rpi.edu [see Announcements section of the Bulletin (this issue) for more details]. Special thanks again to Penny Chase of Mitre Corp. in preparing this report. References 1. Green, et al., "Report on a Knowledge-Based Software Assis- tant", in Readings on Artificial Intelligence and Software En- gineering, Rich and Waters, Eds., Morgan- Kauffman, 1986 2. Proceedings of the Sixth Knowledge-Based Software Engineering Conference (KBSE- 91), IEEE Computer Society Press, Order number 2605.