Non-intrusive Formal Methods and Strategic Rewriting for a Chemical Application

  • Oana Andrei
  • Liliana Ibanescu
  • Hélène Kirchner
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4060)


The concept of formal islands allows adding to existing programming languages, formal features that can be compiled later on into the host language itself, therefore inducing no dependency on the formal language. We illustrate this approach with the TOM system that provides matching, normalization and strategic rewriting, and we give a formal island implementation for the simulation of a chemical reactor.


Molecular Graph Reaction Pattern Reactor Dynamic Abstract Syntax Formal Island 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Elan web site,
  2. 2.
    Marvin: A tool for Molecule Drawing and Visualization,
  3. 3.
    Tom web site,
  4. 4.
    Andrei, O.: Term graph and chemical rewriting. Internship report, LORIA, Protheo Team, Nancy, France (September 2005)Google Scholar
  5. 5.
    Blurock, E.S.: Reaction: System for Modeling Chemical Reactions. Journal of Chemical Information and Computer Science 35, 607–616 (1995)Google Scholar
  6. 6.
    Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Ringeissen, C.: An Overview of ELAN. In: C. Kirchner and H. Kirchner, editors, Proceedings of the Second International Workshop on Rewriting Logic and Applications, volume 15 Pont- à-Mousson (France), Electronic Notes in Theoretical Computer Science. Rapport LORIA 98-R-316 (September 1998),
  7. 7.
    Bournez, O., Côme, G.-M., Conraud, V., Kirchner, H., Ibănescu, L.: A Rule- Based Approach for Automated Generation of Kinetic Chemical Mechanisms. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 30–34. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  8. 8.
    Bournez, O., Ibanescu, L., Kirchner, H.: From Chemical Rules to Term Rewriting. In: 6th International Workshop on Rule-Based Programming, Nara, Japan, April 2005. To appear in ENTCS series (2005)Google Scholar
  9. 9.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.F.: Maude: Specification and Programming in Rewriting Logic. Theoretical Computer Science 285, 187–243 (2002)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Côme, G.-M.: Gas-Phase Thermal Reactions. In: Chemical Engineering Kinetics, Kluwer Academic Publishers, Dordrecht (2001)Google Scholar
  11. 11.
    Diaconescu, R., Futatsugi, K.: An overview of CafeOBJ. In: Kirchner, C., Kirchner, H. (eds.) Electronic Notes in Theoretical Computer Science, vol. 15, Elsevier, Amsterdam (2000)Google Scholar
  12. 12.
    Dugundji, J., Ugi, I.: An Algebraic Model of Constitutional Chemistry as a Basis for Chemical Computer Programs. Topics in Current Chemistry 39, 19–64 (1973)Google Scholar
  13. 13.
    Faeder, J.R., Blinov, M.L., Hlavacek, W.S.: Graphical rule-based representation of signal-transduction networks. In: Haddad, H., Liebrock, L.M., Omicini, A., Wainwright, R.L. (eds.) Proceedings of the 2005 ACM Symposium on Applied Computing (SAC), Santa Fe, New Mexico, USA, March 13-17, pp. 133–140. ACM, New York (2005)CrossRefGoogle Scholar
  14. 14.
    Grenda, J.M., Androulakis, I., Dean, A.M., Green, W.H.: Application of Computational Kinetic Mechanism Generation to Model the Autocatalytic Pyrolysis of Methane. Industrial Engineering Chemistry Research 42, 1000–1010 (2003)CrossRefGoogle Scholar
  15. 15.
    Guyon, J., Moreau, P.-E., Reilles, A.: An integrated development environment for pattern matching programming. In: Barry, B., de Moor, O. (eds.) Proceedings of the 2nd eclipse Technology eXchange workshop, eTX 2004, Barcelona, Spain. Electronic Notes in Theoretical Computer Science (2004)Google Scholar
  16. 16.
    Ibanescu, L.: Programmation par règles et stratégies pour la génération automatique de mécanismes de combustion d’hydrocarbures polycycliques. Thèse de Doctorat d’Université, Institut National Polytechnique de Lorraine, Nancy, France (June 2004)Google Scholar
  17. 17.
    Kirchner, C., Kirchner, H.: Rewriting, solving, proving. A preliminary version of a book (1999), available at
  18. 18.
    Kirchner, C., Kirchner, H.: Rule-based programming and proving: the ELAN experience outcomes. In: Maher, M.J. (ed.) ASIAN 2004. LNCS, vol. 3321, pp. 363–379. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  19. 19.
    Kirchner, C., Moreau, P.-E., Reilles, A.: Formal validation of pattern matching code. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 187–197. Springer, Heidelberg (1999)Google Scholar
  20. 20.
    Kirchner, H., Moreau, P.-E.: Promoting rewriting to a programming language: A compiler for non-deterministic rewrite programs in associative-commutative theories. Journal of Functional Programming 11(2), 207–251 (2001)MATHMathSciNetGoogle Scholar
  21. 21.
    Moreau, P.-E., Ringeissen, C., Vittek, M.: A Pattern Matching Compiler for Multiple Target Languages. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 61–76. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  22. 22.
    Ranzi, E., Faravelli, T., Gaffuri, P., Sogaro, A.: Low-Temperature Combustion: Automatic Generation of Primary Oxidation Reactions and Lumping Procedures. Combustion and Flame 102, 179–192 (1995)CrossRefGoogle Scholar
  23. 23.
    Roselló, F., Valiente, G.: Analysis of metabolic pathways by graph transformation. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 70–82. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  24. 24.
    Tomlin, S., Turányi, T., Pilling, M.J.: Mathematical Tools for the Construction, Investigation and Reduction of Combustion Mechanisms. In: Comprehensive Chemical Kinetics. ch. 4, vol. 35, pp. 293–437. Elsevier, Amsterdam (1997)Google Scholar
  25. 25.
    van den Brand, M., van Deursen, A., Heering, J., de Jong, H.A., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P.A., Scheerder, J., Vinju, J.J., Visser, E., Visser, J.: The ASF+SDF Meta-environment: A Component-Based Language Development Environment. In: Computational Complexity, pp. 365–370 (2001)Google Scholar
  26. 26.
    van den Brand, M.G.J., de Jong, H.A., Olivier, P.: Efficient annotated terms. Technical report, University of Amsterdam (2000) SEN-R0003, ISSN 1386-369XGoogle Scholar
  27. 27.
    Visser, E.: Stratego: A Language for Program Transformation based on Rewriting Strategies. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol. 2051, pp. 357–361. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  28. 28.
    Visser, E., Benaissa, Z.-e.-A., Tolmach, A.: Building program optimizers with rewriting strategies. ACM SIGPLAN Notices 34(1), 13–26 (1999), Proceedings of the International Conference on Functional Programming (ICFP 1998)CrossRefGoogle Scholar
  29. 29.
    Visser, J.: Visitor combination and traversal control. In: ACM Conference on Object- Oriented Programming, Systems, Languages, and Applications - OOPSLA 2001, Tampa Bay, Florida, USA. ACM SIGPLAN Notices, vol. 36(11), pp. 270–282 (2001)Google Scholar
  30. 30.
    Warth, V., Battin-Leclerc, F., Fournet, R., Glaude, P.-A., Côme, G.-M., Scacchi, G.: Computer Based Generation of Reaction Mechanisms for Gas-Phase Oxidation. Computers and Chemistry 24, 541–560 (2000)MATHCrossRefGoogle Scholar
  31. 31.
    Weininger, D., Weininger, A., Weininger, J.L.: SMILES. 2. Algorithm for Generation of Unique SMILES Notation. Journal of Chemical Information and Computer Science 29, 97–101 (1989)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Oana Andrei
    • 1
  • Liliana Ibanescu
    • 2
  • Hélène Kirchner
    • 3
  1. 1.INRIA LORIAFrance
  2. 2.ULP StrasbourgFrance
  3. 3.CNRS – LORIA, Campus scientifiqueVandoeuvre-lès-Nancy CedexFrance

Personalised recommendations