13
Proposal of an Inference Engine Architecture for Business Rules and Processes ? Grzegorz J. Nalepa, Krzysztof Kluza, and Krzysztof Kaczor AGH University of Science and Technology al. A. Mickiewicza 30, 30-059 Krakow, Poland {gjn,kluza,kk}@agh.edu.pl Abstract. In this paper, we discuss a new architecture for integrating and executing business process models with rules. It is based on a work- flow engine that runs a BPMN-based business process model. On the lower level, rules are used to express the specific parts of the business logic. Rules working in the same context are grouped into a single task in the process model. Such a rule task is modeled by a formally defined decision table, which is designed in a visual way and its quality can be formally verified. In the runtime environment, tables are executed by a dedicated rule inference engine controlled by a workflow engine. 1 Introduction Business rules are one of the preferred knowledge representation and processing solution in business applications. However, handling large rule bases remains a challenging task due to inference problems. Most of the existing inference engines use Rete-like inference which exploits a uninformed search strategy for rule selection in a given context. To solve this problem different inference control strategies are used. Number of business applications are designed with the use of business process (BP) models, especially modeled using Business Process Model and Notation (BPMN), that can express a high level control flow. Recently, the use of workflow engines that run the BP models to control rule engines has been advocated. However, the issue of providing a conceptually coherent architecture for integrating rules and processes remains unsolved. ? The paper is supported by the HiBuProBuRul Project funded from NCN (National Science Centre) resources for science (no. DEC-2011/03/N/ST6/00909). This is a draft version of a paper presented at the Artificial Intelligence and Soft Computing: 12th International Conference, ICAISC 2013: Zakopane, Poland, June 9âĂŞ13, 2013, published in Lecture Notes in Computer Science vol. 7895, pp. 453– 464, eds. L. Rutkowski et al. c Springer Berlin Heidelberg http://link.springer. com/chapter/10.1007\%2F978-3-642-38610-7_42.

Proposal of an Inference Engine Architecture for Business ... · Proposal of an Inference Engine Architecture for Business Rules and Processes? ... and iGrafx does not allow for using

Embed Size (px)

Citation preview

Proposal of an Inference Engine Architecturefor Business Rules and Processes ?

Grzegorz J. Nalepa, Krzysztof Kluza, and Krzysztof Kaczor

AGH University of Science and Technologyal. A. Mickiewicza 30, 30-059 Krakow, Poland

{gjn,kluza,kk}@agh.edu.pl

Abstract. In this paper, we discuss a new architecture for integratingand executing business process models with rules. It is based on a work-flow engine that runs a BPMN-based business process model. On thelower level, rules are used to express the specific parts of the businesslogic. Rules working in the same context are grouped into a single taskin the process model. Such a rule task is modeled by a formally defineddecision table, which is designed in a visual way and its quality can beformally verified. In the runtime environment, tables are executed bya dedicated rule inference engine controlled by a workflow engine.

1 Introduction

Business rules are one of the preferred knowledge representation and processingsolution in business applications. However, handling large rule bases remainsa challenging task due to inference problems. Most of the existing inferenceengines use Rete-like inference which exploits a uninformed search strategy forrule selection in a given context. To solve this problem different inference controlstrategies are used. Number of business applications are designed with the use ofbusiness process (BP) models, especially modeled using Business Process Modeland Notation (BPMN), that can express a high level control flow. Recently, theuse of workflow engines that run the BP models to control rule engines has beenadvocated. However, the issue of providing a conceptually coherent architecturefor integrating rules and processes remains unsolved.

? The paper is supported by the HiBuProBuRul Project funded from NCN (NationalScience Centre) resources for science (no. DEC-2011/03/N/ST6/00909).

This is a draft version of a paper presented at the Artificial Intelligence and SoftComputing: 12th International Conference, ICAISC 2013: Zakopane, Poland, June9âĂŞ13, 2013, published in Lecture Notes in Computer Science vol. 7895, pp. 453–464, eds. L. Rutkowski et al. c©Springer Berlin Heidelberg http://link.springer.com/chapter/10.1007\%2F978-3-642-38610-7_42.

