Nothing Special   »   [go: up one dir, main page]

skip to main content
article

A Rewriting Framework for Rule-Based Programming Dynamic Applications

Published: 01 January 2006 Publication History

Abstract

In recent years light-weighted formal methods in construction and analysis of complex concurrent software system are of growing interest. In this paper a new rule-action based term rewriting framework, called TermWare, is proposed and its application to software system analysis is described to provide better cost effectiveness of software maintenance under varied requirements and specifications of operation. The main advantage is light-weighted formal model based on not computational semantics but on particular properties of software system to be analyzed. Such approach eliminates the need in full formal analysis of software system and allows extreme flexibility of applications in two major concerns: high adaptability to changeable environment and easy reengineering and component reuse. The language and formal semantics of the system are defined. A new semantic model, called term system with action, is proposed for TermWare. A case study with some representative examples in source code analysis and software development with TermWare framework is presented.

References

[1]
Dershowitz N., Jouannaud J.-P. Rewrite Systems. In J. van Leeuwen (ed.) Handbook of Theoretical Computer Science, volume B of Formal Models and Semantics. Boston: Elsevier and MIT Press, 1990. P. 243-320.
[2]
Refal-5 Programming Guide and Reference Manual. in Holyoke MA: New England Publishing Co., 1989.
[3]
Letichevsky A.A., Kapitonova J.V., Doroshenko A.E., Volkov V.A. Parallel Symbolic Simulation Using the Algebraic Programming System in Algebraic Engineering Proc. Intern. Conf. on Semigroups and Algebraic Engineering. Singapore: World Scientific, 1999.- P.350-360.
[4]
Winkler T. Programming in OBJ and Maude in P. Lauer (ed.) Functional Programming, Concurrency, Simulation and Automated Reasoning. LNCS Vol. 693:229-277., 1993.
[5]
Visser E. Stratego: A language for program transformation based on rewriting strategies. System description of Stratego 0.5 in A. Middeldorp (ed.), Rewriting Techniques and Applications (RTA'01) in LNCS Vol. 2051:357-361., 2001.
[6]
Glushkov V.M., Grinchenko T.A., Dorodnitsyna A.A. ANALITIK-74. on Kibernetika, volume 5, pages. 114-147 (translated from Russian). 1978.
[7]
E. Gamma, R. Helm R. Jonhson, J. Vlissides. Design Patterns: Elements of Reusable Object Oriented Software published by Addison-Wesley, 1995.
[8]
Gelernter D. Carriero N. Coordination Languages and Their Significance. in Communications of the ACM, 35(2), pages 97-107, 1992.
[9]
Ward, M., Bennett, K.H. Formal Methods to Aid the Evolution of Software. in Int. Journal of Software Engineering and Knowledge Engineering, vol. 5(1); pp 25-47. 1995.
[10]
Liang D., Harrold, M.J. Light-Wight Context Recovery for Efficient and Accurate Program Analysis. In Proc. 22-nd Int. Conf. Software Engineering, (June 4-11, 2000, Limerick, Ireland), ACM Press, New York, pages. 366-406., 2000.
[11]
www.agilemanifesto.org The Agile Manifesto.
[12]
Nawrocki J., Jasinski M., Walter B., Wojciechowski A. Extreme programming modified: embrace requirements engineering practices. in Proceedings of the IEEE Joint International Requirements Engineering Conference (RE'02) in Essen, Germany, pp. 303-310, 9-13 September 2002.
[13]
Shevchenko R. JavaChecker: a static analysis of software by means of rewriting techniques. in Problems in Programming, Vol. 4, p. 223-230. 2004. (in Russian).
[14]
JSR-000094 Java (TM) Rule Engine API. http://www.jcp.org/aboutJava/communityprocess/review/jsr094/
[15]
http://herzberg.ca.sandia.gov/ Jess - the expert system shell for the Java Platform.
[16]
Van den Brand M. G. J., De Jong H., Klint P., Olivier P. Efficient annotated terms. in Software, Practice & Experience. Vol. 30(3) 259-291, 2000.
[17]
Shevchenko, R., Doroshenko, A. Techniques to Increasing Performance of CORBA Parallel Distributed Applications. in PACT-2001, Proc. 6-th Int. Conf. on Parallel Computing Technologies. Lect. Notes Comput. Sci., vol. 2127, pages 319-328., 2001.
[18]
Shevchenko R., Doroshenko A. Managing Business Logic with Symbolic Computation In M. Godlevsky, S. Liddle, H. Mayr, editors. Information Systems Technology and Applications Proc.2-nd Int. Conf. ISTA'2003, volume 30 of Lecture Notes in Informatics, pages 143-152, 2003.
[19]
http://www.drools.org drools: Drools rule engine.
[20]
Kiernan G., De Maindreville C., Simon E. Making deductive database a practical technology: a step forward. in INRIA Technical report volume 1153, 1990.
[21]
Brant D.A., Grose T., Lofaso B., Miranker D.P. Effects of Database Size on Rule System Performance: Five Case Studies in Proceedings of the 17th International Conference on Very Large Data Bases (VLDB), 1991.

Cited By

View all
  • (2023)Formal Techniques for Development and Auto-tuning of Parallel ProgramsSN Computer Science10.1007/s42979-022-01559-24:2Online publication date: 13-Jan-2023
  • (2015)Software Tools for Automation of Parallel Programming on the Basis of Algebra of AlgorithmsCybernetics and Systems Analysis10.1007/s10559-015-9706-051:1(142-149)Online publication date: 1-Jan-2015
  • (2009)Using Ontologies and Algebra of Algorithms for Formalized Development of Parallel ProgramsFundamenta Informaticae10.5555/2364580.236458993:1-3(111-125)Online publication date: 1-Jan-2009
  • Show More Cited By
  1. A Rewriting Framework for Rule-Based Programming Dynamic Applications

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Fundamenta Informaticae
    Fundamenta Informaticae  Volume 72, Issue 1-3
    SPECIAL ISSUE ON CONCURRENCY SPECIFICATION AND PROGRAMMING (CS&P 2005) Ruciane-Nide, Poland, 28-30 September 2005
    January 2006
    418 pages

    Publisher

    IOS Press

    Netherlands

    Publication History

    Published: 01 January 2006

    Author Tags

    1. rule-based programming
    2. software system analysis
    3. term rewriting

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 20 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Formal Techniques for Development and Auto-tuning of Parallel ProgramsSN Computer Science10.1007/s42979-022-01559-24:2Online publication date: 13-Jan-2023
    • (2015)Software Tools for Automation of Parallel Programming on the Basis of Algebra of AlgorithmsCybernetics and Systems Analysis10.1007/s10559-015-9706-051:1(142-149)Online publication date: 1-Jan-2015
    • (2009)Using Ontologies and Algebra of Algorithms for Formalized Development of Parallel ProgramsFundamenta Informaticae10.5555/2364580.236458993:1-3(111-125)Online publication date: 1-Jan-2009
    • (2009)Using Ontologies and Algebra of Algorithms for Formalized Development of Parallel ProgramsFundamenta Informaticae10.5555/1576070.157607993:1-3(111-125)Online publication date: 1-Jan-2009

    View Options

    View options

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media