Journal "Software Engineering"
a journal on theoretical and applied science and technology
Issue N8 2018 year
The paper presents the concept and architecture of an extensible toolkit for the development and maintenance of Knowledge Based Systems (KBSs). Such extensibility is a necessary condition for KBS viability in the course of changes of domain, user requirements and operating environment. The importance of provision of the toolkit extensibility by both its developers and users is justified. The key requirements for such a toolkit are identified: the possibility of its extensibility; the existence of a unified environment and instrumental support for the development and improvement of both KBSs and the toolkit itself. A three-level architecture of the extensible toolkit is proposed. It contains such levels as: an instrumental kernel, a basic and an extensible set of tools. The instrumental kernel defines the basic principle for the development of applied and instrumental services (systems): their software and information components are formed on the basis of a two-level approach. The instrumental kernel is sufficient to create information components by their structural models and to manage them and to specify declarative models of software components of all types. The basic toolkit includes a set of models and software sufficient to create and manage a KBS with the use of the basic technology. An extensible toolkit can include the following: new technologies for KBS development and their instrumental support (including tools for collective development and management), KBS shells, libraries of reusable components. The described concept is implemented within the toolkit of the IACPaaS cloud platform. It includes evolution mechanisms based on a unified declarative representation of information and software components with automatic generation of editors for their formation.