ICALEPCS 2009
THP080
Re Writing TANGO Code Generator Using openArchitectureWare' Technology
P.V.Verdier* (ESRF)
Tango is an object oriented control system toolkit based on CORBA initially developed at the ESRF. It is now also developed and used by Soleil, Elettra, Alba, Desy and some other labs. A Tango code generator has been developed from the beginning of Tango. It is Java tool started in 1999. It was based on very basic parsing techonlogy. During almost 10 years the Tango control system has been subjected to many evolutions and features. This code generator has to follow these code evolutions, but it was more and more difficult to maintain compatibility and new features for 3 languages (C++, Java and Python). The decision has been taken to rewrite this code generator with very new and efficient parsing technologies. After some tests, it appears that openArchitechtureWare is a good candidate to base this new development. openArchitectureWare is a modular generator framework implemented in Java. It supports parsing of arbitrary models, and a language family to check and transform models as well as generate code based on them. This poster will show how the project evolves and the problems to convert about a half thousand classes already generated with the old tool to the new model.