Results 1 - 10
of
20
A Component- and Message-Based Architectural Style for GUI Software
, 1995
"... While a large fraction of application code is devoted to graphical user interface (GUI) functions, support for reuse in this domain has largely been confined to the creation of GUI toolkits ("widgets"). We present a novel architectural style directed at supporting larger grain reuse and flexible sys ..."
Abstract
-
Cited by 136 (33 self)
- Add to MetaCart
While a large fraction of application code is devoted to graphical user interface (GUI) functions, support for reuse in this domain has largely been confined to the creation of GUI toolkits ("widgets"). We present a novel architectural style directed at supporting larger grain reuse and flexible system composition. Moreover, the style supports design of distributed, concurrent applications. Asynchronous notification messages and asynchronous request messages are the sole basis for inter-component communication. A key aspect of the style is that components are not built with any dependencies on what typically would be considered lower-level components, such as user interface toolkits. Indeed, all components are oblivious to the existence of any components to which notification messages are sent. While our focus has been on applications involving graphical user interfaces, the style has the potential for broader applicability. Several trial applications using the style are described.
Embedding Critics in Design Environments
, 1993
"... Human understanding in design evolves through a process of critiquing existing knowledge and consequently expanding the store of design knowledge. Critiquing is a dialog in which the interjection of a reasoned opinion about a product or action triggers further reflection on or changes to the artifac ..."
Abstract
-
Cited by 70 (49 self)
- Add to MetaCart
Human understanding in design evolves through a process of critiquing existing knowledge and consequently expanding the store of design knowledge. Critiquing is a dialog in which the interjection of a reasoned opinion about a product or action triggers further reflection on or changes to the artifact being designed. Our work has focused on applying this successful human critiquing paradigm to humancomputer interaction. We argue that computer-based critiquing systems are most effective when they are embedded in domain-oriented design environments, which are knowledge-based computer systems that support designers in specifying a problem and constructing a solution. Embedded critics play a number of important roles in such design environments: (1) they increase the designer's understanding of design situations by pointing out problematic situations early in the design process, (2) they support the integration of problem framing and problem solving by providing a linkage between the design...
Extending design environments to software architecture design
- Automated Software Engineering
, 1996
"... Domain-oriented design environments are cooperative problem-solving systems that support designers in complex design tasks. In this paper we present the facilities and architecture of Argo, a domain-oriented design environment for software architecture. Argo’s architecture is motivated by the desire ..."
Abstract
-
Cited by 44 (10 self)
- Add to MetaCart
Domain-oriented design environments are cooperative problem-solving systems that support designers in complex design tasks. In this paper we present the facilities and architecture of Argo, a domain-oriented design environment for software architecture. Argo’s architecture is motivated by the desire to achieve reuse and extensibility of the design environment. It separates domain-neutral code from domain-oriented code, which is distributed among intelligent design materials as opposed to being centralized in the design environment. Argo’s facilities are motivated by the observed cognitive needs of designers. These facilities extend previous work in design environments to support reflection-in-action, opportunistic design, and comprehension and problem-solving. Keywords: Domain-oriented design environments, critics, software architectures, architectural styles, humancomputer interaction, human cognitive skills.
An Overview of Human-Computer Collaboration
, 1994
"... This paper introduces the special issue of Knowledge-Based Systems on HumanComputer Collaboration (HCC). It derives a set of fundamental issues from a definition of collaboration, introduces two major approaches to HCC, and surveys each approach, showing how it formulates and addresses the issues. I ..."
Abstract
-
Cited by 44 (2 self)
- Add to MetaCart
This paper introduces the special issue of Knowledge-Based Systems on HumanComputer Collaboration (HCC). It derives a set of fundamental issues from a definition of collaboration, introduces two major approaches to HCC, and surveys each approach, showing how it formulates and addresses the issues. It concludes by proposing some themes that should characterize a unified approach to human-computer collaboration. 1 Introduction Collaboration is a process in which two or more agents work together to achieve shared goals. Thirty researchers came together in Raleigh, North Carolina in October of 1993 for a AAAI Fall Symposium dedicated to this topic. The goal of the symposium was to achieve a better understanding of Human-Computer Collaboration (HCC), collaboration involving at least one human and one computational agent. In particular, the symposium sought to explore the fundamental nature of collaborative problem solving, understand the constraints brought to bear by the differing charac...
Seeding, Evolutionary Growth and Reseeding: The Incremental Development of Collaborative Design Environments
, 1996
"... this paper. In particular, Kumiyo Nakakoji provided invaluable assistance. The research was supported by the National Science Foundation under grants No. IRI-9015441 and MDR-9253245, and NYNEX Science and Technology Center (White Plains, N.Y.). ..."
Abstract
-
Cited by 32 (19 self)
- Add to MetaCart
this paper. In particular, Kumiyo Nakakoji provided invaluable assistance. The research was supported by the National Science Foundation under grants No. IRI-9015441 and MDR-9253245, and NYNEX Science and Technology Center (White Plains, N.Y.).
Supporting Software Designers with Integrated Domain-Oriented Design Environments
- IEEE Transactions on Software Engineering
, 1992
"... The field of knowledge-based software engineering has been undergoing a shift in emphasis from automatic programming to human augmentation. We support this shift with an approach that embeds human-computer cooperative problem-solving tools into knowledge-based design environments that work in conjun ..."
Abstract
-
Cited by 30 (4 self)
- Add to MetaCart
The field of knowledge-based software engineering has been undergoing a shift in emphasis from automatic programming to human augmentation. We support this shift with an approach that embeds human-computer cooperative problem-solving tools into knowledge-based design environments that work in conjunction with human software designers in specific application domains. Domain orientation reduces the large conceptual distance between problem-domain semantics and software artifacts. Integrated environments support the coevolution of specification and construction while allowing designers to access relevant knowledge at each stage of a software development process. The access and development of knowledge is supported in a cycle of location, comprehension, and modification. Modification includes the evolution of the knowledge base and tools. A framework for building such tools and mechanisms is described and illustrated in terms of three systems: CATALOGEXPLORER, EXPLAINER, and MODIFIER. User...
Increasing Shared Understanding of a Design Task Between Designers and Design Environments: The Role of a Specification Component
, 1993
"... by ..."
Design Critiquing Systems
, 1998
"... Design critiquing systems are a type of intelligent user interface used to support human designers in decision making. This paper places design critics in the larger context of intelligent user interface approaches and surveys several critiquing systems. Each approach and system is evaluated with re ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
Design critiquing systems are a type of intelligent user interface used to support human designers in decision making. This paper places design critics in the larger context of intelligent user interface approaches and surveys several critiquing systems. Each approach and system is evaluated with respect to a five-phase design improvement process. This paper concludes with a summary of the state of the art in critiquing systems and recommendations for future research directions. 1.
Adaptative Decision-Making by Systems of Cooperating Intelligent Agents Organized on Rough Mereological Principles
, 1996
"... We propose a new approach to tasks of Distributed Artificial Intelligence (DAI). This approach is based on a novel idea of rough mereology which offers a framework for a rigorous (numerical) treatment of relations of being a part in a degree and allows for approximate reasoning about complex objects ..."
Abstract
-
Cited by 11 (9 self)
- Add to MetaCart
We propose a new approach to tasks of Distributed Artificial Intelligence (DAI). This approach is based on a novel idea of rough mereology which offers a framework for a rigorous (numerical) treatment of relations of being a part in a degree and allows for approximate reasoning about complex objects in particular for organizing systems of intelligent agents into schemes (assembling teams) for the purpose of synthesis from (elementary) parts of complex objects conforming to a given (possibly incomplete) specification in satisfactory degree. The above topics are illustrated by an example. Our example is a tiny fragment of a real animation system constructing subsequent scenes (or movie takes) from a database of elementary pictures. We expect that our general approach can be applied to practical tasks like manufacturing, design, control, management, etc. Key words: distributed AI, adaptative decision making, cooperative multi-agent systems, adaptive systems, approximate reasoning, reason...
Supporting Collaborative Design by Embedding Communication and History in Design Artifacts
- University of Colorado at Boulder
, 1993
"... Although the computer has been viewed as an aid to communication and design, both in face-to-face meetings and asynchronous interaction, collaborative design has proven difficult to support. Designers need to communicate about designs, access and interpret that communication, and understand the feed ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
Although the computer has been viewed as an aid to communication and design, both in face-to-face meetings and asynchronous interaction, collaborative design has proven difficult to support. Designers need to communicate about designs, access and interpret that communication, and understand the feedback that the artifacts and collaborators provide. Embedded communication clarifies tacit design knowledge by associating communication with the configuration which served to elicit it. Embedded history increases shared understanding between designers by allowing them to recreate the process by which an artifact evolved to its current state. A prototype system (INDY) instantiates this framework in the domain of local area network design. Using INDY, network designers embed textual and graphical annotations in the design artifact and their design changes are automatically archived. Evaluation of the system confirmed the role that embedded communication and history play in collaborative design...

