Design Patterns for Research Methods: Iterative Field Research

Design Patterns for Research Methods: Iterative Field Research

Design Patterns for Research Methods: Iterative Field Research Kevin S. Pratt [email protected] HR Bright 333 Texas A&M University College Station, TX 77843 Abstract used in Urban Search And Rescue (USAR) operations. The second discusses the development of a multi-operator team For the last two decades the idea of design patterns has been a useful abstraction for computer scientists and programmers. HRI metrics and robot usability evaluation method for an- As computer scientists, and scientists of all fields, are more alyzing the performance of operators and robots in USAR than just programmers, we can apply the patterns concept to operations. more than just program design. Indeed, the meta-creative pro- To support these examples Design Patterns will review cesses and research methods which generate the code can also the concept of design patterns as used in architecture and be viewed through the patterning abstraction to identify re- programming, then Patterns in Research will expand the search method patterns and the contexts where they can be concept of patterns to include the research process itself, applied. One example of a research pattern is Iterative Re- following this The Iterative Research Pattern will describe search. Two examples of this Iterative Research method will the pattern while Examples will detail the two case studies, be presented: the first investigating the vehicle, interface, and and finally will provide additional team CONOPS for small Unmanned Aerial Systems (sUAS) Discussion/Conclusion used during Urban Search And Rescue (USAR) operations, commentary and a supporting set of potential research pat- and the second working to develop a multi-operator team HRI terns. metric and robot usability evaluation method. Design Patterns Introduction In 1977 Design Patterns as an idea was first presented by In 1977 the concept of design patterns was first introduced Alexander et al. in the book A Pattern Language (1977). by Alexander et al. (1977) as a way to think about the ar- This initial description of the concept focused on the obser- chitectural elements of buildings and other urban structures. vation that many medieval cities had similar useful and aes- A design pattern was initially described as a generalized, thetically pleasing features, even though there had been lit- reusable design element which can be used to solve recur- tle collaboration between the various architects and builders. ring problems. As with the individual patterns themselves Presented with similar needs for their cities the architects the concept of design patterns is itself a reusable abstrac- tended to respond in similar manners (this bears strong re- tion and has since been extended to computer science and semblance to the concept of parallel evolution used in evo- program design (Gamma et al. 1994) and HCI (Tidwell lutionary biology). Framed in a computer science metaphor, 2005). Patterns can be applied to more than just design ele- the pattern employed by the architects can be viewed as a ments however: just as there are common challenges in de- function which generates a plan, be it the design of a door sign, there are recurring problems in the creative work which or the layout of the high street, based on the local factors drives design. By considering the process of research as a (materials, available land), which serve as the inputs to the set of contexts and matching patterns we, as a group of re- function. The implementation (I) is a function of the pattern searchers, make it possible to build on not only each others (P) employed and the conditions, χ, of the specific instance. results, but our processes as well. As an illustration of research patterns two examples of the I P (χ) (1) ≈ Iterative Research pattern will be presented. The similar to Speaking of computer science, it was not even the original its sibling, Iterative Design, Iterative Research is a method- application of design patterns to architecture, but the appli- ology that focuses on multiple, short cycles between the cation to computer programming that they are best known field, development, and lab testing. The first example details for. Design patterns as a concept were popularized by an ongoing research project into the vehicle, sensor, oper- Gamma et al. (also known as the Gang of Four) in Design ator interface, and team Concept of Operations (CONOPS) Patterns: Elements of Reusable Object-Oriented Software for small, man-packable Unmanned Aerial System (UAS) (1994). The authors identify three categories of patterns, Copyright c 2009, Association for the Advancement of Artificial Creational, Structural, and Behavioral, and go on to provide Intelligence! (www.aaai.org). All rights reserved. several examples of each. Well known patterns include the Factory, a creational pattern for generating run time speci- quences explicitly helps you understnd and evaluate fied objects, Singleton, a creational method which only per- them (1994). mits one instance of a class to be invoked at a time, and the To show that the pattern concept is extensible to research behavioral Iterator for accessing elements of arbitrary type patterns the second and third elements in this list: Context from a collection (1994). (problem) and the matching Pattern (solution) must apply to research methods as well. We begin by expanding on our Patterns in Research definitions of Context and Pattern. In addition to the individual patterns themselves, Gamma et Context, in the design pattern sense, describes the condi- al. also inadvertantly identified another pattern: the concept tion or situation when a specific pattern should be applied. of design patterns itself. Just as they were able to translate A context should be a prototypical description of a set of the meta-pattern of design patterns from the old context of problems that is encountered repeatedly across a range of architecture to the new context of coding, the concept of pat- projects. Depending on the context in question there may terns can be applied to the context of research and creative also be a set of conditions that help identify the context (or work. potentially diferentiate between similar contexts). Using the To begin we will revisit the definition of patterns proposed Iterator pattern (1994) as an example, the context in this case by Gamma et al. (1994). In Section 1.1 of Design Patterns would be that you have a collection of items and you need they present the following definition. to step through the collection visiting each item once. This context could be applied to an array, a tree, a linked-list, or a 1. The pattern name is a handle we can use to describe hash table and can also be used across a range of data types a design problem, its solutions, and consequences in the collection: individual bits, float, char, string, or binary in a word or two. Naming a pattern immediately blobs. These specifics, collection type and data type, don’t increases our design vocabulary. It lets us design matter to the context, but instead are the inputs to the pattern at a higher level of abstraction. Having a vocab- to determine the specifics of the implementation. ulary for patterns lets us talk about them with our And this pattern is of course the other critical element of colleagues, in our documentation, and even to our- the concept. For a pattern to exist there must be elements of selves. It makes it easier to think about designs and the solution that are common across all instances of the con- to communicate them and their trade-offs to others. text. This commonality often occurs in the functionality of Finding good names has been one of the hardest parts the solution to the problem context. In our Iterator example of developing our catalog. the commonality is the need to step through all the items of 2. The problem describes when to apply the pattern. a collection which, again, is independent of the collection or It explains the problems and its context[emphasis data type. added]. It might describe specific design problems With the elements of the design pattern concept identi- such as how to represent algorithms as objects. It fied we can now evaluate if these elements are present in might describe class of object structures that are the process of conducting academic research. With the el- symptomatic of an inflexible design. Sometimes the ements identified above the question becomes: Are there problem will include a list of conditions that must be recurring problems in research, and are their reusable so- met before it makes sense to apply the pattern. lutions to these problems? 3. The solution describes the elements that make up the Certainly each researcher could construct their own def- design, their relationships, responsibilities, and col- inition of the research process: for the sake of argument laborations. The solution doesn’t describe a partic- however, consider research as a derivative of the scientific ular concrete desing or implementation, because a method. The canonical definition of the scientific method pattern is like a template that can be applied in many consists of the following elements. different situations. Instead, the pattern provides an Observation abstract description of a design problem and how a • Hypothesis general arrangement of elements (classes and objects • in our case) solves it. Experimentation • 4. The consequences are the results and trade-offs of Analysis applying the pattern. Though consequences are often • Interpretation unvoiced when we describe design decisions, they • are critical for evaluating desing alternatives and for Evaluation understanding the costs and benefits of applying the • pattern. If we agree that in some sense conducting research is the process of implementing the scientific method, then we have The consequences for software often concern space a reasonable case for the following definition of research.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us