| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <title>Main Topic</title> |
| <link rel="StyleSheet" |
| href="../sitestyle.css" |
| type="text/css"> |
| </head> |
| |
| <body> |
| <h1>Qompass developer guide</h1> |
| |
| The objective of this guide is to provide information about the architecture of Qompass designer and enable developers to |
| contribute to its development, i.e. it is not intend for people that want to develop applications with Qompass designer. |
| This guide is currently quite incomplete and should give a rough overview of the Qompass plug-ins. |
| |
| In general, there is a separation between the generic transformation mechanisms and the model libraries defining |
| interaction components and container extensions. It is quite likely that a contribution only focusses on one of these two, |
| for instance on a model library for a dedicated interaction mechanism. |
| |
| The transformation mechanisms consists of the following plug.ins: |
| <ul> |
| <li>org.eclipse.papyrus.designer.components.transformation.feature This plugin contains the definition of the Qompass feature |
| <p> |
| <li><a href="org.eclipse.papyrus.designer.components.transformation.core.html">org.eclipse.papyrus.designer.components.transformation.core:</a> The main Qompass plugin |
| <li>org.eclipse.papyrus.designer.components.validation: A set of validation rules that check the well-formedness of models, |
| for instance, whether a connection betwee ports if syntactically valid. |
| The validation plug-ins defines a set of EMF validation rules in form of Java code. |
| |
| <li>org.eclipse.papyrus.designer.components.transformation.cpp: A plugin with support for C++, in particular (1) for the creation |
| and configuration of Eclipse CDT projects and (2) the interaction with the C++ code generator. |
| <li>org.eclipse.papyrus.designer.components.fcm.profile: A plugin container the Flex-eware component model in form of a static profile |
| <li>org.eclipse.papyrus.codegen.cpp: C++ code generator and simple C++ view |
| |
| </ul> |
| |
| <p> |
| In addition to the generation plugins, Qompass contains a set of model libraries that are |
| dedicated for a specific domain and/or interaction mechanisms. |
| |
| <ul> |
| <li>org.eclipse.papyrus.designer.components.transformation.modellibs.core: A set of basic interaction mechanisms and container rules as well |
| as port kinds along with the calculation of provided and required interface from the port type |
| and kind ("mapping rules"). |
| <li>org.eclipse.papyrus.designer.components.transformation.modellibs.marte: A modeling library for MARTE, contains a set of FCM port kinds |
| suitable for MARTE (client/server and flow ports) and model elements for RtUnit and PpUnit. |
| A model listener performs automatic synchronization between MARTE and FCM stereotypes, e.g. |
| will automatically initialize the FCM port kind attribute with the kind that corresponds to |
| the MARTE stereotype and apply container rules associated with Rtunit and Ppunit. |
| <li>org.eclipse.papyrus.designer.components.transformation.modellibs.distribution: Distribution support via sockets |
| <li>org.eclipse.papyrus.designer.components.transformation.modellibs.tracing: Tracing support (container rule and interceptor) for OTF |
| </ul> |
| |
| </body> |
| </html> |