Cognitive support, UML adherence, and XMI interchange in Argo/UML

Abstract Software design is a cognitively challenging task. Most software design tools provide support for editing, viewing, storing, and transforming designs, but lack support for the essential and difficult cognitive tasks facing designers. These cognitive tasks include decision-making, decision ordering, and task-specific design understanding. This paper describes Argo/UML, an object-oriented design tool using the unified modeling language (UML) design notation. Argo/UML supports several identified cognitive needs of software designers. This support is provided in the form of design tool features. We describe each feature in the context of Argo/UML and provide enough detail to enable other tool builders to provide similar support in their own tools. We also discuss our implementation of the UML and XMI standards, and our development approach.

[1]  Gerhard Fischer,et al.  Supporting Software Designers with Integrated Domain-Oriented Design Environments , 1992, IEEE Trans. Software Eng..

[2]  Tamara Sumner,et al.  Supporting evaluation in design , 1996 .

[3]  Mark A. Linton,et al.  Unidraw: a framework for building domain-specific graphical editors , 1990, TOIS.

[4]  R. Ulusay,et al.  Object Constraint Language Specification , 1997 .

[5]  R. J. Bogumil,et al.  The reflective practitioner: How professionals think in action , 1985, Proceedings of the IEEE.

[6]  Barry G. Silverman,et al.  Expert Critics in Engineering Design: Lessons Learned and Research Needs , 1992, AI Mag..

[7]  Arthur J. Riel,et al.  Object-Oriented Design Heuristics , 1996 .

[8]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[9]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[10]  Edward H. Shortliffe,et al.  Adapting a Consultation System to Critique User Plans , 1983, Int. J. Man Mach. Stud..

[11]  Jonas Löwgren,et al.  Knowledge-based evaluation as design support for graphical user interfaces , 1992, CHI.

[12]  Willemien Visser,et al.  More or Less Following a Plan During Design: Opportunistic Deviations in Specification , 1990, Int. J. Man Mach. Stud..

[13]  D. Schoen,et al.  The Reflective Practitioner: How Professionals Think in Action , 1985 .

[14]  Jason E. Robbins,et al.  Sweeping away disorder with the broom alignment tool , 1999, CHI Extended Abstracts.

[15]  Edmund Ming-Kit Lai,et al.  Intelligent Critic System for Architectural Design , 1997, IEEE Trans. Knowl. Data Eng..

[16]  W Kintsch,et al.  Understanding and solving word arithmetic problems. , 1985, Psychological review.

[17]  Bonnie L. Webber,et al.  TraumaTIQ: Online Decision Support for Trauma Management , 1998, IEEE Intell. Syst..

[18]  Ralph E. Johnson,et al.  Patterns Generate Architectures , 1994, ECOOP.

[19]  Donald A. Schön The reflective practitioner : how professionals think in action , 1986 .

[20]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[21]  Matthias Jarke,et al.  Editorial: Knowledge Representation and Reasoning in Software Engineering , 1992 .

[22]  Remo Pareschi,et al.  Object-Oriented Programming: 8th European Conference, Ecoop '94 Bologna, Italy, July 4-8, 1994 : Proceedings , 1994 .

[23]  Gerhard Fischer,et al.  A Cooperative Problem Solving System for User Interface , 1990 .

[24]  E. William East,et al.  SEDAR: Expert Critiquing System for Flat and Low-Slope Roof Design and Review , 1997 .