Article Preview
TopIntroduction
Production system, as known as rule engine, is a common way to build expert systems (Giarratano & Riley, 2005). It has been widely used in some fields such as business, science, engineering, manufacturing, and medicine. The production system can adapt to the changing requirements of enterprise information systems, and reduce almost 10% cost of the information systems for enterprises and organizations (Garnter, 2002a; Garnter, 2002b). The agility and easy-to-use of systems promote the development of business rule engine (Kaul, Storey, & Woo, 2017; Batra, 2017). The market penetration ratio of business rule technology is just 20% in 2000, and now it have reached about 80%. However, compared with other types of information systems, production system usually has the problem of poor performances. It is even worse for the massive rules reasoning. Grid and cloud computing have changed the IT landscape in the way we access and manage IT infrastructures (Li et al.,2015; Lin et al., 2015; Jianwei et al., 2015; Yuyu et al., 2016). Nowadays, both the cloud computing paradigm and MapReduce programming framework have become key enablers for running big data analytics and large-scale compute- and data intensive applications (Palanisamy et al., 2015; Lee et al., 2016; Qi et al., 2015; Eldawy et al., 2016). The way of using cluster or cloud to construct production systems (Petcu, 2005a) can flexibly expand system processing capability by increasing the cluster scale. That can effectively respond to the challenges of massive rule processing.
In order to improve the performance of production system for massive rules reasoning, as well as keeping the consistency of working memory in distributed rule matching, this paper presents the formal definitions of interference relations between rules, and proposes a novel approach to distributed rule matching and multiple firing based on MapReduce. This approach adopts the way of access request control to detect and exclude interference rules, then selects several rule instantiations to perform multiple firing and concurrent execution, thus reducing the number of inference cycle effectively. Through detecting interferences between rules, this approach can select and execute compatible rule set, and finely avoid the inconsistency problem of the system working memory. In order to verify the validity of this approach, this paper developed a distributed production system based on MapReduce, which is known as a rule engine for traffic information service. The approach to distributed rule matching and multiple firing is deployed in the master server of this distributed production system. The experimental results and successful applications in the public-travel traffic information service system show that the approach can effectively improve the performance of massive rules reasoning.