Class 3 on September 29, 94 Paper Presented: Gilbert Cockton: Spaces and Distances: Software Architecture and Abstraction and their Relation to Adaptation presented by: Bradley Fischer Four discussion questions from Wednesday, 28-SEP-94 for CS8113D Walter Patterson / John Canning [1] What is an atom? Discussion for this question focused on how small or how detailed can a menu system, etc, be decomposed before reaching the "atomic" level. Does an atomic level exist? Is there a theoretical limit? The class basically decided that: (a) You can't make the tiniest "atomic" components of an interface completely adaptable, because this will lead to confusion and lack of consistency. (b) a theoretical limit probably does not exist. Menus often contain sub-menus, references or links to other portions of the interface, etc. These links can be recursive or sometimes circular, and it is hard to define what the "bottom" level is anyway. (c) The question is moot, because the practical limit (what the user is willing and able to accept) is more relevant. (d) The practical limit depends heavily on user preferences and therefore can vary from user to user. [2] Are the 5 variables proposed by Cockton ( agent, timing, mechanism, components, composition of components ) valid for classification as mutually orthogonal axes? No, because they are NOT mutually orthogonal at all. For example, "Components" and "Composition of Components" could be combined in some way, which reduces the space by one variable. There is a great deal of interplay between the variables that prevents them from serving as mutually orthogonal axes. There was also a general feeling that this classification is not very useful as a taxonomy in general, that in constructing an adaptive system it is important to consider these variables together and their interplay, but that constructing a space in which to frame these variables doesn't buy you much. [3] What is the difference between recomposition and simple editing? Recomposition is the addition or redefining of links between nodes, resulting in synthesis, rather than editing, which is simply changing the contents of a particular node. Obviously, this question is one mainly of semantics. [4] Do more complicated CRL libraries work as well as traditional GUIs? One person claimed that yes, you could do anything with a CRL library that you could with a GUI. For example, you could build a large enough library of commands that all needed functionality is present. Not discussed, however, was rather or not this "works as well" in the sense that GUIs may be more intuitive. The most important thing, according to Dr. Schneider-Hufschmidt, is that if you want a system to be self adaptive to a large number of users, it won't work, you have to make smaller things in the system adaptive. A large number of users will have widely varying needs and the system cannot possibly include enough flexibility to adapt properly to everyone.