Information Technology Reference
In-Depth Information
The design modeller then transforms the logical design to a detailed by further
refinement rules and patterns, such as class decomposition, refactoring, data
encapsulation and synchronization on access to persistent data, and selection of
middlewares to replace the object-oriented interfaces in the logical design.
Just as the Analysis Modeler, the Design Modeler may also iterate over the
design model, refining it into a new version. Upon completing the work on the
design model, the Design Modeler is responsible for verifying its consistency, and
validating it with respect to the analysis model.
To have formal support from rCOS, MasterCraft should be extended with
model transformations that automate the design patterns and other refinement
and refactoring rules. Application of refinement rules and design patterns are
often constrained by conditions on the models before and after the transforma-
tion. Tools for checking these conditions on the models should be integrated into
the MasterCraft environment, too. In the current version, MasterCraft has au-
tomated transformations to generate code for database queries and for synchro-
nization control on access to shared data. We are now working on QVT imple-
mentations of the expert pattern, data encapsulation and transformation of an
object-oriented model to a component-based model.
Support in Construction Tasks. The Construction Manager is the key role
responsible for construction tasks. The Construction Manager starts by export-
ing the design model of a Component into an external representation, and invokes
code generation tools, which generate code templates for all the classes. The code
template of a class contains for each attribute of the class its declaration and ac-
cessor methods. For persistent classes, the code template also contains database
interaction methods for transferring the state of the class between its attributes
and a relational database. Further, the code template contains declarations of
all the operations declared for the class. However, implementations of the oper-
ations defined in the design model are missing. Subsequently, the Construction
Manager assigns coding of these operations (as well as coding of Queries) to
Construction Programmers by defining a User Workspace for each selected Con-
struction Programmer. A Construction Programmer starts work by fetching the
workspace. After coding and unit testing the assigned operations and Queries,
the Construction Programmer builds the workspace. Finally, the Construction
Manager accepts the code by synchronizing the workspace, and eventually dis-
solves the workspace. After receiving code for all the tasks assigned to different
Construction Programmers, the Construction Manager integrates the code to-
gether. After integration testing of the code of the Component, the Construction
Manager releases the compiled binary code of the component into the common
pool, making it available for development of other, dependent components.
Therefore, the current version of MasterCraft generates code templates, and
the sequence diagrams and state diagrams in the final design model are used as
an informal guide to the Construction Programmer to program the bodies of the
class methods.
With the model of detailed design defined in rCOS, we can enhance the Mas-
terCraft code generator to generate method invocations in the body of a class
Search WWH ::




Custom Search