In this paper, we discuss a new architecture for modeling, integrating and exe-cuting business process models with rules. This architecture is based on a work-flow engine that runs a BPMN-based business process model. The engine isresponsible for providing the inference control. On the lower level, business rulesare used to express the specific parts of the business logic. Rules working in thesame context are grouped into a single task in the business process model. Sucha task is modeled by a formally defined decision table. On the runtime, tables areexecuted by a dedicated rule inference engine controlled by a workflow engine.

Some related tools, such as Drools, offer a similar approach. However, theproposal presented here has important advantages. The rule model is defined ina formalized way which allows for the quality control of the rule base. Moreover,certain control parts of the BPMN process model can be transformed to rules.

The rest of this paper is organized as follows. In Section 2 the motivationfor the paper is given with main problems outlined. Then in Section 3, thearchitecture of the proposed solution is described. The prototype implementationof this approach, composed of the jBPM process engine connected with theHeaRT rule engine is described in Section 4. In Section 5 the evaluation ofthis solution is given along with the discussion of related works. The paper issummarized with directions for future work in Section 6.

2 Motivation

Complex business intelligence applications require advanced modeling solutions.These solutions should be comprehensible for business architects, knowledge en-gineers and regular programmers. In the case of Business Process modeling,Unified Modeling Language (UML) is far too expressive and overcomplicated tobe understood by an average business user [1]. Thus, the BPMN notation wasintroduced to deal with this issue. Although this notation can perfectly modela workflow in the process, the detailed logic of the process tasks can not bespecified in pure BPMN.

The Business Rules (BR) approach [2,3], originated from the well-establishedRule-Based Systems [4,5], constitute one of the solutions which can be used forthe specification of task logic in Business Processes [6,7]. However, processes andrules are at different abstraction levels. Especially, rules in many systems areoften specified in natural language, sometimes in a structured form e.g. SBVR(Semantics of Business Vocabulary and Business Rules) [8] or in an informal way.Such a difference between processes and rules poses both conceptual (in caseof modeling) and practical (in implementation part) challenges, the so-calledsemantic mismatch problem. Therefore developing an integrated methodologyand software for modeling BP with BR is extremely important in order to ensurethe high quality of information systems in the future.

Although there is a difference in abstraction levels of BP and BR, rulescan be complementary to processes. Such a separation of processes and rules isconsistent with the BPMN 2.0 specification [9], which clarifies that BPMN isnot suitable for modeling such concepts as rules. Thus, a BPMN process model

should define the high level behavior of the system while the low level processlogic can be described by rules.

Despite the ongoing research on such integration [6,10,11,12], there is nostandardized and coherent methodology available. The integration details arenot well specified, and there are not many tools which provide such an inte-grated modeling environment. Moreover, the existing approaches weakly supportvisualization of processes and rules, and they do not consider the quality issues.

A draft overview of a solution for integration of processes with rules wepresented in [13]. Our solution supports integrating XTT2 BR with BPMNprocesses. It uses advanced rule representations, such as decision tables or net-works, for defining the task logic in the process. The rules in our representationare formalized using the Attributive Logic with Set Values over Finite Domains(ALSV(FD)) logic [14], and their syntax can be checked during the design pro-cess. As knowledge visualization helps in evaluation tasks [15], this solution takesadvantage of visual aspects of the XTT2 knowledge representation.

The main issue considered in this paper is the architecture for executionof such an integrated model. It is based on combining a common process engine,with a custom rule engine. This solution addresses the implementation issues ofthe semantic mismatch problem.

This research is based upon our previous research [16] including visual infer-ence specification methods for modularized rule bases [17] and selected analysismethods for Business Processes [18].

3 Architecture Proposal

The proposed integrated architecture for executing the combined BP and BRmodel is based on the open-source jBPM workflow engine that runs a BPMN-based BP model. The workflow engine communicates with the HeaRT ruleengine that runs the low-level rule-based logic.

