• No results found

Using Cloud Computing with RETE Algorithms in a Platform as a Service (PaaS) for Business Systems Development

N/A
N/A
Protected

Academic year: 2021

Share "Using Cloud Computing with RETE Algorithms in a Platform as a Service (PaaS) for Business Systems Development"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

Using Cloud Computing with RETE Algorithms in a

Platform as a Service (PaaS) for Business Systems

Development

Richard Poblete

1

, David de la Fuente

2

, and Margarita Alonso

3 1

Department of Business Administration, Cantabria University, Santander, Spain

[email protected]

2

Department of Business Administration, Oviedo University, Gijón, Asturias, Spain

[email protected]

1

Department of Business Administration, Cantabria University, Santander, Spain

[email protected]

Abstract - Given that companies operate in an environment of continuous evolution it requires information systems to have greater adaptation, flexibility, scalability and reliability of incorporation of these changes. Cloud Computing can be regarded as a paradigm and key element of recent computing in business management solutions. A business solution arises in the cloud; this solution includes both the environmental dynamics and the changes needed in the business logic assuring speed of response, efficiency in the solution and maintenance of the application. This article shows a design model of Saas applications based on a platform (PaaS) which has the business logic as central element and is subdivided in "Business Objects", "Business Processes" and "Business Rules." According to the business rules, and in order to resolve the problem based on facts and inferences from the knowledge as an essential part of the construction of the system, expert systems are applied through the use of the RETE algorithms (Forward Chaining).

Keywords: Cloud Computing, SaaS, PaaS, RETE

1

Introduction

The competitive business environment demands companies to concentrate in business management and not in the technological aspects of their company which may be complex because of a changing environment. It is therefore necessary to constantly redefine the Business Logic Systems. Having a platform which can adapt quickly to these conditions is extremely important.

Cloud Computing is changing the traditional way of how hardware and software providers sell their products to their customers. This is another kind of business in which the product is not sold as such, but a service is sold [2]. Mainly, this platform allows sharing resources as a service. These resources include infrastructure (IaaS), software (SaaS), applications (PaaS), and data storage (dSaaS). At the heart of

this technology is the Virtualization and its model of operative business is varied and can include: Pay per Use Models; Free Models; Fee for Service Models and Free Use Models, sharing utilities.

1.1

Cloud Computing

Cloud Computing is defined by the way in which the service provider and the consumer of that service are related. In this context it is very common that the consumers are not the owners of the infrastructure, they do not incur CAPEX1, since they are under a modality of rent and use from a provider. The customers consume resources and only pay for resources used. This model is very similar to what happens with the payment and consumption of energy in our homes. This business model is possible because of the following features:

1) Virtualization: Cloud Computing allows the user to access the service in any place through any kind of terminal or device. The required resources come from the Cloud instead of a visible entity.

2) Reliability: The Cloud uses various methods for the fault tolerance. Computing based on interchangeable isomorphic nodes guarantees the service reliability. The Use of the Computing Cloud is more reliable than in a local station [2]. 3) Versatility: The Cloud can stand different applications, execute them at the same time and reuse their own resources. 4) Elasticity: The Cloud scale can expand dynamically in order to satisfy the growing demand for requirements.

5) “On-Demand” Service: The Cloud is a wide group of resources that can be rented according to the customer necessity.

1

CAPital EXpenditures (CAPEX or capex) are capital inversions or expenditures which create benefits.

(2)

6) Economic: cost reduction is given by the fault tolerance feature which has the Cloud “per se”, (very cheap isomorphic nodes). The versatility, elasticity and "On Demand” Service make the resources’ availability easy [2] compared to the traditional system, so the user can enjoy this low-cost advantage.

The article starts explaining the relevant concepts, a proposed method, and analyzing the implications of using RETE as an essential part of such a model.

2

Expert Systems (ES)

Expert systems as techniques within the area of Artificial Intelligence are presented as computer programs that can perform various tasks:

