In this paper we investigate how combining two types of modelling languages will increase their expressive power. The Behavior Tree method and non-monotonic logic will be integrated.
As a general purpose high level graphical modelling language, the Behavior Tree (BT) method has the advantage of being easy to learn and has been successfully used to model industrial large-scale software intensive systems. Its strength is modelling high level business requirements. The BT method is not good at modelling complex logic. Non-monotonic reasoning represents logic in a human intuitive way.
We propose that the logical representation in BTs be replaced with non-monotonic reasoning. We implement the integration using BECIE (Behavior Engineering Component Integration Environment) and Clausal Defeasible Logic. We finish two executable case studies to validate the approach and the implementation. The case studies show how the expressive power of non-monotonic logic assists the formal representation of functional requirements in the BT method. The result is an effective mechanism for formally specifying and simulating logical requirements in BTs.
Our approach allows users of BTs to declare what they want in human readable rules instead of composing complex behaviour to represent how their rules are achieved. This raises the level of abstraction regarding logic representation in BTs. It hides low-level logics from high level components, enabling stakeholders of the system to easily conceptualise the main flow. Additionally, it separates rules from procedural flows. The separation of the two concerns increases the flexibility of both procedural flows and rules, as well as the reusability of rules.