Abstract-Enabling Subject Matter Experts (SMEs) to formulate knowledge without the intervention of Knowledge Engineers (KEs) requires providing SMEs with methods and tools that abstract the underlying knowledge representation and allow them to focus on modeling activities. Bridging the gap between SME-authored models and their representation is challenging, especially in the case of complex knowledge types like processes, where aspects like frame management, data, and control flow need to be addressed. In this paper, we describe how SME-authored process models can be provided with an operational semantics and grounded in a knowledge representation language like F-logic to support process-related reasoning. The main results of this work include a formalism for process representation and a mechanism for automatically translating process diagrams into executable code following such formalism. From all the process models authored by SMEs during evaluation 82 percent were well formed, all of which executed correctly. Additionally, the two optimizations applied to the code generation mechanism produced a performance improvement at reasoning time of 25 and 30 percent with respect to the base case, respectively.
1INTRODUCTIONB UILDING knowledge-based systems is an activity that has been traditionally carried out by a combination of software and knowledge engineers (KEs) and of subject matter experts (SMEs), also known as domain experts. Software engineers (SEs) are focused on architectural and user interface issues related to the development of software. KEs are focused on knowledge acquisition and representation tasks, with the aim of building the required knowledge bases. For these tasks, KEs usually work in collaboration with SMEs, who normally act as repositories of domain knowledge. The combination of KEs and SMEs, although feasible, has two main drawbacks, first characterized as the knowledge acquisition bottleneck [13]: 1) it is costly and 2) it can be error prone, especially in complex domains.A large amount of work in knowledge-based systems in the past three decades, like [11] Among the different types of knowledge that can be used in knowledge-based systems, e.g., factual, rule or causal knowledge, we focus on process knowledge, which is widely used across domains while posing important challenges for knowledge acquisition. A process can be defined as a naturally occurring or designed sequence of changes of properties of a system or object. Examples of processes include the replication of DNA, the mitosis of the cell or a combustion reaction. Processes encapsulate such things as preconditions and postconditions, results, contents, actors or causes and relate to the sequence of operations and involved events taking up time, space, expertise or other resources, which lead to the production of an outcome. For example, consider the case of a complex chemical reaction comprising several steps, with different inputs and outputs, where it is necessary to reason about what would happen at a certain stage if a previou...