Refactoring the Whitby Intelligent Tutoring System for Clean Architecture

08/10/2021
by   Paul S. Brown, et al.
0

Whitby is the server-side of an Intelligent Tutoring System application for learning System-Theoretic Process Analysis (STPA), a methodology used to ensure the safety of anything that can be represented with a systems model. The underlying logic driving the reasoning behind Whitby is Situation Calculus, which is a many-sorted logic with situation, action, and object sorts. The Situation Calculus is applied to Ontology Authoring and Contingent Scaffolding: the primary activities within Whitby. Thus many fluents and actions are aggregated in Whitby from these two sub-applications and from Whitby itself, but all are available through a common situation query interface that does not depend upon any of the fluents or actions. Each STPA project in Whitby is a single situation term, which is queried for fluents that include the ontology, and to determine what pedagogical interventions to offer. Initially Whitby was written in Prolog using a module system. In the interest of a cleaner architecture and implementation with improved code reuse and extensibility, the initial application was refactored into Logtalk. This refactoring includes decoupling the Situation Calculus reasoner, Ontology Authoring framework, and Contingent Scaffolding framework into third-party libraries that can be reused in other applications. This extraction was achieved by inverting dependencies via Logtalk protocols and categories, which are reusable interfaces and components that provide functionally cohesive sets of predicate declarations and predicate definitions. In this paper the architectures of two iterations of Whitby are evaluated with respect to the motivations behind the refactor: clean architecture enabling code reuse and extensibility.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/11/2012

A Well-typed Lightweight Situation Calculus

Situation calculus has been widely applied in Artificial Intelligence re...
research
01/18/2014

Reformulating the Situation Calculus and the Event Calculus in the General Theory of Stable Models and in Answer Set Programming

Circumscription and logic programs under the stable model semantics are ...
research
06/30/2020

Situation Calculus by Term Rewriting

A version of the situation calculus in which situations are represented ...
research
02/28/2014

Robot Location Estimation in the Situation Calculus

Location estimation is a fundamental sensing task in robotic application...
research
07/01/2022

A Note on Process Modelling: Combining Situation Calculus and Petri Nets

The situation calculus logic model is convenient for modelling the actio...
research
11/25/2020

The Landscape of Ontology Reuse Approaches

Ontology reuse aims to foster interoperability and facilitate knowledge ...
research
06/17/2020

Logic, Probability and Action: A Situation Calculus Perspective

The unification of logic and probability is a long-standing concern in A...

Please sign up or login with your details

Forgot password? Click here to reset