Popis: |
Satellite operators perform their satellite operations through the use of operations languages, which encapsulate their experience (often referred to as operations knowledge). These languages are dependent on the underlying control system, and in many cases there are multiple variants of any given language for a particular mission or satellite type. Many operators are interested in decoupling this operations knowledge from a particular control system and its corresponding language. There are various reasons for this. Either they wish to migrate from a given control system supporting a given language, to another control system supporting another language. Or a satellite manufacturer may deliver operational (or test) procedures in a language that is supported by the manufacturing test system or EGSE, but which does not support the operator's control system. In either of these cases, a translation of the procedures to another language is required. For these reasons, the problem of translating procedures to either transfer operations knowledge or to migrate to different systems is a relevant and important problem in space industry. Rhea has been studying this problem for a number of years and has developed specific solutions for specific languages. However, the ability to automatically translate between or analyse programs written in different operations languages is the end goal for such a problem. Unfortunately,building such advanced generic program analysis and translation tools, is a non-trivial task for various reasons. This paper highlights some of the issues, problems and pitfalls we have encountered with building such tools and their underlying techniques, and is based on the experience gained in a research project with our academic partner UCL. Many of the difficulties encountered stem from the fact that there exist a large amount of different operations languages, each with their own syntax, style and language constructs. In addition, some of the languages are ill defined, poorly documented, or still under evolution. To illustrate some of these issues we explain the APPAREIL meta-tool we developed for automatically generating program translators and analysers for operations languages |