%T Design and Use of CSP Meta\-Model for Embedded Control Software Development %A Maarten M. Bezemer, Robert J.W. Wilterdink, Jan F. Broenink %E Peter H. Welch, Frederick R. M. Barnes, Kevin Chalmers, Jan Bækgaard Pedersen, Adam T. Sampson %B Communicating Process Architectures 2012 %X Software that is used to control machines and robots must be predictable and reliable. Model\-Driven Design (MDD) techniques are used to comply with both the technical and business needs. This paper introduces a CSP meta\-model that is suitable for these MDD techniques. The meta\-model describes the structure of CSP models that are designed; using this meta\-model it is possible to use all regular CSP constructs when constructing a CSP model. The paper also presents a new tool suite, called TERRA, based on Eclipse and its frameworks. TERRA contains a graphical CSP model editor (using the new CSP meta\-model), model validation tools and code generation tools. The model validation tools check whether the model conforms to the meta\-model definition as well as to additional rules. Models without any validation problems result in proper code generation, otherwise the developer needs to address the found problems to be sure code generation will succeed. The code generation tools are able to generate CSPm code that is readable by FDR and to generate C++/LUNA code that is executable on embedded targets. The meta\-model and the TERRA tool suite are tested by designing CSP models for several of our laboratory setups. The generated C++/LUNA code for the laboratory setups is able to control them as expected. Additionally, the paper contains an example model containing all supported CSP constructs to show the CSPm code generation results. So it can be concluded that the meta\-model and TERRA are usable for these kind of tasks.