Special section on M E T K I T
The METKIT CAI System M Miillerburgand D Meyerh0ff
Tire METKIT Computer Aided h2struction (CAI) System primarily addresses software enghwers. It supports them directly at their workplace by providing knowledge about the concepts of software engineering measurement on their workstation. The system integrates concepts of hypertext with those of computer aMed instruction, providing different types of access to conceptual knowledge about software measurement. Thus, both software engineers with some experience in software measurement and beghmers hz that domaht are adequately supported. The first tkTe of user may freely browse through conceptual knowledge whereas the second will find guidance through that knowledge based on particular learnhlg objectires and didactic strategies. software enghleerhlg measurement, quality assurance, computer aided htstruction, h)'pert~tt
The M E T K I T Computer Aided Instruction (CAI) System complements the other M E T K I T materials I. While the METKIT Modules 2"3exploit traditional classroom teaching techniques and the book by Norman Fenton a is classical self-reading material, the M E T K I T CAI System makes use of the computer. The aim of the M E T K I T CAI approach was to bring knowledge about software measurement into the software engineer's working environment making it accessible on his or her computer. The basic idea of the approach is to integrate different types of access to the knowledge such that, depending on his or her familiarity with software measurement, a software engineer may decide for either freely browsing through the knowledge or for being guided. Guidance is necessary for beginners in the domain who need additional didactic information in order to make good use of the wealth of information provide d . Such guidance includes introducing them to the topic as well as hints on which subtopic to focus on and what subtopic to start with. This idea led to distinguishing two types of explicitly represented knowledge, Domah~ Knowledge and electronic Coursen'are. The Domain Knowledge represents knowledge about the concepts of some domain. In the Domain Knowledge we try to capture the structui'e of the domain itself. Based on this structure the user may navigate through the information that the system provides. According to [he aims of the M E T K I T Project, we developed a Domaht Knowledge on the domain of Gesellschaft ffir Mathematik und Datenverabeitung mbH (GMD), Schloss Birlinghoven,D-5205 Sankt Augustin 1, Germany 120
software engineering measurement. However, the CAI System is built to be flexible in the sense that it can also be used for other domains. In addition to this Domahl Knowledge we have electronic Courseware, which guides a user through selected subparts of the Domahl Knowledge. As an example, some courseware might focus on the measurement of the length of programs. Such courseware would refer to those parts of the Domaht Knowledge relevant for this particular topic. Besides these references the courseware would also provide some introduction, practice and summary, so that the user can more easily get a coherent view of the topic/This additional information is based on learning objectives and teaching strategies. As shown in Figure 1, the M E T K I T CAI System consists of Domahl Knowledge and Cottrseware and tools for accessing and modifying these. The tool for editing Domaht Knowledge is the Domaht Editor, for accessing there are the Dictionary and the Network Browser. The tool for editing the Cottrseware is the Course Editor, for accessing there is the Course hlterpreter. This architecture is described in more detail in Mtillerburg et al. 5"6 The remainder of this paper is structured as follows. The second and third sections present the two types of knowledge and the tools for defining, updating, and accessing them. These components can be grouped to form environments for different types of users, namely learners in the domain of software engineering measurement, experts in that domain, and teachers, as discussed in the fourth section. The final section draws some conclusions.
i Networ[ k Browser
r
Interpreter
Figure 1. System components
0950-5849/93/020120-07 9 1993 Butterworth-Heinemann Ltd
Information and Software Technology
MMOLLERBURG ANDDMEYERHOFF High level network
]
Quality Attributes
r
H
/ ?q
Quantitative Attributes
Figure 2. High level network
DOMAIN KNOWLEDGE Domain Knowledge represents conceptual knowledge about some domain. Such conceptual knowledge generally covers many concepts and a large amount of detailed information. When defining a Domahl 101owledge we try to capture the inherent structure of the domain of interest. Therefore, we group the concepts of the domain to form categories. For the domain of software measurement we identified the following basic categories o f concepts: Entities are what we are actually interested in with respect to measurement, assessment and prediction, such as programs and documents; Measures are mathematical functions that map entities onto numbers; Quality attributes of entities are those attributes or characteristics that we want to assess or predict; Qttantitative attributes of entities are those
attributes that we may be able to measure based solely on the entity itself; Models are abstract representations of entities that are used as a basis for defining measures; Tools help to apply measures, i.e. they compute the actual measurement value. The inherent structure of some domain is determined not only by such categories but also by relationships between them. For the domain of software measurement we identified for instance a relationship between Measures and Tools as measures may be implemented by tools. The other relationships are: Entities--Quality Attributes (entities have qualitative attributes); Entities--Quantitative Attributes (entities have quantitative attributes); Quality Attributes--Quantitative Attributes (quality attributes have to be defined in terms of quantitative attributes). Quantitative Attributes--Measures (quantitative attributes can be
Low level network Quality Attributes
Entitles
[ Procec~e ]
Models
~
I ~ograrn ]--~--~f
Quantitative Attributes
Measures
Flow Gra~ I [Flow/GraphCollectionI
Tools
Figure 3. A low level network Vol 35 No 2 February 1993
121
The METKIT CAI System measured); Measures--Models (measures are defined on models); Entities--Models (models can be derived from entities). As shown in Figure 2, categories and their relationships can be visualized as a network or graph. This so-called High Level Network represents the basic structure of the domain. As categories are groups of concepts we may think of them as sets with elements. Developing Domahz Knowledge we select the particular concepts we are interested in, and decide for each of these which category it belongs to. Wanting to consider, for example Cyclomatic Complexity7 and Logiscope8 we would, decide that Cyclomatic Complexity belongs to the category Measures and Logiscope to the category Tools. For every concept included in some category there may be relations to concepts of other categories. For example, Cyclomatic Complexity as an element of the category Measures may be related to elements of the category Tools. The tool Logiscope, for instance, implements the measure Cyclomatic Complexity. Thus we have a concrete instance of the basic relationship between the two categories. If there is no relationship between two categories there are no relations between their elements, that is, the identified relationships between the categories determine the possible relations between their elements. The relations between elements also form a network, though on a different level. This network is called Low Level Network. A small part of the Low Level Network is shown in Figure 3.
In addition to these relations between concepts of different categories, we may encounter relations between concepts within the same category. The so-called part of relation is used in our domain, for instance within the category of Quality Attributes to represent the refine. ment of the concept Quality according to I S O 9 shown in Figure 4. This discussion showed that the structure of the domain is captured using very simple means: categories (or sets) with elements and relations. In addition, we need means for capturing detailed information belong. ing to the domain. We need to represent, for example, the definition Of the measure Cyclomatic Complexity. Such detailed information is captured in so-called explanations that are attached to each identified item of the Domah~ Knowledge, i.e. to each category, concept, and relation. A more detailed discussion of the structuring of the Domahl Knowledge may be found in MiJllerburg et alJ ~
Defining and updating Domain Knowledge The tool for defining and updating Domain Knowledge is the Domain Editor. Using the Domaiil Editor, an expert in the considered domain may l~uild up the Domahz Knowledge by defining t h e sets (categories), elements (concepts), and relations, and editing their explanations. This can be done incrementally, so that any given Domah~ Knowledge can be extended, for instance when new results from theory and practice are available. A new measurement tool, for example, may be included by adding (1) a new element to the category of tools,
part of network
~ ' - ~ ~
[____Resource behaviour ] linm behaviour [
Go~npliance (Standards) l
Adaptability I
[ Environm. adaptability I
[ Fault toleranco [ -~ Recoverability I [ teamability [
Figure 4. Example of a part of relation 122
Information and Software Technology
M MOLLERBURG AND D MEYERIIOFF
(2) editing its explanation, and (3) defining the relations to the measures implemented. Furthermore, a given Domah~ Knowledge can easily be adapted to particular requirements of a specific company or project. A company may well decide, for instance, that the Domain Knowledge should be tailored to the measures they intend to use and the tools available in their house.
Accessing Domain Knowledge There are two tools for accessing Domain Knowledge, the Dictionary and the Network Bowser. The Dictionary presents the named items of the Domahz Knowledge (i.e. categories and concepts) in alphabetic order, thus allowing the user to access their explanations directly via their names. When learning some complex topic, it often happens that one needs to remember some specific detailed information. In the context of software measurement we may recall, for example, the exact definition of the measure Cyclomatic Complexity by looking for its explanation in the Dictionary. The more interesting type of access is provided bythe Network Browser that graphically presents the networks defined by the relations and allows,to select interactively those parts the user wants to focus on. The user starts the exploration of the Domain Knowledge in the High Level Network (see Figure 2). Any item here may be selected for further investigation. A user interested, for instance, in measures in general may ask for the explanation attached to the set Measures. Being interested in examples of measures a user may ask for the elements of the set Measures which will lead to a window with the list of all these elements. Selecting one of these measures the user may ask for its explanation. As suggested by the High Level Network, there might be some tools available that implement this measure, i.e. that could be used for applying this measure. Being interested in these tools the user may ask for the measure's context. This will lead to a Low Level Network showing the selected measure and the related
elements (of other sets) including those of the set Tools (see Figure 3). Now, for any item in the network the user may ask for its explanation, or for further context information. In addition to the tools, this network also presents the model(s) the measure is based on, and the quantitative attribute(s) it may be used for. In this network, asking for additional context information for a particular model, for instance for Flow Graph, will lead to the presentation of the entities from which a flow graph can be derived. Many other measures, that are also based on flow graph, will be shown too. Thus, by repeatedly asking for context (and perhaps removing the less relevant items), the user generates a Low Level Network representing exactly that information, i.e. that part of Domahl Knowledge she or he is interested in. The Network Browser provides a very flexible but nevertheless structured access to the information the user is interested in. Although the conceptual knowledge within the METKIT CAI System covers a wide area, access to specific knowledge is made easy via the explicit structuring of the knowledge. ELECTRONIC
COURSEWARE
The content of the Domaht Knowledge will generally cover a wide area whereas the attention of a beginner at a given time should be focused on a rather narrow part of the domain. For this part, additional information will be required to help the beginner organize his or her ideas with respect to the domain information presented. Therefore the system provides means for a teacher for selecting particular parts from the Domah~ Knowledge and attaching guiding information. The results of this, namely packages made up of domain knowledge and additional didactic information, are called courseware items. A set of courseware items is called (electronic) courseware. Courseware items are defined on four levels, namely on the level of courses, modules, sections, and subsections. They form a hierarchical structure: courses consist of modules, modules consist of sections, and
,Subsection The Model Flow Graph by Meyerhoff / MueIlerbur9 (1/1993) version: 1 8~qasection.network=,
Connect~g Text
~
1 F~w ~ap~ I
Pra=entatlon
Practice
I CyOomatic Coa~exity I
Figure 5. A subsection Vol 35 No 2 February 1993
123
The METKIT CAI System see{ions consist of subsections. Modules and sections are treated as stand-alone entities so that each can be used in several higher level courseware items. Courses, modules, and sections have a similar structure consisting of an introduction, a description of the necessary prerequisite knowledge, a list of lower level courseware items, a practice part, and a conclusion. A subsection has a different structure consisting of a connecting text, a presentation and a practice part. An example of a subsection is shown in Figure 5. In this example the presentation part is activated. The presentation part is the most interesting part of the courseware since it is the means for referencing and reusing Domahl Knowledge. The presentation parts of subsections contain the parts selected from the Domaht Knowledge, such as an explanation or a selected Low Level Network. The example in Figure 5 presents a part of the low level Network made up of elements of the sets Entities, Models and Measures. The other interesting feature is the practice. A practice part consists of a list of questions, each of which has possible answer choices and feedback in particular for wrong answers. There are different types of questions, such as multiple choice and marking item. The purpose is to check the learning, outcome.
Defining and updating courseware The tool for defining and updating electronic Courseware is the Course Editor allowing a teacher to add, delete and edit the different types ofcourseware items. In addition, a modified version of the Network Browser can be used for selecting parts from the Domain Knowledge to be included in the Courseware (more precisely in the presentation parts of the subsections). According to the preferred teaching strategy a teacher (also called author) develops the courseware for a given topic by defining the courseware items, the target audience and the teaching goals, selecting appropriate pieces of information from the Domahl Knowledge, putting these into a convenient sequence, and developing adequate presentations and interactions. The Domah~ Knowledge with its structure contains information necessary to decide what topics have to be addressed and it gives criteria for reasonable sequences. In the METKIT CAI System the development of Courseware is based on the explicit structure of the domain. When selecting an adequate coherent set of tol~ics as well as when defining learning objectives the courseware developer is guided by the structure of the Domahl Knowledge. In addition he or she (re)uses presentations taken directly from the Domafll Knowl.edge. Thus, the domain knowledge forms a solid baseline for the development of courseware.
Accessing t~ourseware The tool for accessing Courseware is the Course h~terpreter. Using this tool the learner does not simply get a sequence of frames to look at, but may browse 124
through the courseware items available, i.e. courses, modules, and sections and may ask for the introduction of each of these. Based on this information, the user may select a particular courseware item he or she is interested in and actually wants to work through. Working through a courseware item means that the learner looks at graphical or textual information, or deals with some practice, as long as he or she thinks it is helpful. That is, the learner is guided through the respective information from the Domah~ Knowledge. Guidance includes information such as where to start learning about the topic, in which sequence to look at the subtopics and why these subtopics are relevant. In addition, users may check their understanding of the topic by doing some practice. After selecting a courseware item its structure is displayed and the user may select the entry to look at. Depending on the selection, the user gets: 9 a text to be read (for instance in the cases of hltroduction and conchtsion ) 9 a list of lower level courseware items for further study 9 a domain part, i.e. a text, a list or a network. In the cases of a list and a network the user can ask for the explanations in a similar way.as when browsing through the Domahl Knowledge 9 a list of questions to be answered. For each question the learner answers, he or she is given feedback and perhaps some help for finding the correct solution.
USING THE SYSTEM The components of the METKIT CAI System" can be grouped to form environments for different types of users, namely learners, experts, and teachers in the domain of software engineering measurement.
Learner environment A learner (or software engineer) needing access to information about software engineering measurement may either want to freely browse through the information or to be guided through it. What a learner actually decides for depends on his or her experience with the topic. The learner environment consists of the tools Dictionary, Network Browser, and Course blterpreter thus giving reading access to both Domahl Knowledge and Courseware. Using the Network Browser the learner can freely browse ~ r o u g h the Domain Knowledge whereas using the Course Interpreter he or she would get the required guidance. In adoition, the Dictionary is always available for refreshing someone's memory. Supporting both free browsing and guided learning, the learner environment integrates two approaches, namely traditional computer aided learning and hypertext. There are, however, some important differences. Unlike using traditional computer aided learning tools 'j, in the M E T K I T System the learner may switch between free browsing and guided learning, depending on the familiarity with some particular topic. Thus Information and Software TechnologY
M MULLERBURG AND D MEYERHOFF
the user may freely browse through those parts of the domain where he or she already has some background. On the other hand, for those topics or parts of the domain he or she is not yet as familiar with the user may decide for guided learning. Unlike most existing hypertext systems the structure in the METKI.T CAI System is based on a categorization of the cone'epts of the domain, i.e. on the content, itself, rather than the additional information we use when structuring knowledge into chapters and sections in books and articles. Content based structuring avoids one of the main problems of hypertext, the navigation problem and in particular the problem of how to locate information j2,j3. The access to the required information is much easier and the user does not get disoriented. A more detailed comparison between the METKIT CAI System and hypertext may be found in Meyerhoff and Mfillerburg 14. Expert environment
An expert in software engineering measurement (or some other domain) may use the METKIT CAI System for structuring conceptual knowledge of the domain. The main tool of the expert environment therefore is the Domah~ Editor which provides reading and writing access to the Domah~ Knowledge for defining and updating it. In addition, the expert may use both Network Browser and Dictionary that allow to access the defined knowledge just like a learner would do. Building up Domain Knowledge requires structuring (or modelling) the considered domain. The modelling process clarifies the topics and helps identifying inherent problems of the domain. This is different from writing a text, as when writing (and also when giving a talk) we can easily avoid the not so well understood, i.e. the difficult points. Modelling the knowledge in the METKIT CAI Systems is more demanding, as for each concept to be included, we have to decide what category it belongs to and then to establish the relations. This discloses problems particularly in the area of software engineering measurement, as here many terms are not well defined, often misused and misunderstood. As an example, we may have quality attributes which we cannot relate to measurable product attributes. This makes very clear that we cannot measure them. Again, the content based structuring of the domain avoids the location problem of plain hypertext. Developing a hypertext document for software measurement, the author is confronted with the question of where to put new information, for instance when a new measure is to be included. In the METKIT CAI System this decision is easy once the domfiin has been structured.
Teacher environment A teacher may use the CAI System for developing electronic courseware. Therefore the main tools of the teacher environment are the Course Editor (for defining, editing and changing courseware items), and a modified Vo! 35 No 2 February 1993
version of the Network Browser (for selecting those parts of the Domain Knowledge to be included into the Courseware). Thus, the tools provide writing and reading access to Courseware and reading access to Domahz Knowledge. In addition, the teacher may use the Dictionary and the Course hlterpreter as a learner would do. Developing courseware usually requires several steps. The domain has to be structured, the instructional objectives have to be identified, the domain structure has to be transformed into a didactic structure (i.e. into the courseware) according to a didactic strategy, and finally, the courseware has to be evaluated and redesigned if necessary. Conventional authoring systems generally support just the design of a hierarchy or network of courseware items and the implementation of the interactive parts of courseware; not, however, the structuring of the domain. Unlike in conventional authoring systems the teacher (or author) using the METKIT CAI System for developing courseware can make use of the explicit domain structure and even presentation parts provided by an expert in the domain.
CONCLUSIONS AND O U T L O O K
9
The METKIT CAI System integrates concepts of hypertext systems with those of computer aided instruction (so-called authoring systems) and it provides different types of access to conceptual knowledge about software measurement in an integrated way. This allows flexibility with respect to usage and it supports the reuse of knowledge. The system supports different types of users in different ways. Software engineers are supported in accessing conceptual knowledge. They may use the system to acquire new knowledge or as a reference tool when actually performing some task. With respect to software measurement, such tasks might be, for example, defining a quality model, finding applicable measures, and selecting appropriate measurement tools. In such cases the system may be considered as a part of the workbench for software quality assurance personnel9 More generally, the system may be regarded as an integral part of the software development environment. Beginnors hi software measurement (or other domains) are supported in learning. Those may use the system as a traditional computer based learning tool. In this case the user will be guided through the knowledge in a tutorial manner. Domahz experts are supported in structuring and defining conceptual knowledge in some domain. The process of structuring the knowledge helps understanding the domain whereas the resulting structure enhances communicability. Lecturers in software measurement (or other domains) are supported in developing electronic courseware. Those may use the system as an authoring system, being guided for instance in selecting appropriate pieces of information from the domain knowledge to form a course. 125
The METKIT CAI System "The M E T K I T CAI System is implemented as a prot otype in Smalltalk80 using the class library N E D T . It runs on Apple Macintosh II and on SUN SPARC workstations (under UNIX and Open Windows). It has been demonstrated in several industrial companies and at international conferences such as CASE'92 ~5 and the responses have been very encouraging.
ACKNOWLEDGEMENTS The work described has been funded by the Commission o f the European Communities under the ESPRIT II Programme (Project 2384, METKIT). The authors want to thank their former colleagues Susanne Flacke and Angelika Buth who substantially contributed to these results when working on the project together with the authors.
REFERENCES 1 Ashley, N 'Introduction to METKIT' blformation and Software Technology (1993) (This issue) 2 Ashley, N 'The METKIT Industrial Package' blformation and Software Technology (1993) (This issue) 3 Russell, M 'The METKIT Academic Package' blformation and Software Technolqgy (1993) (This issue) 4 Fenton N E Software metrics: a rigorous approach. Chapman & Hall (1991)
126
5 Miillerburg, M, Meyerhoff, D and Fiacke, S 'Supporting software measurement: the METKIT CAI System' in Results and Progress of ESPRIT Projects, pp 246-261. Commission of the European Communities (1991) 6 Mfillerburg, M, Meyerhoff, D and Flacke, S 'The METKIT System at the age of one' in Proc. of EUROMETRICS 92 EC2 (1992) 7 McCabe, T J 'A complexity measure' IEEE Trans. Soft. Eng. (December 1976) pp 308-320 8 LOGISCOPE Technical Presentation. VERILOG Techni. cal report Toulouse (1989) 9 Software product evaluation--quality characteristics and guidelines for their use (draft). Technical Report DIS 9126 International Standards Organization (ISO) (1991) 10 Miillerburg, M, Meyerhoff, D and Fiaeke, S 'Enhancing accessibility of metrics knowledge' in Proc. EUROMETRICS '91, EC2 (March 1991) pp 369-379 11 Alessi, S M and Trollip, S R Computer-based instruction: methods and de~'elopment Prentice-Hall (1985) 12 Conklin, J 'Hypertext: an introduction and survey' IEEE Computer Vol 20 No 9 (1987) pp 17-41 13 Nielsen, J H)Tertext and hypermedia Academic Press (1990) 14 Meyerhoff, D and Mfillerburg, M 'Structured hypertext applied to software measurement' in Aiken, R M (ed) Education and Society Information Processing 92, Volume II Proc. IFIP 12th IVorld Computer Congress Elsevier Science (1992) pp 246-252 15 Forte, G, Madhavji, N H and Mfiller,H A (eds) Proc. 5th bit. Workshop on Computer-Aided Soft. Eng. IEEE Computer Society Press (1992) '
Information and Software Technology