• Efficiently carrying out search and recovery processes for interrelated information stored on a large scale.

• Formal representation of symbolic knowledge on the field in which the system acts.

• Allowing inferences and heuristics to complete

knowledge.

• Explanation of the conclusions reached, interacting

with the user explaining the line of reasoning pursued.

Expert Systems constitute efficient help when requiring a good interpretation of complex information, advice on the field in which the expert system works, demanding comparable output from the system to that from human experts.

Expert Systems are based on the declarative knowledge (facts about objects, situations) and control knowledge (information about the monitoring of an action). [3] [4]. Expert Systems incorporate capacities of explaining the reasoning followed in the resolution of problems and the acquisition of new knowledge, and also they present simple interaction procedures with the users [9].

3

RETE Algorithm

The RETE algorithm is a pattern matching algorithm for implementing production rule systems. It was designed by Dr. Charles L. Forgy of Carnegie Mellon University. RETE has become the basis for many popular expert systems, including CLIPS, Jess, Drools, and Soar.

The RETE algorithm provides a logical description responsible for matching data tuples (“facts”) against rules in a pattern-matching production system. A production rule

system consists of one or more conditions and different actions which may be undertaken for each complete set of facts that match the condition. The RETE algorithm RETE exhibits the following major characteristics:

• It reduces or eliminates certain types of redundancy

through the use of node sharing.

• It stores partial matches when performing joins between different fact types. At the same time, it allows production rule systems to avoid complete revaluation of all facts each time changes are made in the nodes which are stored in the working memory. Instead, the production system has to evaluate the changes (deltas) in the working memory.

• It allows for efficient removal of memory elements

when facts are retracted or moved from working memory.

The RETE algorithm is widely used to implement matching functionality within pattern-matching engines to support the Chain Forward2 and useful to interface in the formulation and use of the business rules.

4

PaaS Model focused on the business

logic

We propose a Cloud Computing model [8] that attempts to conceptualize the development of a platform as a service (PaaS) to support software solutions as a service (SaaS). The model is essentially based on the business layer, taking into account that it is in this good level where the development of the main processes and algorithms of the SaaS solution are required, leaving a secondary and subordinated rule to the other two layers (Data and interface) in the business layer. In the model, the interface will depend on how we access the SaaS solution (as Internet navigators, mobile devices, business logic web services). Data layer is only the object persistence, the metadata storage of the process structures and the business rules. Figure 1 presents the general scheme of the model:

2

Forward chaining is one of the main methods of reasoning when rules of inference (in artificial intelligence) are used and can be logically described as repeated applications of "modus ponens". Its implementation in expert systems and business and productive rule systems is popular.

(3)

Figure 1: Model based on the business logic

4.1

Business Logic Layer:

It contains the heart of the system. It is a group of layers with subroutines developing the last goal of the application. It uses interfaces among layers and management interfaces oriented to the user in order to produce the parametrical adjust of the Business Logic Layer to the requirement changes in the environment and within the organisation.

Business Logic Layer is composed of the following interrelated sub-layers:

4.1.1 Business Rules

It contains the group of business rules and interferences corresponding to the service implementation. This layer has user tools through the interface layer and this allows for a quick modification when changes are made in the business conditions. This layer is a production rule system, that is, a Business Rule Management System-BRMS3, which allows us to configure externally business rules to the application using them, without modifying the programming code. One example is the use of the RETE4 algorithm.

4.1.2 Business Objects

Business Objects are representations of organizational concepts and collaborate with others in order to reach business goals [12]. Business modelling will be given by the relations of the objects, properties and methods, and also the interaction with the business process layer and business rule layer.

3 BRMS or Business Rule Management System is a software system used to define, deploy, execute, monitor and maintain the variety and complexity of decision logic that is used by the operational systems within an organisation or enterprise.

4

The RETE algorithm is a pattern matching algorithm which is efficient for implementing a rule production system. It was created by Dr. Charles L. Forgy of the Carnegie Mellon University.