JBoss jBPM1 is a workflow management system and a platform for executableprocess languages ranging from business process management over workflow toservice orchestration. The system architecture is based on the WfMC’s referencemodel [19]. jBPM provides a process engine for executing business processes andtwo optional core services (the history log for logging information about thecurrent and previous state of all process instances and the human task servicefor the human task life cycle if human actors participate in the process). Ithas pluggable architecture and constitutes an extensible and customizable tool.Thus, it can be integrated with our runtime environment.

The tool allows for executing processes defined using the BPMN 2.0 XMLformat. However, the full BPMN 2.0 specification includes such details as chore-ographies and collaboration. The jBPM tool focuses only on specifying exe-cutable processes. It has been used for several implementation [20,21] and re-search [22,23,24,25] purposes concerning workflow modeling. In our research,only the subset of internal Business Process Model is considered.1 See: http://www.jboss.org/jbpm/.

In our solution, BPMN is used for modeling a workflow in the process, and thedetailed logic of the process tasks is specified using the Business Rules approach,precisely – using the Semantic Knowledge Engineering (SKE) [26] approach.

In SKE, the eXtended Tabular Trees version 2 (XTT2) representation pro-vides an expressive formal logical calculus for rules and a structured knowledgerepresentation supporting the logical and visual specification of rules. XTT2allows for advanced inference control [27] and formal analysis of the produc-tion systems [28]. It provides formal rule representation language [29], based onthe ALSV(FD) logic [14]. Such knowledge representation makes the XTT2 lan-guage more expressive than propositional logic. Rules in the XTT2 rule basethat work together in a common context are grouped into an extended decisiontable. An exemplary decision table for the CashPoint example, which determinesthe action of the ATM machine is presented in Figure 1. A header of the tablecontains attributes, which are common for all the rules in the table. Each rule,stored as a table row, consists of 5 condition columns marked as (?) (left-handside part of a rule) and action column marked as (->) (right-hand side of a rule).

Fig. 1. An example of the XTT2 decision table

The model can be run in the HeKatE Run-Time Environment (HeaRT)rule engine [30]. However, HeaRT provides an executable environment for itsinternal representation in HMR.

In our solution, we used the native workflow engine for BPMN 2.0 – jBPM.It is a generic process engine based on the Process Virtual Machine (PVM)2,which can execute business processes described in BPMN 2.0. We integrated thejBPM process engine with HeaRT.

An outline of the architecture for integration of jBPM with HeaRT is pre-sented in Figure 2. Besides the discussed here runtime level, the whole frameworkaddresses the aspects of modeling and verification of business process modelswith business rules. However, integration on modeling and verification level isout of scope for this paper.

An overview of the solution on the modeling level was given in [13]. It adaptsthe BPMN editor user interface for choosing a proper XTT2 decision table fora particular Business Rule task in the BPMN model.

During the design phase, XTT2 rules can be edited in the HQEd editorconnected via network interface. In such a case opening a rule task in the BPMN2 See: http://docs.jboss.com/jbpm/pvm.

Fig. 2. An outline of the jBPM-HeaRT framework architecture

editor allows for XTT2 editing in HQEd (see Figure 3). While executing, BRtask triggers the selected XTT2 table.

The verification features of HeaRT can also be used for formal verifica-tion of selected BPMN models and rule tasks. Moreover, it is possible to verifythe decision tables using HeaRT with the HeKatE Verification and Analysis(HalVA) framework [28]. However, this is mostly local verification of single ruletasks or simple BPMN constructs. A global verification of the complete modelwas considered in [18].

Thus, this general approach allows for visual modeling of processes and rules,their verification and execution of such a fully specified BPMN model.

4 Prototype Implementation

A prototype implementation of the described architecture has been provided.The whole BP model is executed by jBPM that calls HeaRT for specific ruletasks using a socket-based interface. The HeaRT engine runs in a server modeand handles the communication from the jBPM run as a client. This is done byconnecting the BPMN model tasks with the corresponding XTT2 tables.

In our solution, jBPM sends a message to HeaRT in the defined format:

