CAISOR Research Agenda
The CAISOR Paradigm: Basic Tenets and their Realization
Basic Tenets
Concerning the General Software Architecture
- For many purposes, software can and should be organized in another way than what is usual today. The traditional structure defined by operating systems, programming languages, database systems and the like has become too complicated, and it is time to look for an alternative and new General Software architecture (GSA).
- Avoiding duplication of facilities should be an important goal in the design of the new GSA. Contemporary software technology exhibits facility duplication to an excessive degree.
- In the new GSA, the notation that is used for expressing software shall be the same one as is used in textbooks and other publications. Programming languages are not readable enough, and unreadable notations like those in the XML tradition should not be part of the basic design.
- The capabilities of a software system in the new General Software Architecture should also include the capability of managing documents of all kinds, including software documentation, research reports and articles, and web-based information. This is worthwhile in order to closely connect software and its documentation, and in order to have a unique and uniform approach to various kinds of documents in the computer system.
- Self-administration and self-modification are important aspects of software systems in the new General Software Architecture. Contemporary software does use self-modification, of course, for example in software installation 'wizards', but these techniques are not part of the overt software engineering technology. They ought to be.
- Programs ought to be considered as structures, and not as texts, in the new General Software Architecture, for two reasons: this is the closest to the human understanding of the software, and it is the best way of facilitating software self-administration and self-modification.
- What was just said about programs shall also apply to documentation and, whenever appropriate, for other types of documents.
Concerning Artificial Intelligence and Knowledge Representation
- The structures that are used for organizing programs, as mentioned in a previous item, should be the same structures as are used for organizing other information in the computer. An ontology may be a good choice of a skeleton for a software system. More generally, logic-based and other techniques for Knowledge Representation should in many cases be at the core of a software architecture.
- A new General Software Architecture should be based on communicating, knowledge-based software agents with capabilities for representing, reasoning about, and modifying their own structure. This is a systematic way of realizing the principles mentioned above, and it corresponds well to the needs of many applications.
- Artificial Intelligence software systems can better be realized in a GSA of the kind shown above. Contemporary software engineering techniques are an obstacle to achieving the goals of Artificial Intelligence.
- The development of large fact and knowledgebases is an undertaking for information technology that is just as important as the development of software systems. Many aspects of software technology should carry over to knowledgebases, such as the needs for documentation, modularization, versioning, and validation of correctness, as well as the importance of a good balance between proprietary and freely available resources.
Concerning Research Methodology and Publication
- In order to realize and validate a new General Software Architecture, along the lines of these tenets, several large and interdependent tasks must be realized together. It requires the design of a representation language, of lecture notes and other teaching materials, of a prototype software system that is based on these principles and demonstrates their viability, and so forth.
- Publication of the research towards the new General Software Architecture is a problem in itself, exactly because this research agenda calls for interdependent solutions to several problems that are conventionally considered to be separate issues. A result for one of the problems can hardly be explained without making use of the approach or the solutions to some of the other problems.
- This is just one instance of the larger problem of publishing the results of explorative, systems-oriented research in computer science. It is often difficult to present the results of such research in the format of short, self-contained articles where mathematical theory and controlled experiments are the only recognized methodologies.
Consequences
- Just like software agents are made capable of publishing conventional documents, they should also be made capable of publishing software modules and modules from fact and knowledge bases.
- The results from research towards a new General Software Architecture should be presented and disseminated using the system's own capabilities for document preparation and publication.
Realization
The following is how the major current activities in the CAISOR Agenda have emerged from these tenets.
- KRF - Knowledge Representation Framework. Provides a notational framework that can be effectively used both as a formal publication language, and for expressing scripts (high-level programs), as a knowledge representation language, and as an extended logic notation.
- LEONARDO - our software platform. An explorative software system that is built according to the tenets described above, and which is used as the software platform for several of the projects in the CAISOR line of research.
- ADEPT - Addresses the needs for new approaches to the dissemination of research results.
- INKA - Information Analysis and Knowledge Acquisition. Addresses the systematic development of fact and knowledge bases and methods for such development.
- MORADOR - Methodology Of Research And Dissemination Of its Results. An attempt to formulate a research methodology that is appropriate for research of the kind that is undertaken here, and that is able to answer to questions about the identity and uniqueness of results as well as the evidence for proposed results.
Posted on 2009-12-14 as part of the CAISOR website. [Version history.]