This article gives an overview of a transformation system called HATS – a freely available platform independent IDE facilitating experimentation in transformation-oriented software development. Examples are discussed highlighting how the transformational abstractions provided by HATS can be used to solve various problems.


Parse Tree Program Transformation Transformation Language Class Loader Transformation Engine 
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.
    Begel, A., Boshernitsan, M., Graham, S.L.: Transformational generation of language plug-ins in the harmonia framework. Technical Report CSD-05-1370, University of California, Berkeley, California (January 2005)Google Scholar
  2. 2.
    Bergstra, J.A.: Algebraic specification. ACM Press, New York (1989)MATHGoogle Scholar
  3. 3.
    Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Ringeissen, C.: An overview of elan. Electr. Notes Theor. Comput. Sci. 15 (1998)Google Scholar
  4. 4.
    Boyle, J.M., Harmer, T.J., Winter, V.L.: The TAMPR Program Transformation System: Simplifying the Development of Numerical Software. In: Arge, E., Bruaset, A.M., Langtangen, H.P. (eds.) Modern Software Tools for Scientific Computing, pp. 353–372. Birkhäuser Boston, Inc., Basel (1997)Google Scholar
  5. 5.
    Boyle, J.M., Muralidharan, M.N.: Program Reusability through Program Transformation. IEEE Transactions on Software Engineering 10(5), 574–588 (1984)Google Scholar
  6. 6.
    Cirstea, H., Kirchner, C.: The rewriting calculus as a semantics of ELAN. In: Hsiang, J., Ohori, A. (eds.) ASIAN 1998. LNCS, vol. 1538, pp. 10–84. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  7. 7.
    Cirstea, H., Kirchner, C.: An introduction to the rewriting calculus. Research Report RR-3818, INRIA (December 1999)Google Scholar
  8. 8.
    de Jonge, M.: A pretty-printer for every occasion (2000)Google Scholar
  9. 9.
  10. 10.
    He, J., Hoare, C.A.R.: Unifying theories of programming. Prentice Hall International Series in Comptuer Science (1998)Google Scholar
  11. 11.
    Kyoda, J., Jifeng, H.: Towards an Algebraic Synthesis of Verilog. Technical Report UNU/IIST Report No. 218, The United Nations University (July 2001)Google Scholar
  12. 12.
    Lämmel, R., Visser, E., Visser, J.: The Essence of Strategic Programming. p. 18, Draft (October 15, 2002), Available at:
  13. 13.
    Lämmel, R., Visser, J.: A Strafunski Application Letter. In: Dahl, V., Wadler, P. (eds.) PADL 2003. LNCS, vol. 2562, pp. 357–375. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  14. 14.
    Lämmel, R., Visser, J., Kort, J.: Dealing with Large Bananas. In: Jeuring, J. (ed.) Proceedings of WGP 2000, Technical Report, Universiteit Utrecht, pp. 46–59 (July 2000)Google Scholar
  15. 15.
    Bravenboer, K.O.M., van Dam, A., Visser, E.: Program transformation with scoped dynamic rewrite rules. Technical Report UU-CS-2005-005, Institute of Information and Computing Sciences, Utrecht University (2005)Google Scholar
  16. 16.
    McPeak, S.: Elkhound: A fast, practial glr parser generator. Technical Report UCB/CSD-2-1214, University of California, Berkeley, California (December 2002)Google Scholar
  17. 17.
    van den Brand, M., Sellink, M., Verhoef, C.: Current parsing techniques in software renovation considered harmful. In: Proceedings of the 6th International Workshop on Program Comprehension, IWPC 1998, Ischia, Italy, pp. 108–117 (1998)Google Scholar
  18. 18.
    van den Brand, M.G.J., Klint, P., Vinju, J.J.: Term rewriting with traversal functions. ACM Trans. Softw. Eng. Methodol. 12(2), 152–190 (2003)CrossRefGoogle Scholar
  19. 19.
    van den Brand, M.G.J., Scheerder, J., Vinju, J., Visser, E.: Disambiguation filters for scannerless generalized LR parsers. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 143–158. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  20. 20.
    Visser, E.: Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam (1997)Google Scholar
  21. 21.
    Visser, E., el Abidine Benaissa, Z., Tolmach, A.: Building program optimizers with rewriting strategies. In: ICFP 1998: Proc. of the third ACM SIGPLAN international conference on Functional programming, pp. 13–26. ACM Press, New York (1998)CrossRefGoogle Scholar
  22. 22.
    Wickstrom, G.L., Davis, J., Morrison, S.E., Roach, S., Winter, V.L.: The SSP: An example of high-assurance system engineering. In: HASE 2004: The 8th IEEE International Symposium on High Assurance Systems Engineering (2004)Google Scholar
  23. 23.
    Winter, V.: Strategy Construction in the Higher-Order Framework of TL. Electronic Notes in Theoretical Computer Science (ENTCS) 124 (2004)Google Scholar
  24. 24.
    Winter, V., Subramaniam, M.: Dynamic Strategies, Transient Strategies, and the Distributed Data Problem. Science of Computer Programming (Special Issue on Program Transformation) 52, 165–212 (2004)MATHMathSciNetGoogle Scholar
  25. 25.
    Winter, V.L.: An overview of hats: a language independent high assurance transformation system. In: Proc. of IEEE Symposium on Application-Specific Systems and Software Engineering and Technology (ASSET), pp. 222–229 (March 1999)Google Scholar
  26. 26.
    Winter, V.L., Beranek, J., Mametjanov, A., Fraij, F., Roach, S., Wickstrom, G.: A Transformational Overview of the Core Functionality of an Abstract Class Loader for the SSP. In: Tenth IEEE International Workshop on Object-oriented Real-time Dependable Systems (WORDS 2005) (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Victor Winter
    • 1
  • Jason Beranek
    • 1
  1. 1.Department of Computer ScienceUniversity of Nebraska at Omaha 

Personalised recommendations