60 likes | 199 Views
Extraneous Embedded Knowledge and Adaptive Programming. An ACM SIGSOFT 2000 paper. What is EEK?.
E N D
Extraneous Embedded Knowledge andAdaptive Programming An ACM SIGSOFT 2000 paper
What is EEK? • We refer to knowledge of the external world within a component (e.g., a method or class) that is not conceptually required for the behavior of that component as extraneous embedded knowledge (EEK).
Example • A method for checking whether each class in a class dictionary is defined exactly once (or imported). • What is EEK? Knowledge about the details of a class dictionary for class dictionaries.
Analogy to human conversation • Interpret messages differently depending on the implicit context. • omission • alteration • traverse(Strategy s, Visitor v) is interpreted very differently depending on the ObjectGraph-object to which message is sent.
Analogy to human conversation • traverse(Strategy s, Visitor v) is interpreted very differently depending on context. • explain(politics) is interpreted very differently depending on context. You take the background of the audience into account.
Reference • Robert Walker and Gail Murphy: Implicit Context: Easing Software Evolution and Reuse. SIGSOFT 2000, San Diego, pp 69-78, ACM Press.