The research cycle
Ashwin Ram
- Formalize problem
- Identify task to be performed
- Identify domain or class of domains
- Identify problems to be addressed
- Develop theory of how task is performed in domain. Theory includes:
- Process or algorithmic model
- Knowledge model
- What is known (content theory, epistemology)
- How is it represented (knowledge representation, ontology)
- Architecture (cognitive architecture, machine architecture)
- Functional or teleological justification
- Why is this a good way to do this task in this class of domains?
Algorithmic complexity? Hardware limitations?
Cognitive plausibility? Ecological benefit?
- Develop computational instantiation of the theory (system)
- Evaluate system and theory
- Empirically evaluate whether system is true to the theory
- Empirically evaluate theory via experiments with the system
- Empirically determine strengths and weaknesses of theory
- Analyze results and determine lessons learned
- Draw conclusions about theory, especially relating to theory's claims and justifications
- Revise and repeat
- Revise theory based on lessons
- Revise computational instantiation of theory
- Repeat
See here
for an essay that touches on some of these issues.