Refactoring the Whitby Intelligent Tutoring System for Clean Architecture. Issue 6 (November 2021)
- Record Type:
- Journal Article
- Title:
- Refactoring the Whitby Intelligent Tutoring System for Clean Architecture. Issue 6 (November 2021)
- Main Title:
- Refactoring the Whitby Intelligent Tutoring System for Clean Architecture
- Authors:
- BROWN, PAUL S.
DIMITROVA, VANIA
HART, GLEN
COHN, ANTHONY G.
MOURA, PAULO - Abstract:
- Abstract: 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 provideAbstract: 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. … (more)
- Is Part Of:
- Theory and practice of logic programming. Volume 21:Issue 6(2021)
- Journal:
- Theory and practice of logic programming
- Issue:
- Volume 21:Issue 6(2021)
- Issue Display:
- Volume 21, Issue 6 (2021)
- Year:
- 2021
- Volume:
- 21
- Issue:
- 6
- Issue Sort Value:
- 2021-0021-0006-0000
- Page Start:
- 818
- Page End:
- 834
- Publication Date:
- 2021-11
- Subjects:
- architecture -- dependency inversion -- Prolog modules -- Logtalk
Logic programming -- Periodicals
Artificial intelligence -- Computer programs -- Periodicals
Constraint programming (Computer science) -- Periodicals
005.115 - Journal URLs:
- https://www.cambridge.org/core/journals/theory-and-practice-of-logic-programming ↗
- DOI:
- 10.1017/S1471068421000326 ↗
- Languages:
- English
- ISSNs:
- 1471-0684
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD Digital store
- Ingest File:
- 21761.xml