You are on page 1of 4

IS J AA

Fuzzy-logic based Target Classification using Drools


Ramita Sardana, 2Sumant Mukherjee Institute for Systems Studies and Analyses, Defence Research and Development Organization, Delhi, India email: ramita.gambhir@gmail.com1, sumantiitd@gmail.com2
1,2 1

International Journal of Systems , Algorithms & Applications

Abstract For integrated air defence in network centric environment, it is required to process the information collected from multiple sensors and then classify the targets, to enhance the situation awareness for decision makers. Multi-sensor data fusion incorporates Object identity estimation algorithms for target classification. This paper proposes a rule-based implementation for target classification via fuzzy logic based algorithm using Drools rule engine. The proposed approach provides the flexibility to the application by its declarative style of writing the rules and separation of business logic from the data. The effectiveness of the proposed approach has been illustrated on simulation data generated using sample rules used for decision making (for target classification) in a typical integrated air defence scenario. Keywords: Drools, Rule Engine, Target Classification, Fuzzy Rules, Integrated Air Defence, Network Centric Warfare, MultiSensor Data Fusion

The rest of the paper is organized as follows. Section 2 describes the target classification problem and the fuzzy logic based algorithm to solve it. Section 3 gives a brief introduction to Drools, Rule language and concludes with the advantages offered by Drools. Section 4 mentions the design of the application. Section 5 mentions the implementation details of the developed application. Finally, the concluding remarks and future work is mentioned in Section 6. II. FUZZY LOGIC BASED TARGET CLASSIFICATION For a fuzzy logic based classification, the first step is to fuzzify the input data [2]. This means that for each linguistic variable, the degree is determined to which the input fulfills it. This is done by evaluating the values of the corresponding membership functions. The possible inputs are the observed values of Altitude, Speed and Range of the target from various sensors. The membership functions for Altitude, Speed and Range are assumed to be as mentioned in Table 1 [4]. TABLE 1 MEMBERSHIP FUNCTIONS
Input Type Altitude Linguistic Variable Low Medium High Membership Function Triangular Triangular Triangular Trapezoidal Triangular Trapezoidal Trapezoidal Trapezoidal Trapezoidal Trapezoidal

I. INTRODUCTION Target classification is a primary requirement in Multisensor data fusion (MSDF). After an object is detected by the sensors, MSDF Level I algorithms for object identity estimation have to be executed for feature level fusion. One of the algorithms for the feature level fusion is Fuzzy logic-based classification [2]. This fuzzy logic based classification system uses certain decision rules to classify the targets in a network centric warfare environment. The rules must be written in a language which can be easily processed by a rule engine and based on different kinds of targets, the decision rules may need to be changed with time. The fuzzy logic approach mentioned in [4] takes the rules in the business logic itself. So whenever any rule changes, the core logic of the application needs to be modified. This implies the system is not flexible and hence difficult to maintain. This paper simulates a fuzzy-logic based classification system using Drools. Drools [1] is an open source Java rule engine which uses a declarative approach for writing the rules. Drools provides some significant advantages over traditional applications like declarative programming, easy to learn rule language, logic and data separation, speed and scalability, centralization of knowledge and hence easy maintenance. Also, the learning curve for understanding the Drools rule language and start writing rules is very small.

Speed

Slow Medium Fast Very Fast

Range

Very Near Near Far

The next step is to apply min-max fuzzy algorithm on the decision rules made to classify the target. The decision rules for our current simulation are as shown in Table 2 [4].

Volume 2, Issue ICAEM12, February 2012, ISSN Online: 2277-2677 ICAEM12|Jan20,2012|Hyderabad|India

25

FUZZY-LOGIC BASED TARGET CLASSIFICATION USING DROOLS

IS J AA

International Journal of Systems , Algorithms & Applications

TABLE 2 DECISION RULES


Altitude Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 Very High Low Low Medium Speed Fast Medium Very Fast Slow Very Fast Range Near Far Target Type Fighter Aircraft Passenger Aircraft Missile Passenger Aircraft Missile

III.DROOLS Knowledge needs to be represented in a manner by which it can be easily codified, manipulated and processed to infer conclusions by logical reasoning. Such knowledge is stored in the form of a knowledge base and utilized by Expert Systems for reasoning. One way of representing knowledge is in the form of simple rules like: when <conditions> then <actions>; A rule engine applies such rules to real-time artifacts to produce some meaningful outcomes. Drools is an opensource Rule Engine that uses the rule-based approach to implement an Expert System [1]. The brain of a Production Rules System is an Inference Engine (Figure 1) that is able to scale to a large number of rules and facts.

Advantages of Rule-based programming with Drools Declarative Programming allows you to say What to do not How to do it: Rules can make it easy to express solutions to difficult problems and consequently have those solutions verified. Rules are much easier to read than code. Understandable Rules: For non-programmers it is easy to express logic in plain English. By creating object models and, optionally, Domain Specific Languages that model the problem domain, they can write rules that are very close to natural language. Logic and Data Separation: The data is in the domain objects and the logic is in the rules. This breaks the OO coupling of data and logic. Speed and Scalability: ReteOO algorithm provides very efficient ways of matching rule patterns to the facts. Centralization of Knowledge: Rules are a repository of knowledge, a single point of truth. Explanation Facility through logs: Drools provides an explanation facility by being able to log the decisions made by the rule engine. Tool Integration: Tools such as Eclipse provide ways to edit and manage rules and get immediate feedback, validation and content assistance. Easy Maintenance: Rules can be changed (even at runtime) without modifying the source code. IV. DESIGN The design of the application (as shown in Figure 2) is based on the principles of Strategy Design Pattern [5].
ITargetAttribute
IMPLEMENTS

TargetFrame TargetAttribute
HAS-A EXTENDS

Figure 1: Architecture of Generic Rule Engine

Altitude

Speed

Range

The Inference Engine is a computer program that tries to derive answers from a knowledge base (rules and facts). The process of matching the new or existing facts asserted into working memory against Production Rules (also called Productions or just Rules) stored in the Production Memory is called Pattern Matching. The Inference Engine performs Pattern Matching to infer conclusions resulting in actions, which may assert, modify or retract facts from working memory. Drools is a business rule management system (BRMS) with a forward chaining inference based rule engine, uses an enhanced and optimized implementation of the Rete algorithm for Pattern Matching called ReteOO [1]. A forward chaining rule engine is data-driven which means that it starts with a fact, propagates, and finally terminates with a conclusion. Drools is a complete implementation of the JSR94 Rule Engine API.
Volume 2, Issue ICAEM12, February 2012, ISSN Online: 2277-2677 ICAEM12|Jan20,2012|Hyderabad|India

Figure 2 : Overall Application Design

A sample rule that has been used for the current application is as follows: rule "Rule1" when a : Altitude(eval(a.getMembershipValue (Altitude.MEDIUM, a.getValue()) > 0)) AND s : Speed(eval(s.getMembershipValue (Speed.FAST, s.getValue()) > 0)) AND r : Range(eval(r.getMembershipValue (Range.NEAR, r.getValue()) > 0)) then double am = a.getMembershipValue (Altitude.MEDIUM, a.getValue());
26

FUZZY-LOGIC BASED TARGET CLASSIFICATION USING DROOLS

IS J AA

International Journal of Systems , Algorithms & Applications

double sm = s.getMembershipValue (Speed.FAST, s.getValue()); double rm = r.getMembershipValue (Range.NEAR, r.getValue()); Vector membershipValues = new Vector(); membershipValues.add(am); membershipValues.add(sm); membershipValues.add(rm); myResultList.add( "Fighter Aircraft by Rule1 by degree " + CommonUtil.getMinValue (membershipValues)); matchedRuleList.add(new Integer(1)); end V. IMPLEMENTATION The overall architecture of the application is as shown in Figure 3.
Facts
Target Input Parameters

the application flexible, easily maintainable, and extensible. Learning curve is shorter and using declarative programming has become quite easy for Java developers due to easy and simplistic Drools rule language.

Target Classification Rules Drools Inference Engine

Target classification

Figure 3: Overall Application Architecture

The target parameters like altitude, speed and range are detected by the sensors in the scenario. These parameters are given as inputs to the application. Then the membership values in the corresponding regions are calculated and passed to the Drools inference engine as facts. Based on these facts and the target classification rules stored in rule base, the matching rules are fired. Finally the classification of target is achieved as a consequence of the matching rules. The classification output also gives the probability associated with the result. The Graphical User Interface (GUI) for the application looks like as shown in Figure 4. The application has the following additional features: Facility to load new rules dynamically at run time Facility to read the current rule base The application has been developed in Java after integration of Drools with NetBeans IDE. The system environment configuration includes Windows Vista as Operating System, NetBeans 6.5 with JDK 1.6 as development environment, Drools 5.0 rule engine along with Java Swings and JFreechart libraries. VI.CONCLUSION AND FUTURE WORK Drools is a powerful and flexible rules engine implementation. Using Drools can significantly reduce the complexity of the business-rules logic in Java applications. The declarative nature of rules in Drools makes
Volume 2, Issue ICAEM12, February 2012, ISSN Online: 2277-2677 ICAEM12|Jan20,2012|Hyderabad|India

Figure 4 : Application Graphical User Interface

Target classification is an area where the rules may keep changing based on technological advances and continuous improvements in the existing targets like aircrafts or weapons like Missiles. Due to the varying nature of the targets, these rules would need to be modified or new rules to be added frequently. Using a rule engine based approach makes the management of these rules easy as the core application logic no longer needs to be changed because of the changing requirements. The proposed approach provides this flexibility by declarative style of writing the rules provided by Drools leading to separation of business logic from the data. This application can be integrated with Multi-sensor data fusion applications for object identity estimation. This approach has the potential and flexibility to be used as a part of network centric warfare simulation. ACKNOWLEDGMENT We would like to express our gratitude to Sh. H.V. Srinivasa Rao, Director, ISSA/DRDO for his continuous guidance, support and encouragement. We would also
27

FUZZY-LOGIC BASED TARGET CLASSIFICATION USING DROOLS

IS J AA
[3]

International Journal of Systems , Algorithms & Applications

like to express our sincere thanks to our colleagues Smt. Sanchita Malik and Dr.Hareesh G. for their valuable technical inputs. REFERENCES
Drools documentation : http://downloads.jboss.com/drools/ docs/ 5.1.1.34858.FINAL/drools-introduction/html/index.html [2] Subrata Das, High Level Data Fusion, Artech House, Inc., 2008
[1]

Narendra Kumar et al, Rule based programming with Drools, International Journal of Computer Science and Information Technologies (IJCSIT), Vol. 2 (3) , 2011, 1121-1126 [4] Ashish Joshi, Sumant Mukherjee and Sanchita Malik, Object Identication in Multi Sensor Battlespace: A Comparative Study through Fuzzy logic and Bayesian Networks, Proc. International Radar Symposium India-2009 (IRDI-09), 8-11 Dec. 2009, Nimhans, Bangalore [5] Eric Freeman, Elisabeth Freeman, Kathy Sierra and Bert Bates, Head First Design Patterns, O'Reilly Media, Inc., 2004

Volume 2, Issue ICAEM12, February 2012, ISSN Online: 2277-2677 ICAEM12|Jan20,2012|Hyderabad|India

28

You might also like