Diagrammatic visual data query (DiViDaQue) systems let users specify queries by directly manipulating graphical data representations. For example, selection can be performed by adjusting sliders on a data axis to specify an upper and lower bound on a range of values or by dragging a rubber band in a data plot to select points of interest. Some systems support more advanced visual query operations such as aggregation, join, and composition.; There are several difficulties with working in this domain. First, it is time consuming to conduct background research and create a new system. Second, relevant papers have been published in different areas, (e.g., information visualization, human-computer interface design, database research, etc.) and investigators familiar with one area may be unaware of findings in others. Third, high-level design errors can be difficult to detect and costly to resolve.; One goal in conducting this research was to develop a systematic understanding of the systems in the DiViDaQue domain. To this end, we have conducted the first domain analysis of DiViDaQue systems, including a detailed survey of a dozen systems within the domain. As part of our analysis, we bounded the domain by listing features a system must implement to be considered a member. We also created a dictionary and thesaurus of domain terms.; Another goal was to help developers new to the domain to understand rationales for DiViDaQue system design. For this reason, we developed a design space model of the domain's most salient features and the tradeoffs associated with their implementation. We also discussed design patterns common to the domain. We integrated these results in a domain-specific software architecture (DSSA) that describes components useful in implementing common domain features.; We employed two methods to validate our research. First, we used our model to implement our own DiViDaQue system. Second, we compared our model with the design of a toolkit for building DiViDaQue's that was published after we had completed our implementation. We discuss the lessons learned from our validation procedures, and their impact on our final domain model. |