4.1.3 Business Processes:

The Workflow Reference Model defines a business process as a group of one or more connected activities, which collectively make a business goal, normally within the functional structure of an organisation [11]. Business Processes are responsible for organizing the resources of the system by means of the integration of the business rules and business objects and workflow, understanding workflows not only as automata tasks through forms of task assignation to users or roles. The model proposes the management of these BPM5 processes which are implemented and modelled through BMPN6.

4.1.4 Interface and Data Layer

Interface Layer consists of interfaces or screens showed in the browsers, mobile devices or interfaces to other systems that consume these services. This presentation layer makes reference to the web service interface and sends encapsulated data in XML messages that only the interface knows. This layer must know the different kind of data and messages that can be received by the service interface.

Data Layer is the responsible for passive storage of the object persistence, process structures and businesses rules. The Data Layer is responsible for the structure definition storage of the business logic layer and associated data.

5

Business Rule Layer: RETE Algorithm

main actor

In traditional system development, a change in the business conditions or rules would involve corrections, additions or updates in code lines, database objects, and stored procedures and in functions or triggers [5]. Complexity associated both with recoding and impact on the system design and test times can confer instability to the system maintenance and exploitation [10]. Under this development scheme, system maintenance becomes more complex and tedious as the environment changes increasingly. A BRMS assures that the system adapts to the business rule dynamism and definition modifications, without recoding programs and objects. A Cloud Computing system, in accordance with the features “Scalability”, “Versatility”, “Reliability” and “Elasticity”, must be efficient in all elements the system is composed of. This ensures that when incorporating an expert system within the BRMS business rule layer it must be very efficient [10]. A simple implementation of an expert system would prove each rule with the facts of the knowledge base, activating the rule, if appropriate, and evaluating the following in a process that can

5 Business Process Management or BPM is the business methodology whose

goal is to improve the efficiency through the systematic management of the business processes which should be continuously modelled, automatized and optimized. As its name suggests, BPM is focused on the management of the business processes.

6

Business Process Modeling Notation or BPMN is a common graphical notation to bridge the communication gap that frequently occurs between business process design and public and private processes, orchestration, choreography, etc. as well as advanced modelling concepts.

(4)

be iterative. This algorithm, even for a low number of rules and facts, can have a very high execution time (making it inappropriate for real production systems in the Cloud). Therefore, the utility of applying the RETE algorithm to the recent system is given by its speed and efficiency [6] and it is consequently used as a basis for more efficient expert system implementations in the Cloud.

A RETE-based expert system builds a network of nodes, where each node (except the root) corresponds to a pattern occurring in the business condition. Therefore, the path from the root node to a leaf node defines a complete rule conditional part [7]. Each node has a memory of facts which satisfy that pattern. This structure is essentially a special case of Trie7 deterministic finite automaton.8

As new facts are asserted or modified, they propagate along the network, causing nodes which are implied in the pattern to get active. When a fact or combination of facts causes all of the patterns for a given rule to be satisfied, a leaf node is reached and the corresponding rule is triggered.

5.1

Limitations and Indications

When developing a business solution SaaS on a PaaS platform, the considerations that we have to take into account and that take part of the limitations of a RETE-based BRMS are:

• There is a limited relationship between conditions in an

engine of this kind and the Business Logic problem.

• RETE regular models are based on a structure of facts

which are represented by simple groups of 3 elements which can not cover complex business logic.

• There are efficiency problems with large volumes of data

matching [10].

• RETE sacrifices memory in order to implement processing

speed. Memory is a poor resource in the system infrastructure.

The first two limitations are resolved in the proposed model centred in the business logic and presented in Figure 1. The model resolves limitations through the use of a BRMS, complementing with Business Objects its attributes and methods (orientation to objects), and process automation and orchestration through BPM.

According to the use of the memory and the efficiency of the algorithm with great load of data, RETE (Forward Chaining) sacrifices memory for increased speed. In most cases, the speed increase compared to the simple implementation is