1. Rule task with names starting from “H” are executed using HeaRT. Eachrule task corresponds to one XTT2 table.

2. Ruleflow groups are associated with the list of XTT2 tables (optionally alsowith states) in the rule base.

Fig. 3. An XTT2 decision table in HQEd Editor

3. If the model state is not specified, the HeaRT engine starts from its currentstate.

4. State attributes which are results of the HeaRT inference are stored ascontext variables of the process instances.

Communication between these tools is possible via dedicated API. HeaRTintroduces an integration layer for the most common programming languages,including Java, PHP and Python. The integration module was designed to allowmany clients to work with one HeaRT instance acting as an inference server.HeaRT communication with jBPM uses a network protocol and is handledby a dedicated HConnect class, which uses JHeroic library integration library.In turn, jBPM (Drools) provides a dedicated Drools Knowledge API3. Thisknowledge-centric API is written in Java and provides classes and interfacesfor knowledge manipulation.The most common interfaces in the API are:

– org.drools.builder.KnowledgeBuilder– org.drools.KnowledgeBase– org.drools.agent.KnowledgeAgent– org.drools.runtime.StatefulKnowledgeSession– org.drools.runtime.StatelessKnowledgeSession

3 See: http://docs.jboss.org/jbpm/v5.1/javadocs.

The communication with HeaRT is initialized by the jBPM engine duringthe execution of the process in Drools. The following code excerpt presents howthe knowledge API and HConnect library can be used for executing a use case:

public static final void main(String[] args) {try {

KnowledgeBase kbase = readKnowledgeBase();StatefulKnowledgeSession ksession =

kbase.newStatefulKnowledgeSession();KnowledgeRuntimeLogger logger =

KnowledgeRuntimeLoggerFactory.newConsoleLogger(ksession);//Read the HMR model from the filesystem and send it to HeaRTHConnect.addModel("CashPoint", new File("atm-rt.pl"));ksession.startProcess("HConnectTest");ksession.fireAllRules();logger.close();

} catch (Throwable t) {t.printStackTrace();

}}

private static KnowledgeBase readKnowledgeBase() throws Exception {KnowledgeBuilder kbuilder =

KnowledgeBuilderFactory.newKnowledgeBuilder();kbuilder.add(ResourceFactory.newClassPathResource("HConnectTest.bpmn"),

ResourceType.BPMN2);KnowledgeBuilderErrors errors = kbuilder.getErrors();if (errors.size() > 0) {

for (KnowledgeBuilderError error: errors) System.err.println(error);throw new IllegalArgumentException("Could not parse knowledge.");

}KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());return kbase;

}

In this example, several elements can be observed: KnowledgeBuilder class forreading and compilation of the knowledge base from file, adding a new knowledgeto knowledge base by using KnowledgeBase class, HConnect class for reading andadding XTT2 model to HeaRT, and executing model by calling fireAllRulesmethod. The implementation was developed by Roman Sekuła [31].

As a proof of concept for the translation and integration of jBPM and XTT2,we modeled the CashPoint [32] example within this framework. CashPoint de-termines access to the customer’s savings: a customer has to be authorized byinserting a card and typing in a correct PIN number, then the customer maymake a cash withdrawal or ask for a balance to be printed. Figure 4 shows an ex-ample of the process model, which demonstrates the dependencies between ruletasks and XTT2 tables and the script task and the HeaRT output.

Fig. 4. An example of BPMN model for the CashPoint case study in jBPM

5 Evaluation and Related WorkThe solution considered in this paper proposes a consistent approach, where busi-ness rules complement the high-level process model on a lower-level. The processmodel allows for business context identification. It also provides the general in-ference flow. Rules can be designed in a visual way. Moreover, the quality of therule tasks can be verified formally e.g. w.r.t. rule completeness.

The most similar approach can be observed in the Drools framework. Orig-inally the Drools rule engine used the so-called rule modules to group rulesworking in the same context. The rule grouping mechanism was used to limitthe drawbacks of the Rete-like forward inference. Then, the Drools Flow enginewas introduced. It offered a simple workflow-like mechanism to switch the pre-defined rule modules. Gradually, Flow was replaced by the full process engine –jBPM. However, the integration of the rule engine with the process engine didnot address the issues of rule design and process design.

