CPACS is a joint development by a large aircraft and helicopter design and optimization community coming from industry, universities and research institutions. We are happy to supporting you in your contribution to this development by providing some information about the development process.
First of all, any idea or proposal for improvement is very welcome to be sared with the community via the following platforms:
The way in which information is modeled in CPACS files is prescribed by the so-called XML Schema Document (XSD). Thus, developing CPACS means, in a technical sense, to implement our ideas in the corresponding XSD file (
) and to agree on the hierarchical structure of the data, i.e., how elements are named and interlinked, how often they can occur or which data types are to be used. In the multidisciplinary environment in which aeronautical systems are developed today the greatest challenge is to account for the different perspectives of the various disciplines and its varying degrees of fidelity, while maintaining the single source of truth principle:
Data must be explicit and unique!
Therefore, the major part of the development comprises discussions in working groups and the basic design of the data hierarchy. So don't be scared by the technical details of the XML Schema implementation and don't worry if you're not an experienced programmer or tech nerd. Any visualization of ideas, for example in the form of tree diagrams (e.g. with Powerpoint or Excel), are already a very helpful step towards a new CPACS implementation. Nevertheless, if your ideas are already quite precise you may also find further details on the development process in the
of the CPACS source files.
What are the detailed steps within the development process? Well, there is no prescribed sequence here, but in general the development is carried out on the basis of the following steps:
The release process serves to inform all stakeholders and to involve their ideas and requirements in further revisions. For this purpose, two types of preliminary versions are released before the final release. These are:
The following figure illustrates the iterative release process: