Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2668930.2688035acmconferencesArticle/Chapter ViewAbstractPublication PagesicpeConference Proceedingsconference-collections
research-article
Free access

Enhancing Performance And Reliability of Rule Management Platforms

Published: 31 January 2015 Publication History

Abstract

RulE Management Platforms (REMPs) enable software engineers to represent programming logic as conditional sentences that relate statements of facts. A key benefit of REMPs is that they make software adaptable by burying the complexity of rule invocation in their engines, so that programmers can concentrate on business aspects of highly modular rules. Naturally, rule-driven applications are expected to have excellent performance, since REMP engines should be able to invoke highly modular rules in parallel in response to asserting different facts. In reality, it is very difficult to parallelize rule executions, since it leads to the loss of reliability and adaptability of rule-driven applications.
We created a novel solution that is based on obtaining a rule execution model that is used at different layers of REMPs to enhance the performance of rule-driven applications while maintaining their reliability and adaptability. First, using this model, possible races are detected statically among rules, and we evaluate an implementation of our abstraction of algorithms for automatically preventing races among rules. Next, we use the sensitivity analysis to find better schedules among simultaneously executing rules to improve the overall performance of the application. We implemented our solution for JBoss Drools and we evaluated it on three applications. The results suggest that our solution is effective, since we achieved over 225% speedup on average.

References

[1]
T. J. Albert, K. Qian, and X. Fu. Race condition in ajax-based web application. ACM-SE 46, pages 390--393, New York, NY, USA, 2008. ACM.
[2]
A. Arcuri and L. C. Briand. A practical guide for using statistical tests to assess randomized algorithms in software engineering. In ICSE, pages 1--10, 2011.
[3]
A. Avritzer, J. P. Ros, and E. J. Weyuker. Reliability testing of rule-based systems. IEEE Softw., 13(5):76--82, Sept. 1996.
[4]
A. Avritzer, J. P. Ros, and E. J. Weyuker. Estimating the cpu utilization of a rule-based system. WOSP '04, pages 1--12, New York, NY, USA, 2004. ACM.
[5]
M. Bali. Drools JBoss Rules 5.0 Developer's Guide. Packt Publishing, 2009.
[6]
V. Barr. Applications of rule-base coverage measures to expert system evaluation. In Journal of Knowledge Based Systems, pages 411--416. Press/ MIT Press, 1998.
[7]
V. Barr and D. V. Barr. Rule-based system testing with control and data flow techniques, 1996.
[8]
D. S. Batory, R. Goncc alves, B. Marker, and J. Siegmund. Dark knowledge and graph grammars in automated software design. In SLE, pages 1--18, 2013.
[9]
N. E. Beckman. A survey of methods for preventing race conditions, 2006.
[10]
A. Ben-David. Rule effectiveness in rule-based systems: A credit scoring case study. Expert Syst. Appl., 34(4):2783--2788, May 2008.
[11]
J. Bornholt, T. Mytkowicz, and K. S. McKinley. Uncertain: A first-order type for uncertain data. In ASPLOS, pages 239--248, 2014.
[12]
E. A. Brewer. Towards robust distributed systems (abstract). PODC '00, pages 7--, New York, NY, USA, 2000. ACM.
[13]
P. Browne. JBoss Drools Business Rules. Packt Publishing, 2009.
[14]
B. G. Buchanan and R. O. Duda. Principles of rule-based expert systems. Technical report, Stanford University, Stanford, CA, USA, 1982.
[15]
S. Carr, J. Mayo, and C.-K. Shene. Race conditions: a case study. J. Comput. Sci. Coll., 17(1):90--105, Oct. 2001.
[16]
L. Chung, K. Cooper, and A. Yi. Developing adaptable software architectures using design patterns: An nfr approach. Comput. Stand. Interfaces, 25(3):253--260, June 2003.
[17]
R. Dazeley, P. Warner, S. Johnson, and P. Vamplew. The ballarat incremental knowledge engine. In Proceedings of the 11th PKAW, PKAW'10, pages 195--207, Berlin, Heidelberg, 2010. Springer-Verlag.
[18]
B. Demsky and M. C. Rinard. Goal-directed reasoning for specification-based data structure repair. IEEE Trans. Software Eng., 32(12):931--951, 2006.
[19]
R. Djelouah, B. Duval, and S. Loiseau. Validation and reparation of knowledge bases. In Proceedings of the 13th ISMIS '02, ISMIS '02, pages 312--320, London, UK, UK, 2002. Springer-Verlag.
[20]
D. Engler and K. Ashcraft. Racerx: effective, static detection of race conditions and deadlocks. SOSP '03, pages 237--252, New York, NY, USA, 2003. ACM.
[21]
H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Architecture support for disciplined approximate programming. In ASPLOS, pages 301--312, 2012.
[22]
H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Neural acceleration for general-purpose approximate programs. In MICRO, pages 449--460, 2012.
[23]
H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Neural acceleration for general-purpose approximate programs. IEEE Micro, 33(3):16--27, 2013.
[24]
S. Eyerman and L. Eeckhout. Probabilistic job symbiosis modeling for smt processor scheduling. In ASPLOS, pages 9--102, 2010.
[25]
M. Fayad and M. P. Cline. Aspects of software adaptability. Commun. ACM, 39(10):58--59, Oct. 1996.
[26]
M. Fowler. Should i use a rules engine? martinfowler.com, Jan. 2009.
[27]
H. Gaur and M. Zirn. Oracle Fusion Middleware Patterns. Packt Publishing, 2010.
[28]
S. Ghandeharizadeh and J. Yap. Gumball: a race condition prevention technique for cache augmented sql database management systems. DBSocial '12, pages 1--6, New York, NY, USA, 2012. ACM.
[29]
J. C. Giarratano and G. Riley. Expert Systems: Principles and Programming. Brooks/Cole Publishing Co., Pacific Grove, CA, USA, 1989.
[30]
J. C. Giarratano and G. D. Riley. Expert Systems: Principles and Programming. Brooks/Cole Publishing Co., Pacific Grove, CA, USA, 2005.
[31]
M. Grechanik, C. McMillan, L. DeFerrari, M. Comi, S. Crespi-Reghizzi, D. Poshyvanyk, C. Fu, Q. Xie, and C. Ghezzi. An empirical investigation into a large-scale java open source code repository. In ESEM, 2010.
[32]
A. Gupta, C. Forgy, A. Newell, and R. Wedig. Parallel algorithms and architectures for rule-based systems. In Proceedings of ISCA, ISCA '86, pages 28--37, Los Alamitos, CA, USA, 1986. IEEE Computer Society Press.
[33]
K. Harris-Ferrante and S. Forte. Hype cycle for p&c insurance. Gartner, July 2009.
[34]
R. Hartung and A. Hr akansson. Automated testing for knowledge based systems. KES'07/WIRN'07, pages 270--278, Berlin, Heidelberg, 2007. Springer-Verlag.
[35]
D. Heckerman and E. Horvitz. The myth of modularity in rule-based systems. CoRR, abs/1304.3090, 2013.
[36]
J. Hedberg, K. Weare, and M. la Cour. MCTS: Microsoft BizTalk Server 2010 (70--595) Certification Guide. Packt Publishing, 2012.
[37]
D. P. Helmbold and C. E. McDowell. A taxonomy of race conditions. Technical report, University of California at Santa Cruz, Santa Cruz, CA, USA, 1994.
[38]
S. D. Hendrick. Worldwide business rules management systems 2009-U' 2013 forecast update and 2008 vendor shares. IDC, Oct. 2009.
[39]
E. F. Hill. Jess in Action: Java Rule-Based Systems. Manning Publications Co., Greenwich, CT, USA, 2003.
[40]
J. M. Hughes and H. Bolinder. Testing a database for race conditions with quickcheck: none. Erlang '11, pages 72--77, New York, NY, USA, 2011. ACM.
[41]
P. Jackson. Introduction to Expert Systems, 3rd Edition. Addison-Wesley, 1999.
[42]
R. J. K. Jacob and J. N. Froscher. A software engineering methodology for rule-based systems. IEEE Trans. on Knowl. and Data Eng., 2(2):173--189, June 1990.
[43]
G. Jin, L. Song, W. Zhang, S. Lu, and B. Liblit. Automated atomicity-violation fixing. In Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation, PLDI '11, pages 389--400, New York, NY, USA, 2011. ACM.
[44]
J. D. Kiper. Structural testing of rule-based expert systems. ACM Trans. Softw. Eng. Methodol., 1(2):168--187, Apr. 1992.
[45]
L. Lahav. Hobbes framework: An adaptable solution to web-driven applications. Comput. Stand. Interfaces, 25(3):271--274, June 2003.
[46]
B. A. Lieberman. Requirements for rule engines. IBM DeveloperWorks, Nov. 2012.
[47]
L. Lin, S. M. Embury, and B. C. Warboys. Facilitating the implementation and evolution of business rules. ICSM '05, pages 609--612, Washington, DC, USA, 2005. IEEE Computer Society.
[48]
S. Lu, S. Park, E. Seo, and Y. Zhou. Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. SIGPLAN Not., 43(3):329--339, Mar. 2008.
[49]
S. Lu, S. Park, and Y. Zhou. Finding atomicity-violation bugs through unserializable interleaving testing. IEEE Trans. Softw. Eng., 38(4):844--860, July 2012.
[50]
S. Lukichev. Improving the quality of rule-based applications using the declarative verification approach. Int. J. Knowl. Eng. Data Min., 1(3):254--272, Dec. 2011.
[51]
S. Luypaert. Rule engines in java: Jboss drools. Java, JBoss Drools, July 2010.
[52]
A. Mccallum, K. Schultz, and S. Singh. Factorie: Probabilistic programming via imperatively defined factor graphs. In In Advances in Neural Information Processing Systems 22, pages 1249--1257, 2009.
[53]
D. W. McCoy. Taking the mystery out of business rule representation. Gartner, Mar. 2009.
[54]
T. Menzies and B. Cukic. On the sufficiency of limited testing for knowledge based systems. ICTAI '99, pages 431--, Washington, DC, USA, 1999. IEEE Computer Society.
[55]
C. Moran. Does your project need a rule engine? Java Developer's Journal, June 2004.
[56]
R. H. B. Netzer and B. P. Miller. What are race conditions?: Some issues and formalizations. ACM Lett. Program. Lang. Syst., 1(1):74--88, Mar. 1992.
[57]
T. A. Nguyen, W. A. Perkins, T. J. Laffey, and D. Pecora. Checking an expert systems knowledge base for consistency and completeness. IJCAI'85, pages 375--378, San Francisco, CA, USA, 1985. Morgan Kaufmann Publishers Inc.
[58]
Oracle. Oracle fusion middleware user's guide for oracle business rules. Oracle Documentation, http://docs.oracle.com/cd/E21764_01/integration.1111/e10228/intro.htm, May 2011.
[59]
S. Purohit and K. Jamdaade. Rule based system to facilitate the immunity of hiv/aids patients using ayurveda therapy. CUBE '12, pages 226--234, New York, NY, USA, 2012. ACM.
[60]
redhat. Why use a rule engine? Customer Portal,https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_ SOA_Platform/4.2/html/JBoss_Rules_Manual/sect-JBoss_Rules_Reference_Manual-Why_use_a_Rule_Engine.html, Feb.2013.
[61]
D. Roy. Probabilistic-programming.org. http://probabilistic-programming.org/wiki/Home,Feb. 2014.
[62]
A. Saltelli, M. Ratto, T. Andres, F. Campolongo, J. Cariboni, D. Gatelli, M. Saisana, and S. Tarantola. Global Sensitivity Analysis: The Primer. Wiley-Interscience, Hoboken, NJ, Feb. 2008.
[63]
W. Schulte and J. Sinur. Rule engines and event processing. Gartner, Mar. 2009.
[64]
S. Sidiroglou-Douskos, S. Misailovic, H. Hoffmann, and M. C. Rinard. Managing performance vs. accuracy trade-offs with loop perforation. In SIGSOFT FSE, pages 124--134, 2011.
[65]
J. Sinur. The art and science of rules vs. process flows. Gartner, Mar. 2009.
[66]
C. Sinz, T. Lumpp, J. Schneider, and W. Küchlin. Detection of dynamic execution errors in {IBM} system automation's rule-based expert system. Information and Software Technology, 44(14):857--873, 2002.
[67]
S. Smith and A. Kandel. Verification and Validation of Rule-Based Expert Systems. CRC Press, Inc., Boca Raton, FL, USA, 1994.
[68]
A. Snavely, D. M. Tullsen, and G. M. Voelker. Symbiotic jobscheduling with priorities for a simultaneous multithreading processor. In SIGMETRICS, pages 66--76, 2002.
[69]
stackoverflow. Rules engine - pros and cons. stackexchange, http://stackoverflow.com/questions/250403/rules-engine-pros-and-cons/398389#398389, Dec. 2008.
[70]
stackoverflow. When should you not use a rules engine? stackexchange, http://stackoverflow.com/questions/775170/when-should-you-not-use-a-rules-engine, Nov. 2011.
[71]
N. Subramanian and L. Chung. Software architecture adaptability: An nfr approach. IWPSE '01, pages 52--61, New York, NY, USA, 2001. ACM.
[72]
X. Sun, A. Agarwal, and T. S. E. Ng. Attendre: mitigating ill effects of race conditions in openflow via queueing mechanism. ANCS '12, pages 137--138, New York, NY, USA, 2012. ACM.
[73]
P. Uppuluri, U. Joshi, and A. Ray. Preventing race condition attacks on file-systems. SAC '05, pages 346--353, New York, NY, USA, 2005. ACM.
[74]
K. Veeraraghavan, P. M. Chen, J. Flinn, and S. Narayanasamy. Detecting and surviving data races using complementary schedules. SOSP '11, pages 369--384, New York, NY, USA, 2011. ACM.
[75]
C.-C. Wu. Parallelizing a clips-based course timetabling expert system. Expert Syst. Appl., 38(6):7517--7525, June 2011.
[76]
R. M. Wygant. Clips - a powerful development and delivery expert system tool. Comput. Ind. Eng., 17(1):546--549, Nov. 1989.
[77]
M. G. Yunusoglu and H. Selim. A fuzzy rule based expert system for stock evaluation and portfolio construction: An application to istanbul stock exchange. Expert Syst. Appl., 40(3):908--920, Feb. 2013.
[78]
K. Zhai, B. Xu, W. K. Chan, and T. H. Tse. Carisma: a context-sensitive approach to race-condition sample-instance selection for multithreaded applications. ISSTA 2012, pages 221--231, New York, NY, USA, 2012. ACM.
[79]
J. Zhang, S. Su, and F. Yang. Detecting race conditions in web services. AICT-ICIW '06, pages 184--, Washington, DC, USA, 2006. IEEE Computer Society.

Cited By

View all
  • (2021)The expert evaluation systems in drug developmentBIO Web of Conferences10.1051/bioconf/2021300300630(03006)Online publication date: 22-Apr-2021

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICPE '15: Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering
January 2015
366 pages
ISBN:9781450332484
DOI:10.1145/2668930
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 January 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrency
  2. expert system
  3. parallelism
  4. rule-driven application

Qualifiers

  • Research-article

Funding Sources

Conference

ICPE'15
Sponsor:
ICPE'15: ACM/SPEC International Conference on Performance Engineering
January 28 - February 4, 2015
Texas, Austin, USA

Acceptance Rates

ICPE '15 Paper Acceptance Rate 23 of 74 submissions, 31%;
Overall Acceptance Rate 252 of 851 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)88
  • Downloads (Last 6 weeks)3
Reflects downloads up to 24 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2021)The expert evaluation systems in drug developmentBIO Web of Conferences10.1051/bioconf/2021300300630(03006)Online publication date: 22-Apr-2021

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media