Currently, Drools and jBPM provide several different overlapping design toolsfor rules and processes, but no visual design tool for rules. Moreover, there isneither consistent design and development methodology nor a tool chain backingit. Finally, the issue of rule verification is not addressed.

There are also some other approaches which consider using processes andrules. However, they are less similar to our approach because they mostly do notuse BPMN, do not provide any verification features, or do not support executionof the integrated model.

Worklets [10], proposed by Adams et al., uses rules stored in the RDR (RippleDown Rules) sets. However, this solution, apart from binary trees, does not con-sider any other complex rule representation. Moreover, it does not use the BPMNnotation. rBPMN [11] constitute one of few examples of coherent methodologyfor modeling processes integrated with rules. However, Milanovic et al. extendedthe standard of BPMN notation. Thus, their solution is not applicable for the ex-isting BPMN models. Eijndhoven et al. [12] proposed a method which allows forapplication of production rules to several points in business processes. However,they do not used rules for specifying logic of tasks.

AgentWork [33], in turn, used rules for supporting workflow adaptation.Goedertier and Vanthienen [34] formally modeled business protocols using rules.Although these workflow systems provide verification features, they do not useBPMN notation and do not allow for modeling rule tasks.

Knolmayer et. al [6] described a rule-based method for modeling workflows.In this approach, the ECAA rules were used to specify business processes. Itsstrong limitation is focusing only on several workflow patterns. A hybrid com-position approach consisting of the BPEL process and several well-modularizedBusiness Rules was proposed by Charfi and Mezini in [7]. The approach consistsof two phases which separate rules from processes. Another approach based onBPEL was proposed by Rosenberg and Dustdar in [35]. They described how tointegrate business rules in a service-oriented way into BPEL. Although both ofthese approaches presents the integration method for BPEL processes and rules,these approaches do not consider the BPMN standard and do not provide anyspecification of implementation.

Zur Muehlen et. al [36] considered the relationship between rules and pro-cesses. They analysed the representation capabilities of two rule modeling lan-guages, SRML and SBVR, in comparison to the Petri net, EPC, IDEF andBPMN 1.0 approaches. In [37] zur Muehlen et. al compared BP-oriented andBR-oriented approaches and presented a decision framework for process andrule modeling. Some guidelines for process and rule modeling according to theparticular factors, such as change frequency, implementation responsibility etc.were described. This should help modelers to decide how particular aspects ofthe organization should be modeled. However, the presented decision frameworkdoes not contain the integrated methodology.

Di Bona et al. [38] proposed using BPMN for modeling business rules. Al-though it is not a proper use of BPMN [9], such a solution can be useful forbusiness analysts, which can have a clear graphical overview of the rule base.

The abovementioned papers do not provide any formalized specification ofimplementation. Several of them do not concern the BPMN notation, which isde facto the standard for process modeling. Moreover, most of these solutionsare not supported by any tool chain.

There are several tools for process modeling which are partially adaptedto process with rules modeling. However, there is no standardized and coherentmethodology for their integration, and the existing solutions much differ in termsof aims and scope.

In Corel iGrafx Process4 rules can be modeled using BPMN gateways, whichcontrols the flow according to the value of attribute. However, this is very limitedsolution. It is not possible to group such defined rules in decision tables orreuse them, and iGrafx does not allow for using rules in BPMN tasks. IBMWebSphere Business Modeler Advanced5, in turn, supports the Business Ruletasks in models. Such a task requires to define the if-then rule schema and tospecify the rules. However, this solution does not provide a visual specificationof rules. Business Process Visual Architect6 allows a user to depict single rulesand rule grids within a BPMN model. However, such rules are only depicted inthe diagram and can not be used in simulation or execution process.

Our solution outlines a tool framework which supports integrating XTT2business rules with BPMN processes. In contrast to the abovementioned toolswhich mostly do not support advanced rule representations, our solution usesdecision tables for defining the task logic in the processes. Such tables can be vi-sually designed using the HQEd editor. The rules in a table are formalized usingthe ALSV(FD) logic and their syntax can be checked during the design process.Moreover, our solution provides the integrated environment for executing of suchmodeled processes. A prototype implementation uses the jBPM process engineintegrated with the HeaRT inference engine.

6 Conclusion and Future Work

In the paper, we considered an architecture for execution of an integrated modelcombining with the SKE approach. This is a part of our research concerningintegration of business processes with rules.

We proposed a framework architecture where specific tasks in a BPMN modelare described using business rules specified with the XTT2 notation. XTT2allows for modeling rules using decision tables described in a formalized way.Our framework allows for integrated executing of a specified model. As a proofof concept, we presented a prototype implementation, which uses the jBPMprocess engine integrated with the HeaRT inference engine for this purpose.

Several future directions for this research are considered. We plan to developa consistent methodology which effectively uses the BPMN notation for modelingBusiness Processes with logic tasks defined using Business Rules based on theSKE approach. Such methodology by specifying the desirable design patternsfor modeling processes with rules will eliminate a semantic mismatch problem.Another important issue is the quality of the integrated model. The verificationfeatures of HeaRT can be used for formal verification of selected BPMN modelsand rule tasks. However, this is mostly local verification of single rule tasks orsimple BPMN constructs [39]. A global verification of the complete model, whichuses the Alvis modeling language, was considered in [18].

4 See: http://www.igrafx.com/.5 See: http://www-01.ibm.com/software/integration/wbimodeler/.6 See: http://www.visual-paradigm.com/product/bpva/.

References

1. Nalepa, G.J., Kluza, K.: UML representation for rule-based application modelswith XTT2-based business rules. International Journal of Software Engineeringand Knowledge Engineering (IJSEKE) 22(4) (2012) 485–524

2. Ross, R.G.: Principles of the Business Rule Approach. 1 edn. Addison-WesleyProfessional (2003)

3. von Halle, B.: Business Rules Applied: Building Better Systems Using the BusinessRules Approach. Wiley (2001)

4. Buchanan, B.G., Shortliffe, E.H., eds.: Rule-Based Expert Systems. Addison-Wesley Publishing Company, Reading, Massachusetts (1985)

5. Ligęza, A., Nalepa, G.J.: A study of methodological issues in design and develop-ment of rule-based systems: proposal of a new approach. Wiley InterdisciplinaryReviews: Data Mining and Knowledge Discovery 1(2) (2011) 117–137

6. Knolmayer, G., Endl, R., Pfahrer, M.: Modeling processes and workflows by busi-ness rules. In: Business Process Management, Models, Techniques, and EmpiricalStudies, London, UK, Springer-Verlag (2000) 16–29

7. Charfi, A., Mezini, M.: Hybrid web service composition: Business processes md„eetbusiness rules. In: Proceedings of the 2nd International Conference on Service-Oriented Computing. ICSOC ’04, New York, NY, USA, ACM (2004) 30–38

8. OMG: Semantics of Business Vocabulary and Business Rules (SBVR). TechnicalReport dtc/06-03-02, Object Management Group (2006)

9. OMG: Business Process Model and Notation (BPMN): Version 2.0 specification.Technical Report formal/2011-01-03, Object Management Group (January 2011)

10. Adams, M., ter Hofstede, A.H.M., Edmond, D., van der Aalst, W.M.P.: Worklets:A service-oriented implementation of dynamic flexibility in workflows. In: OTMConferences (1). (2006) 291–308

11. Milanovic, M., Gaševic, D.: Towards a language for rule-enhanced business pro-cess modeling. In: Proceedings of the 13th IEEE international conference on En-terprise Distributed Object Computing. EDOC’09, Piscataway, NJ, USA, IEEEPress (2009) 59–68

