Here are my notes from last week's meeting. 1. NSF/DARPA Meeting Melody and Gregory reported on the workshops they attended in Boston on the relationship of programming languages and software engineering. Both Helen Gill (NSF) and John Salasin (DARPA) were there. John reiterated his high expectations for our contributions to EDCS. It looks like we should also expect to be a full participant in the architecture cluster as well as the Rationale Capture and Software Understanding (RCSU) one. 2. Cluster Group/Kick-off Meeting Plans It looks like we will be in both the Rationale Capture and Software Understanding and the Architecture clusters as primary members. This means that we need to prepare two "homework" submittals. Linda has done a draft of the RCSU one, which she presented and we discussed. She will be meeting with Spencer to finish this. Ashok will prepare a draft of the Architecture document. The primary purpose of the cluster groups is to coordinate demos. The term "demo" should be interpreted as "deliverable" in the sense that we will be demonstrating what we deliver. As such, I suggested that we go to the kick-off meeting with some proposed definitions and representations as a way of "protecting our turf". In particular, we should understand what we mean by "rationale", by "scenario", and by "architectural description language" (ADL). To this end, I proposed the following definition of "rationale" (the part in square brackets has been subsequently added to relate rationale to source code): Rationale: the relation between software quality factors and architectural elements expressed as scenarios [and annotated by abstraction mechanism]. The definition needs some work, but it expresses our basic tenet that rationale is related to usage scenarios, architecture and code abstraction. We also listed the things that we could provide the other cluster members by the end of the summer. Our tentative list is the following: + SAAM manual + Synchronized Refinement manual + UI Reengineering Rule base + Inquiry cycle manual ? + GBRAD ? + SBF ADL description + Event trace visualizer (by Year End) Finally, we listed items which we would like to obtain or to get agreement from the other group members: + Do any of the other RCSU cluster members have an object extractor? + Can we use IDOC as a rationale generator/documentor? + To what extent do we have to agree on extraction tools/languages? The question resolves to XPAL and Refine? 3. Summer Planning Gregory has constructed a draft summer plan, which is available in our web space. He lists several candidate systems for our pilot study. He will be refining the plan this week, with the goal of having an agreed-to plan by the end of the month. Please read this and give him your comments. 4. Both Gregory and I have talked with Dean about his tool and how it might be adapted/evolved to support MORALE. Dean has already begun writing up a description of our requirements and his plan for addressing them. Dean's tool is an event trace visualizer for C++ programs. The reverse engineering side of MORALE needs to understand event traces and map them onto architectural components. Hence the tool looks like a good fit. I have written a description and suggested enhancements which I will post in a separate message. 5. The next meeting is back at Gregory's house, July 10th, 9:30. Note that this location is a change from the previous plan to meet at the Dekalb public library. 6. TODO List Here is the summary of my list of things for us to do. A. Technical + Construct a MORALE glossary ("rationale", "scenario", "ADL", etc.) + We should decide on a representation for design rationale. + Gregory has obtained Paul Clements ADL survey paper with which we should become familiar. + We will need to do an assessment of Xinotech's tool/language in order to make a decision about the use of Refine or XPAL. + We should lay out the components of the EDJ (Evolutionary Design Journal). + We should decide on which quality criteria we will be concerned with (those which we can figure out how to relate to architectural elements.) + We need to prepare a data flow diagram for MORALE's components and how they relate to each other. B. For the Kick-off Meeting + We need to decide on definitions of terminology for the cluster group and promote their use. We should also be prepared with proposed representations. + We should prepare a position on ADL's and their relation to FR and SBF. + Linda and Spencer will meet to complete the RCSU "homework" + Ashok will prepare a draft of the "homework" for the Architecture cluster + Both cluster plans should be submitted by July 5th. C. Administrative + Spencer needs to add a pointer from the Citation home page to Dave Busse's tech report. + We need to send e-mail to the other cluster members asking for more information about their projects. + Gregory has e-mailed Ashok asking for a draft cluster plan for the Architecture cluster. + Gregory has e-mailed Paul Clements (the SEI Cluster coordinator for the architecture cluster) asking about who the other architecture cluster members are. + We should plan what we would like to present at STC next spring as we will certainly be asked to do so. We should find out what the deadlines are for this. + We should construct a scheme for case studies including the following: o What are the requirements for a candidate system - Relatively small/self contained - In a language that we can analyze - Existing requirements documents (old and new) - Proposed changes have architectural implications o What are the requirements of a candidate organization - Access to a domain expert (time) - Publication rights o What kinds of data are we expecting to generate - Reuse candidates - Requirements validation - Architectural impact assessment - Rationale description o What is the work breakdown of the steps that we intend to take + We should link our meeting notes onto the home page + Revised summer plan by end of month + We need to submit a yearly status report to DARPA by July 15th