7 A Trie is a special case of deterministic finite automaton (Set of states, alphabet which defines the chains, transition function, initial state, set of acceptation state) and is used to store a set of chains.

8

A finite automaton or finite state machine is a mathematical model which calculates automatically an input in order to get an output. This model is composed of an alphabet, a group of states and a group of transactions among such states.

several orders of magnitude (because RETE performance is theoretically independent of the number of rules in the system). However, in very large expert systems, RETE usually presents problems because of its great quantity of energy consumption. When implementing systems of great importance as a service (SaaS) and related to the use of the memory, limitation can be resolved with the “reliability” feature, that is, computing based on interchangeable isomorphic nodes which let generate parallelisms [1] resolving the problem of memory limitation, Workaround solution9. The proposal of improved solution, according to the previous one, is the use of optimized RETE algorithms, such as “RETE Plus Algorithm” [10].

6

Conclusions

A Cloud Computing solution in SaaS requires having a steady, elastic, scalable and reliable platform for the adequate delivery of a quality service. The proposed model integrates the use of a BRMS (RETE algorithm), with Business Objects and Business Processes which constitute the basis of an efficient PaaS platform.

A RETE-based BRMS assures that the system which is defined according to the proposed model, adapts itself to the dynamism of the environment, through a definition of flexible network of nodes which models the business rules and proposes an adapted solution to the scalability and elasticity features searched in a PaaS platform.

7

References

[1] A Computing Mode Suitable for Medium and Small-sized Enterpresis Cloud Computing [Journal] / auth. Wie Liu Liyan Zhang, Chunying Wu, Hongli Cai, Lele Qin. - [s.l.] : IEEE Computer Society, 2010. - 2010 Internacional Conference on Intelligent Computation Technology and Automation. - 978-0-7695-4077-1/10.

[2] Cloud Computing Research and Development Trend [Journal] / auth. Shuai Zhang [y otros]. - [s.l.] : IEEE Cpmputer Society, 2010. - 2010 Second International Conference on Future Networks. - 978-7695-3940-9/10.

[3] Expert Systems, Principles and Programming [Book] / auth. Giarratano Joseph C. and Riley Gary. - 2005. - ISBN 0-534-38447-1.

[4] Introduction to Expert Systems [Book] / auth. Gnizio James. - 1991. - ISBN 0-07-909785-5.

9 A Workaround is a temporal solution for a known problem, while a definitive solution is searched, if this solution exists.

(5)

[5] Match Algoriths for generalized RETE networks [Journal] / auth. Lee H. S. and Schor M. L. // Artificial Intelligence. - Vol. 54. - pp. pp. 249-274.

[6] On the efficient implementation of production systems. Ph.D. Thesis, Carnegie-Mellon [Report] / auth. Forgy Charles. - 1979.

[7] RETE : A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem [Journal] / auth. Forgy Charles // Artificial Intelligence. - 1982. - 19. - pp. 17-37. [8] Tesis de Máster Oficial de Empresas y Tecnologías de la información [Informe] = Tesis de Máster / aut. Poblete Muñoz Richard. - 2010. - págs. 14-17; 28-45.

[9] The Essence of Expert Systems. Pearson Education [Book] / auth. Darlington Keith. - 2000. - ISBN 0-13-022774-9.

[10] The Improvement Research on Rule Matching

Algorithm RETE in Electronic Commerce Application Systemas [Journal] / auth. Wang Dongyun and Ren Zhijun. - Shanghai, China : IEEE, 2008. - 978-1-4244-2108-4.

[11] The Workflow Reference Modelo [Report] / auth. Workflow Management Coalition. - 1995.

[12] Using Roles and Business Objects to Model and Understand Business Processes [Journal] / auth. Artur Caetano António Rito Silva, José Tribolet // 2005 ACM Symposium on Applied Computing. - 2005. - pp. 1308-1313.

References

Related documents