12. van Eijndhoven, T., Iacob, M.E., Ponisio, M.: Achieving business process flexibilitywith business rules. In: Proceedings of the 12th International IEEE EnterpriseDistributed Object Computing Conference, 2008. EDOC ’08. (sept. 2008) 95–104

13. Kluza, K., Kaczor, K., Nalepa, G.J.: Enriching business processes with rules usingthe Oryx BPMN editor. In Rutkowski, L., [et al.], eds.: Artificial Intelligence andSoft Computing: 11th International Conference, ICAISC 2012: Zakopane, Poland,April 29–May 3, 2012. Volume 7268 of Lecture Notes in Artificial Intelligence.,Springer (2012) 573–581

14. Nalepa, G.J., Ligęza, A.: HeKatE methodology, hybrid engineering of intelligentsystems. International Journal of Applied Mathematics and Computer Science20(1) (March 2010) 35–53

15. Baumeister, J., Freiberg, M.: Knowledge visualization for evaluation tasks. Knowl-edge and Information Systems 29(2) (Nov 2011) 349–378

16. Nalepa, G.J.: Proposal of business process and rules modeling with the XTTmethod. In Negru, V., et al., eds.: Symbolic and numeric algorithms for scientificcomputing, 2007. SYNASC Ninth international symposium. September 26–29, LosAlamitos, California ; Washington ; Tokyo, IEEE Computer Society, IEEE, CPSConference Publishing Service (september 2007) 500–506

17. Kluza, K., Nalepa, G.J., Łysik, Ł.: Visual inference specification methods for modu-larized rulebases. Overview and integration proposal. In Nalepa, G.J., Baumeister,J., eds.: Proceedings of the 6th Workshop on Knowledge Engineering and SoftwareEngineering (KESE6) at the 33rd German Conference on Artificial IntelligenceSeptember 21, 2010, Karlsruhe, Germany, Karlsruhe, Germany (2010) 6–17

18. Szpyrka, M., Nalepa, G.J., Ligęza, A., Kluza, K.: Proposal of formal verifica-tion of selected BPMN models with Alvis modeling language. In Brazier, F.M.,Nieuwenhuis, K., Pavlin, G., Warnier, M., Badica, C., eds.: Intelligent DistributedComputing V. Proceedings of the 5th International Symposium on Intelligent Dis-tributed Computing – IDC 2011, Delft, the Netherlands – October 2011. Volume382 of Studies in Computational Intelligence. Springer-Verlag (2011) 249–255

19. Hollingsworth, D.: The workflow reference model. Issue 1.1 TC00-1003, WorkflowManagement Coalition (Jan 1995)

20. Hu, J., Zhao, Z., Lv, Z.: Implementation of process management and control basedon jbpm4.4. In: Networking and Distributed Computing (ICNDC), 2011 SecondInternational Conference on. (sept. 2011) 218 –221

21. Huang, Y.y., Jiang, R., Li, H.: A reusable system architecture based on jbpm and itsapplication. In Zhang, Y., ed.: Future Communication, Computing, Control andManagement. Volume 142 of Lecture Notes in Electrical Engineering. SpringerBerlin Heidelberg (2012) 517–525

22. Bing, H., Dan-Mei, X.: Research and design of document flow model based onJBPM workflow engine. In: Proceedings from International Forum on ComputerScience-Technology and Applications, 2009. IFCSTA ’09. Volume 1. (Dec 2009)336–339

23. Peng, L., Zhou, B.: Research on workflow patterns based on jBPM and jPDL. In:Proceedings from IEEE Pacific-Asia Workshop on Computational Intelligence andIndustrial Application 2008. PACIIA ’08. Volume 2., IEEE (Dec 2008) 838–843

24. Wohed, P., Russell, N., ter Hofstede, A.H., Andersson, B., van der Aalst, W.M.:Patterns-based evaluation of open source BPM systems: The cases of jBPM, Open-WFE, and Enhydra Shark. Information and Software Technology 51(8) (2009)1187–1216

25. Ostermayer, L., Seipel, D.: Knowledge engineering for business rules in prolog.In: Proceedings of the 26th Workshop on Logic Programming (WLP 2012). Bonn,Germany, September 24-25, 2012, CoRR Computing Research Repository (2012)

