PROGRAMMING TECHNIQUES

Prof. Carlo Tasso

Course objectives: Provide an introduction to knowledge-based systems and software engineering. More specifically the course presents knowledge representation mechanisms and reasoning algorithms, conceptual modeling and knowledge acquisition technique, and some significant sample applications, such as intelligent interfaces, diagnostic systems, and intelligent tutoring systems. Regarding software engineering, the course illustrates the basic general principles of industrial software production and in detail a specific methodology for the design and the development of knowledge-based systems.

List of the main topics:

Introduction to Artificial Intelligence. Definition of Knowledge-Based System. Knowledge representation mechanisms and reasoning algorithms. Semantic networks. Frames. Production rules. Conceptual Graphs. Non-monotonic reasoning systems. ATMS. JTMS. Blackboard architecture. Conceptual modeling techniques. Heuristic classification and generic tasks. Knowledge acquisition. Deep knowledge. Qualitative simulation and physics. QSIM. Model-based diagnosis. GDE. Intelligent interfaces and user modeling in information retrieval systems: the FIRE, UMT and IFT projects. Intelligent tutoring systems: the ET project. Multimodeling representation of physical systems. The DYNAMIS project.

Software engineering. Process model for the development and operation of software, primary, supporting, and management processes. Waterfall and spiral models. Development methodologies: organization, activity, and methods. Development processes for knowledge-based systems. The KLIC methodology. Primary analysis processes. Opportunity analysis. Plausibility study. Primary development processes. Development of the demonstrator. Development of the prototype. Implementation, installation, and delivery of the target system. Primary operation processes: maintenance and extension. Supporting and management processes. Quality assurance. Verification and validation. Documentation. Project management: working team, project planning, management rules. Training.

Bibliography:

Guida, G., Tasso, C. Design and Development of Knowledge-Based Systems: From Life Cycle to Methodology. John Wiley & Sons, Chichester, UK, 1994.