Subject: Summary of KBSE-93 The Eighth Annual Knowledge-Based Software Engineering Conference Chris Welty RPI Computer Science Dept. Troy, NY 12180 weltyc@cs.rpi.edu The 8th Annual Knowledge-Based Software Engineering Conference was held at the Midland Hotel in downtown Chicago, located across the street and down a block from the Sears Tower. This conference was sponsored by Rome Laboratory, and held in cooperation with the IEEE Computer Society, ACM SIGART and SIGSOFT, and the American Association for Artificial Intelligence (AAAI). The focus of the KBSE conferences is the application of artificial intelligence and knowledge-based techniques to software engineering problems. This includes techniques for constructing, representing, reasoning about, understanding and adapting software artifacts and processes. The conferences are concerned with all activities related to software, including project planning, domain modeling, requirements acquisition, specification, design, coding, documentation, understanding, reuse, evolution, testing and maintenance; provided that intelligent tools can perform these activities, support humans in performing them or cooperate with humans in performing them. This KBSE Conference featured an initial day of tutorials, followed by three days of technical sessions in a single track. The proceedings of the conference may be ordered from IEEE Computer Society Press, P.O. Box 3014, Los Alamitos, CA 90720-1264, order number 2880. The latest information about the KBSE Conferences can be obtained by sending email to kbse-info@cs.rpi.edu, or by contacting the SIGART Electronic Information Service, send mail to eis@sigart.acm.org. Background In 1983 RADC (now, Rome Laboratory) published a report calling for the development of a knowledge-based software assistant, which would employ artificial intelligence techniques to support all phases of the software development process. The original KBSA vision revolved around a new software process model, including knowledge-based software design and prototyping by executable specifications, and the generation of implementations using semantic-preserving rules. Research and development efforts around the world, including those supported by Rome Laboratory's long-term KBSA program, have led to the development of significant pieces of this vision. The annual KBSA Conference has provided a forum for discussion and presentation of work related to the KBSA effort. In 1991, the conference expanded its scope to include other work in knowledge-based software engineering, and changed its name to the Knowledge-Based Software Engineering Conference. The 1991 conference was quite successful in attracting technical papers from around the world on knowledge based software engineering. Since 1991 the KBSE conference took further steps to establish itself as the major conference in the field. An independent steering committee was established consisting of distinguished researchers and sponsors of research, a program committee was formed including many important KBSE researchers and a conference committee representing business, government and academia was formed to organize the conference. Tutorials There were three tutorials at the conference. Doug Smith gave one on the Kestrel Interactive Development System, Lewis Johnson gave a half-day survey of KBSE technology, and Walt Scacchi spent the day introducing a Knowledge-Based Approach to Software Process Engineering. Invited Talks Each of the three days of technical sessions was started off with an invited talk. The first talk was given by Eric Sumner, Jr. of ATT Bell Labs, and was titled, "A Researcher's View of Life in a Large Software Development Environment". Eric's talk was quite literally about a researcher's "view," in that he spent a good deal of time displaying various techniques for looking at specific pieces of software. These views highlighted information in source files of a large C program, such as assigning different colors to lines of code that had been modified at different dates, or that had been written by a certain programmer, etc. The talk was very interesting, and shed new light on some old problems. The second day began with a talk by John Myopolous of the University of Toronto, entitled, "Modeling Processes." The subject was not processes for modeling, but how to model processes, and the talk revealed that scheduling had been a benchmark established at the First International Symposium on Requirements Engineering, which explained this year's apparent emphasis on scheduling in the submitted papers. John discussed several formal modeling notations used for processes, and classified them according to the goal of the model (such as performance, analysis, and synthesis). He then discussed flexibility as a product of simplicity, and pointed out the cumbersome nature of purely rule-based approaches to modeling. He concluded with ideas on meta-interpretation of models, depending again on the operational goals of the model. The third day's invited talk was from Peter Selfridge, also of ATT Bell Labs. Peter's talk was titled, "Providing Effective Software Design Knowledge to a Large Software Development Organization: Process and Technology Lessons." Despite some conjecture by audience members, the talk did end up being longer than the title, and dealt mainly with issues in getting a small AI research group to work with a huge "in the trenches" organization of programmers at ATT. The lessons Peter and collaborator Loren Terveen have learned in being charged to "make research more relevant" were particularly important as R&D everywhere is striving to achieve this goal. The identification of "folklore" knowledge in software development groups, such as knowing about past problems, knowing who knows what, and knowing what organizations are responsible for what, proved especially important. Representing this knowledge proved difficult because it changed frequently with the people and organizations, and they found keeping track of where particular folklore knowledge came from was also very useful as it gave the information credibility. Peter and Loren also found that access to the knowledge was far more important than the representation, that simplicity was desirable, and that the expectations of each side (researchers and developers) must be made explicit. Panels KBSE has a history of panels in which the panelists take up too much time presenting "papers" and not leaving any room for discussion. Special efforts were made this year to curtail such presentations, and they were successful. The first panel, "KBSE and Software Engineering: Strangers, Brothers, or Identical Twins," was organized by Peter Selfridge and followed Eric Sumner's invited talk. The panel members were Doug White of Rome Lab, H.E. "Buster" Dunsmore of Purdue, Naser Barghouti of ATT Bell Labs, and Kevin Benner of Andersen. The panel proved to be very lively, audience participation was high, and discussions centered mainly on why KBSE technology has not been as well accepted as other SE technologies like Object Oriented Programming. There was general consensus that KBSE and SE were not twins, should be brothers, but that KBSE was a stranger to SE. Suggestions on remedying the situation ranged from better publicity for the KBSE conferences to making KBSE technology more accessible to the academic sector, where most new SE professionals are being trained. The second panel, "Requirements Elicitation," was chaired by Lewis Johnson of ISI, and featured Bob Hall of ATT, John Myopoulos of U. Toronto, and Howard Rubenstein of Mitre. The presentations revolved around three questions posed by Lewis: Which activities and types of reasoning can be automated? What knowledge can be captured cost effectively? And how does AI change the roles which people play in Requirements Elicitation? The panel discussion elaborated on several of the key points these questions raised: RE is ill structured and thus difficult to represent formally, and involves a process of "problem framing" rather than "problem solving"; Tools change people's roles by turning RE from art into engineering; Most of RE is communication between people, any RE tool must support communication; and RE is not the "first step" of some process as the tradition view holds, but is an ongoing process that continues over the life of the software. Paper Sessions The remainder of each day was filled with presentations of papers in the proceedings. While KBSE-7 seemed to be the Knowledge-Based Air Traffic Control Conference, KBSE-8 was clearly the Knowledge-Based Scheduling Conference, with numerous presentations in which scheduling was the application domain (see the description of John Myopoulos' invited talk for more). The paper sessions were divided into categories based on some commonality between the papers in each session. The sessions were: Synthesis, Validation and Verification, Application, Maintenance and Evolution, Requirements, Reuse, and finally Evaluations and Experiments. The conference program committee tried to mix as much pure application as possible in with the more theoretical papers, and the result was a fairly good balance of hard software engineering problems that are being addressed by actual working systems and new ideas or new angles on old ideas with only test data for evaluation. The paper session presentations are all fairly well represented by the papers in the proceedings. Demonstrations Each day concluded with several hours of demonstrations. GENOA/GENII is a portable, language independent analyzer generator that can be used to create tools for analyzing arbitrary languages. MARVEL is a knowledge-based software engineering environment kernel that support project and tool specific knowledge for support software development and evolution. The HENDRIX Tool uses failure based learning to evaluate designs. REFINE/COBOL Object Modeling Workbench provides a set of reengineering tools, Refine is the language of the KBSA concept demo. KIDS, the Kestrel Interactive Development System, is a system for synthesizing efficient programs from a high-level specification. Finally, Amphion, which automatically synthesizes Fortran routines to solve planetary analysis and planning problems, given a high-level graphical specification diagram. Social Events and Setting Without a doubt the highlight of every KBSE conference is the opportunity to meet with people who share the belief that AI techniques can help solve some of the big problems in Software Engineering. There were plenty of breaks from the technical sessions in which to mingle, and the hotel provided space for breakout discussions and other meetings. The first night of the conference was a banquet dinner which featured some unusual entertainment that had the attendees talking for the next couple days. The second night Andersen Consulting, who hosted the conference, invited all attendees to the offices for some demos, drinks, and food. The demos started looking even more impressive after a few hours of open bar. On thursday the conference ended early and gave many people the opportunity to go up the Sears Tower. It's tall enough to make software problems look pretty small. Conference Organizers The Conference Chair was Bruce Johnson of Andersen, though he made it clear the bulk of the work and credit for organizing this very successful conference went to the Assistant Conference Chair, Bill Sasso. Mehdi Harandi of The University of Illinois served as the program chair, Doug White of Rome Lab assumed his traditional role as conference financier, Peter Selfridge of ATT Bell Labs was the publicity chair, Loren Terveen of Bell Labs was the Tutorial Chair, Arnold Pittler of Motorola handled local arrangements, and Tim Smith of DePaul was the Demonstrations Chair. KBSE-94 The Ninth Knowledge-Based Software Engineering Conference will be held somewhere in Monterey, California, on September 20-23. Doug Smith and Richard Ju"llig of Kestrel will be the Conference and Program Chairs, respectively, and have promised the most beautiful setting for a KBSE conference yet. The scenery and weather will be matched by a program exciting enough to keep people inside, and will feature discussions of the KBSA vision by the original authors. For more information, send mail to kbse-info@cs.rpi.edu.