26. Nalepa, G.J.: Semantic Knowledge Engineering. A Rule-Based Approach.Wydawnictwa AGH, Kraków (2011)

27. Nalepa, G., Bobek, S., Ligęza, A., Kaczor, K.: Algorithms for rule inference inmodularized rule bases. In Bassiliades, N., Governatori, G., Paschke, A., eds.:Rule-Based Reasoning, Programming, and Applications. Volume 6826 of LectureNotes in Computer Science., Springer Berlin / Heidelberg (2011) 305–312

28. Nalepa, G., Bobek, S., Ligęza, A., Kaczor, K.: HalVA – rule analysis frameworkfor XTT2 rules. In Bassiliades, N., Governatori, G., Paschke, A., eds.: Rule-BasedReasoning, Programming, and Applications. Volume 6826 of Lecture Notes in Com-puter Science., Springer Berlin / Heidelberg (2011) 337–344

29. Nalepa, G.J., Ligęza, A., Kaczor, K.: Formalization and modeling of rules using theXTT2 method. International Journal on Artificial Intelligence Tools 20(6) (2011)1107–1125

30. Nalepa, G.J.: Architecture of the HeaRT hybrid rule engine. In Rutkowski, L., [etal.], eds.: Artificial Intelligence and Soft Computing: 10th International Conference,ICAISC 2010: Zakopane, Poland, June 13–17, 2010, Pt. II. Volume 6114 of LectureNotes in Artificial Intelligence., Springer (2010) 598–605

31. Sekuła, R.: Review of selected workflow environments. Technical report, AGHUST (2012) BSc Thesis, G.J.Nalepa, PhD Supervisor.

32. Denvir, T., Oliveira, J., Plat, N.: The Cash-Point (ATM) ’Problem’. FormalAspects of Computing 12(4) (December 2000) 211–215

33. Müller, R., Greiner, U., Rahm, E.: Agent work: a workflow system supporting rule-based workflow adaptation. Data Knowl. Eng. 51(2) (November 2004) 223–256

34. Goedertier, S., Vanthienen, J.: Business rules for compliant business process mod-els. In Abramowicz, W., Mayr, H.C., eds.: BIS. Volume 85 of LNI., GI (2006)558–572

35. Rosenberg, F., Rosenberg, F., Dustdar, S., Dustdar, S.: Business rules integrationin BPEL – a service-oriented approach. In: Proceedings of the 7th InternationalIEEE Conference on E-Commerce Technology (CEC’05). (july 2005) 476–479

36. zur Muehlen, M., Indulska, M., Kamp, G.: Business process and business rulemodeling languages for compliance management: a representational analysis. In:Tutorials, posters, panels and industrial contributions at the 26th internationalconference on Conceptual modeling - Volume 83. ER ’07, Darlinghurst, Australia,Australia, Australian Computer Society, Inc. (2007) 127–132

37. zur Muehlen, M., Indulska, M., Kittel, K.: Towards integrated modeling of businessprocesses and business rules. In: 19th Australasian Conference on InformationSystems ACIS 2008, Christchurch, New Zealand (December 2008)

38. Di Bona, D., Lo Re, G., Aiello, G., Tamburo, A., Alessi, M.: A methodology forgraphical modeling of business rules. In: 5th UKSim European Symposium onComputer Modeling and Simulation (EMS) 2011. (Nov 2011) 102–106

39. Kluza, K., Maślanka, T., Nalepa, G.J., Ligęza, A.: Proposal of representing BPMNdiagrams with XTT2-based business rules. In Brazier, F.M., Nieuwenhuis, K.,Pavlin, G., Warnier, M., Badica, C., eds.: Intelligent Distributed Computing V.Proceedings of the 5th International Symposium on Intelligent Distributed Com-puting – IDC 2011, Delft, the Netherlands – October 2011. Volume 382 of Studiesin Computational Intelligence. Springer-Verlag (2011) 243–248