i.e. Computer, Program Thyself!
(diagram of CBR cycle)
SCHEMA University; ENTITY Course; code : STRING; title : OPTIONAL STRING; department : STRING; number_of_students : INTEGER; UNIQUE code; END_ENTITY; END_SCHEMA;
SCHEMA University_2; ENTITY Department; name : STRING; courses : SET [1 : ?] OF Course; END_ENTITY; ENTITY Course; code : STRING; title : STRING; students : INTEGER; INVERSE the_department : Department FOR courses; UNIQUE code; WHERE students >= 10 AND students <= 250; END_ENTITY; END_SCHEMA;
(reengineering diagram)
`what' `how' +--------------+--------------+ specific | KNOWLEDGE OF | KNOWLEDGE OF | | THE PROBLEM | THE PROGRAM | +--------------+--------------+ general | KNOWLEDGE OF | KNOWLEDGE OF | | THE DOMAIN | PROGRAMMING | +--------------+--------------+
- What constitutes a case? (a whole program, or are parts of a program also cases in their own right?)
- How should cases be represented and indexed?
- How should the case library be organised such that retrieval is efficient as well as effective?
- How should similarity be measured?
- Is analogical reasoning needed?
- Is adaptation needed, and if so, what kinds?
- Is evaluation and repair of solutions required? If so, how should solutions be evaluated?
- What is a sensible policy for memory update? (storing cases)
- Is a multi-stage CBR process needed? If so, how should it be controlled?