tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select...

25
Using Select Solution for MDA Technical Overview Version: 1.0

Transcript of tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select...

Page 1: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

Version: 1.0

Page 2: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 1

Disclaimer and Trademarks © Select Business Solutions, Inc. 2004. All Rights Reserved.

Information in this document is subject to change without notice and does not represent a commitment on the part of Select Business Solutions, Inc. to provide or continue providing said functionality. This document may not, in whole or part, be copied, photocopied, reproduced, translated or reduced to any electronic medium or machine-readable form without prior written consent of Select Business Solutions, Inc. Company names, data and other information appearing in examples are fictitious in nature unless otherwise designated.

The software described in this document is furnished under license or non-disclosure agreement and may be used or copied only in accordance with the terms and conditions of that agreement. It is against the law to copy the software on any medium except as specifically allowed in the license or non-disclosure agreement.

Select Enterprise is a Registered Trademark of Select Business Solutions, Inc., and Select Component Factory, Select Component Architect, Select Component Manager, Select Component Portal, Select Solution for MDA, Select JSync, Select CSync, Select C#Sync, Select ForteSync, Select VBSync, Select DBSync, Select XMLSync, Select ORSync, Select Document Generator, Select Object Animator, Reviewer for Select Component Architect, Reviewer for Select Enterprise, Reviewer for Rose, Select Process Director, Select Process Director Plus, Select UDDIServer, Select Application Composer, Select Scope Manager, Select Perspective, Select SE, Select SSADM, Select Yourdon are all Trademarks of Select Business Solutions, Inc.

Because of the nature of the material, numerous hardware and software products are mentioned by their trade names in the publication. In most, if not all, cases these designations are claimed as trademarks by their respective companies. It is not the publisher's intent to use any of these names generically, and the reader is cautioned to investigate all claimed trademark rights before using any of these names other than to refer to the product described.

For more information about Select Business Solutions Inc., or to download an electronic copy of this document please visit the Select Website: http://www.selectbs.com/

UML™, Unified Modeling Language™, OMG™, Object Management Group™, MDA™, Model Driven Architecture™ are all Trademarks of the Object Management Group.

Page 3: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 2

Table of Contents

Using this document ........................................................................................3 What is Model Driven Architecture (MDA)?......................................................4

Computation-Independent Model (CIM)............................................................................... 4 Platform Independent Model (PIM) ...................................................................................... 4 Platform Specific Model (PSM) ............................................................................................ 4 Source Code......................................................................................................................... 4 Transformation ..................................................................................................................... 4

The MDA process ............................................................................................5 The MDA process used iteratively....................................................................6 Using Select Solution for MDA.........................................................................7

Getting Started ..................................................................................................................... 7 Creating Templates .............................................................................................................. 8

MDA Tool Window .........................................................................................10 Available mappings and templates..................................................................................... 10

Component Architect MDA Properties ...........................................................12 MDA Tab ............................................................................................................................ 12 The MDA Code tab............................................................................................................. 13

MDA Transformations ....................................................................................14 Transforming a PIM to a PSM ............................................................................................ 14

Synchronization .............................................................................................17 Synchronizing CIM and PIM............................................................................................... 17 Synchronizing PIM and PSM.............................................................................................. 17 Synchronizing PSM and code ............................................................................................ 17

MDA Template Editor.....................................................................................19 Templates........................................................................................................................... 19 Template Properties ........................................................................................................... 20 Template Actions................................................................................................................ 21

Select Solution for MDA best practices ..........................................................23 PIM names and datatypes.................................................................................................. 23 PIM names ......................................................................................................................... 23 Model specific..................................................................................................................... 23 Once the skeleton PIM is complete work in the PSM......................................................... 23 Reuse technical architecture through external items ......................................................... 23 Results tab.......................................................................................................................... 23

Summary .......................................................................................................24

Page 4: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 3

Using this document The document contains the following sections.

What is Model Driven Architecture™ – a description of the principles and concepts of MDA.

The MDA Process – describes an overview of the process for using MDA.

The MDA Process used iteratively – describes how the Select Solution for MDA supports an iterative process.

Using Select Solution for MDA – an introduction to the Select tools and a simple example of how to use them.

Select Solution for MDA tool set – a more detailed look at the tool set provided:

• MDA Tool Window;

• MDA Property Tabs;

• MDA Model Transform;

• MDA Model Synchronizer and Code Synchronizer; and

• MDA Template Editor.

Select Solution for MDA Best Practice – Tips and Tricks for getting the most out of Select Solution for MDA.

The document assumes knowledge of the Unified Modeling Language (UML).

Page 5: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 4

What is Model Driven Architecture (MDA)? MDA is an approach defined by the Object Management Group (OMG) for separating system specification from system implementation. It also suggests approaches for transforming system specification into system implementation. See http://www.omg.org/mda for more information about the OMG specification for MDA.

The advantages of using an MDA approach to software development are:

• Models are less confusing as platform specific implementation can be left till later and generated automatically.

• No need to ensure that models meet all the platform specific naming and datatype rules. This saves time during design.

• Many of the code bodies can be generated for operations, saving time in coding. • Platform specific architectural patterns can be created that implement best practice, ensuring

consistent and high quality deliverables. • It insulates the design from changes in platforms and porting systems to new platforms.

MDA defines three types of Model, these are:

• Computation Independent;

• Platform Independent; and

• Platform Specific.

And of course the actual code.

Computation-Independent Model (CIM) The CIM is the model view point that holds the analysis of the project in business and financial terms for stakeholders, specifically its sponsor and user representatives.

Business Process Modeling is heavily used in the CIM to examine how the business operates. Analysis of volumetric and other metrics will highlight which parts of the business should be automated using a computer system to provide the greatest return on investment (ROI).

Platform Independent Model (PIM) The PIM is the model view point that holds the abstraction and specification of the computer system independent of the platform specific detail on which it will be implemented.

Use cases, class, and interaction diagrams are often found in the PIM are usually defined in the PIM.

PIM models will typically have most of the attributes and associations added but much fewer operations than the PSM.

Platform Specific Model (PSM) The PSM is a UML representation of the code. Extra classes, operations and attributes may be generated by the MDA transforms. Once designers can see the PSM they often notice extra things which need to be added and apply extra templates in the PSM.

Source Code The code base will typically be generated from the PSM and maintained within an Integrated Development Environment.

Transformation A transformation is the means of converting items in one model to items in another model. A Mapping may be applied to model items prior to conversion, where a Mapping specifies how an item will be converted from one mode to another. Mappings are usually applied between PIM and PSM where a platform choice affects the transformation.

Page 6: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 5

The MDA process This is an overview of an MDA process. For detailed and complete process information see the Select Perspective process alignment to MDA, and the “Select Business Solutions - Supporting the OMG's MDA” White Paper.

Create the CIM (optional) Create a CIM which explores the requirements, (non-functional and business rules), business processes andfinancial opportunities in automation.

Create the PIM Add use cases, class models, sequence diagrams etc. usingmodel independent concepts, (still maintaining traceabilityback to your requirements and to the business).

Mark the PIM with MDA mappings Add MDA mappings to model items using platformindependent concepts (e.g. mark a class as a distributedobject rather than add EJB artifacts).

Create PSM The MDA mappings will have transformedyour PIM into a PSM and created extraclass information.

For Example datatypes will have beenconverted into their platform specificequivalents and the model item namesconverted to names that are valid for theplatform and consistent with the language’s naming conventions.

You may now want to add extra platformspecific elements to your model and/or runadditional templates to further define thePSM model.

Create other PSMs In the future, as technologies change and evolve you may need to create other PSMs from your PIM.

These will then use the updated mappings and flesh out your PSM in accordance with the new rules.

For Example Select Solution for MDA has been used to aid migration from VB6 to VB.Net in a more rigorous and automated way.

MDA transform utility

Select Solution for MDA tool

MDA transform MDA transform

Page 7: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 6

The MDA process used iteratively The Select Solution for MDA solution is unique in that it lets you bi-directionally synchronize artifacts between models and code, and model to model, supporting truly parallel and incremental modeling and development.

If during coding developers discover extra classes which are required then these may need to be synchronized back to the PIM (via the PSM) so that future ports to other platforms can benefit from the experience.

Code synchronization is true markerless synchronization, rather than class-level round-trip engineering.

CIM

PIM

PSM

code

New and updated businessprocess models are synchronizeddown to the PIM for use caseanalysis.

Design continues in the PIM andadditional mappings are added.

New model items are added to thePSM and new mappings appliedto existing items.

Code synchronizers creates newclasses in your code projects.Inserts operations and attributesinto classes that already exist.

Development now continues inthe language’s IDE.

Use cases synchronized up to the CIM to be checked against the business process model.

New model elements which were not created as a result of an MDA transform can be synchronized back to the PIM for use on other platforms.

Templates which were run on the PSM with an MDA mapping can be added to the PIM for future PSMs.

Code artifacts are reversed into the PSM helping to ensure complete consistency across all the models and code.

Page 8: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 7

Using Select Solution for MDA Select Solution for MDA is a ground breaking modeling and transformation tool designed to generate, reverse engineer and synchronize all your model viewpoints and your code, based upon UML designs within Select Component Architect.

Getting Started Let’s take a simple example to illustrate the process of creating a Platform Independent model and transforming this into a Platform Specific model.

The example takes a Platform Independent class model, which is ready to be ‘marked’ to enable a platform transformation. In this example the defined classes are marked to indicate that they will be transformed to a ‘Well Formed Object’ i.e. they will be correctly defined for a given platform. We could also mark the attributes to indicate for example that they have the requisite properties (gets and sets) for a chosen platform.

The MDA tool is invoked in context of the items that are selected; the MDA Tool Window then shows the available mappings for the selected items.

Marked items are identified as below, indicating that when this item is transformed a platform specific mapping will be applied.

Page 9: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 8

To transform the model the Transformation Wizard is invoked; this enables a choice of platforms for the transformation. Note – multiple target platforms may be chosen for different parts of the model.

In the example the entire model will be transformed to a Microsoft C# platform, the resultant transformation can be seen below.

Note the additional attributes and operations that have been created, the icon indicate that these are platform specific. C# methods bodies will also have been created for the operations.

After further refinement of the model – the C# synchronizer can be invoked to create the class bodies and methods within the Visual Studio project.

Creating Templates Select Solution for MDA provides out of the box mapping templates support for Java and Microsoft platforms. Templates can also be created or customized using the Template Editor as below.

Page 10: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 9

The following sections take a more in-depth look at the Select Solution for MDA tools.

Page 11: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 10

MDA Tool Window The MDA tool is used to apply mappings to your models. To apply a mapping, first choose a model item as context.

To start Select Solution for MDA, select the Select Solution for MDA button on the toolbar, as below.

A tool window will then be opened in Select Component Architect in the context of the item(s) that have been selected.

The contents of this window will depend on the type of item or items that you have currently selected in Select Component Architect and the type of model that is open.

Available mappings and templates Mappings Represented by the symbol. These are available from the PIM or CIM. These mark the PIM items as requiring a transform when a PSM is created from the PIM, but do not change the PIM model. The transformation required will be indicated by the mapping selected.

Templates Represented by the symbol. These change the model in some way and this happens straight away.

These are often seen in the PSM for specialist transforms which are platform specific e.g. adding “AFX_MANAGE_STATE(AfxGetStaticModuleState());” to the start of the operation code bodies in MFC OLE controls.

Templates can be used to automate repetitive tasks or to apply standards to the model. E.g. generating your candidate use cases based on selected Elementary Business Processes that you want to automate. Templates reduce the amount of modeling work you have to do.

Templates and mappings Represented by the symbol. Adds a mapping and also runs the template specific to the model item.

This is typically applied to items in the PIM where some changes are made straight to an item e.g. operations added. The item is also marked to indicate the item will be transformed based on the indicated mapping.

Drill-down Drill-down is a toggle button which lets you apply mappings or templates to the children of the selected item. E.g. Selecting drill-down on a package will let you apply mappings and templates to classes, operations and attributes.

Run template

Drill-down

Set language (only available in PSM)

Available templates and mappings

Page 12: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 11

Before applying the template and/or mapping to all children, a dialog is displayed see below, allowing you to choose which children to apply the template or mapping to.

Apply language This option is available in the PSM. It allows you to change the target platform for a package in the PSM.

This is an advanced option and will not perform language naming or reapply mappings. It is used for adding new packages to a PSM which will use a language other than the model’s default language.

Run Template Applies the selected template or mapping to the selected item (or if drill-down is selected, then to the child items).

This can also be achieved by double clicking on the template, or mapping.

Page 13: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 12

Component Architect MDA Properties Two tabs are appended to the standard Select Component Architect item Properties window, the MDA tab and MDA Code tab.

MDA Tab This is shown for packages, classes, attributes, operations and association roles.

Model specific By checking the box to set something as model specific means that it only has meaning within this model. Typically this is set on items which are created as part of a language specific transform.

Items that are model specific are ignored during synchronization and when transforming MDA models.

You can also mark items in the PIM as being model specific if they are conceptual and won’t really exist in the platform specific model.

PIM name The PIM name is the platform independent name describing the item. This is used when determining the PSM name for the item, typically when trying to work out a clean name to reference another item.

Example 1: In MFC a class has the attribute m_strCustName. You should set the PIM name to Customer Name so that the accessors and mutators are GetCustomerName and SetCustomerName, not Getm_strCustName!

Example 2: In Java a class has an association to an IUser interface. We would want operations which implement the association to say getCountOfUsers not getCountOfIUsers, so you would set the PIM name of the interface to User.

This is automatically populated in a PSM when synchronized or transformed from a PIM. For attributes reversed from code you might want to set this yourself.

MDA mappings In the PIM this is the list of MDA mappings that will be applied to the item when creating the PSM. These can be deleted using the delete button.

In the PSM this is the list of MDA mappings that have been applied to the model. These can be reapplied using the reapply button and removed from the item using the delete button.

Page 14: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 13

The MDA Code tab The MDA Code tab is shown for operations.

Code This tab displays the code bodies that will be generated during code synchronization.

Code Language The code language is displayed at the bottom of the page.

Code Editor The code is editable in the tab, but for large code bodies select the “Show code editor” button next to the language name. This will show a resizable/maximizable window allowing you to edit and check the code in more detail.

Code language

Show code editor

Code body for operation

Page 15: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 14

MDA Transformations The MDA Transformation tool is used to transform one model to another, applying platform specific mappings.

To start a transformation, select the MDA model transform button on the toolbar, as below.

A wizard will then be opened in Select Component Architect as below.

Transforming a PIM to a PSM There are two possible transforms from a PIM to a PSM:

• Create a new PSM from the PIM, performing the MDA transforms. • It is possible to convert a PIM to a PSM, performing the mappings on the PIM. This effectively

destroys the PIM information and is almost always a BAD THING TO DO. It is useful if you have a PIM which was created by reversing code into it – in reality this PIM is a PSM and should be converted in place.

During the PIM to PSM transform you will be asked to select the platforms or languages for the UML packages. Typically you will use the same platform for all the packages, although it is sometimes the case that different packages will be implemented using different languages e.g. the presentation layer might be built using Visual Basic .Net and the business and data layers using C#.

Page 16: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 15

Select Language Allows the selection of a platform language such as C# or Java, see below.

Where a package is made up of sub-packages (aggregation) indicated by “<>”, the child packages will inherit the language selected for the parent by default although this can be changed.

Clear Language Deselects the language chosen, defaulting back to an unspecified language.

Language selection

Clear language

Page 17: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 16

Datatype mapping During the transformation you may be asked to resolve PIM specific datatypes. Datatype transforms are part of the language specification, but if a datatype has been used in the PIM where there is not yet a mapping, you will be presented with this dialog.

Ambiguous mappings Sometimes a language will have more than one way of implementing a mapping. If this is the case then you will be prompted to assign the language specific mapping to be used when creating the PSM.

To use this dialog:

• Select the Select Component Architect object (supports multi-select) • Select the appropriate template • Select Assign

To review your choices select “Show All”

Item which has the unknown datatype

Datatype in the PIM

Datatype to use in the PSM

Choose whether to store this datatype in the language specification to prevent being prompted in future transforms

Items with multiple possible mappings.

Show only those that have yet had their mappings resolved

Choice of templates that implement the mapping

Assign the choice of template

Page 18: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 17

Synchronization The MDA Model Synchronizer tool highlights differences between models, for example between a PIM and PSM models. It then enables synchronization of the differences between those models. Synchronization is typically between different MDA models, CIM to PIM and PIM to PSM, although it can be used between any two models.

Synchronization is the key to parallel development. For example, it allows work to progress in design and coding while analysis is still in progress.

To start synchronization, select the MDA Model Synchronizer from the toolbar, as below.

Synchronizing CIM and PIM Allows you to move business process analysis artifacts and use case analysis between the models.

Synchronizing PIM and PSM Synchronization between the PIM and the PSM is a special case.

Mappings added in the PSM or PIM can be applied to the other model.

As models are synchronized from the PIM to the PSM, MDA mappings are run and the datatypes and names are converted.

The synchronizer is datatype mapping aware, so if a currency in the PIM is implemented as a double in the PSM then the synchronization doesn’t show them as different names.

Synchronizing PSM and code There are Select Component Architect code synchronizers for C#, Visual Basic .Net, Forté, Java and C++. These are markerless code synchronizers that show the difference between the PSM and the code. They also allow items to be reversed from code, or inserted into code.

Code bodies created by MDA are also generated into operations.

Synchronize the description from the PSM into the PIM MDA Mapping added in the

PIM that needs applying tothe PSM

Page 19: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 18

The example below shows the Select Microsoft C# Synchronizer. The tool is invoked in the context of the Visual Studio Environment by: Selecting the SCF Browser Plug-in Manager from the Tools menu. Select code Synchronizers and Select Component Manager “plug-ins” are enabled from this dialog.

The screen below shows how model browsing of dictionary and diagram information, differencing and synchronization are closely integrated into the Visual Studio environment. Note that Select Component Manager repository can also can utilized within the environment – this enables reuse and publication of components directly from the project.

Opens a Select model within Visual Studio

Differences the existing code within the project and the model

Left to right arrow indicates that model items are not aligned to code and therefore require synchronizing. Right to left arrow indicate the opposite. Generate – generates code from

the model.

Synchronize is applicable wheredifferences exist in both

Page 20: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 19

MDA Template Editor The creation and customization of templates is performed by using the template editor. Many out of the box templates are already provided for platforms such as Java and Microsoft.

To start the template editor, select the MDA Template Editor from the toolbar, as below.

Templates A specific template may be opened for editing or creation by using the menus. Templates are rendered as HTML for reviewing and printing.

A template consists of Properties and Actions, where the properties describe the template and the actions specify how the template will be executed.

Page 21: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 20

Template Properties

Name The name of the template being edited.

Description The description of the template being edited.

Applies to Select from the drop-down list what type of model items this template applies to. For templates that do not need a selection in a model select the "Always available" option.

Language Select from the drop-down list which language this template applies to.

MDA Mapping Allows you to select what MDA mapping this template fulfills. When an assigned MDA mapping is encountered during conversion from PIM to PSM any template with a matching MDA mapping will be available to be run.

Page 22: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 21

Template Actions

Action List List all available action types, for example a script action enables you to write custom logic to be applied to selected items.

An example editing and “Operation action” is shown below.

Page 23: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 22

Signature Enter the UML signature including any parameters to be created. UML signatures take the form "Name(paramName : paramType = default value) : return type"

Set the Operation as Model Specific Enter the UML signature including any parameters to be created. UML signatures take the form "Name(paramName : paramType = default value) : return type"

“Various Check-boxes” The various check boxes are used to set the properties of added operations these are similar to those found on an operation property page from within Component Architect.

Page 24: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 23

Select Solution for MDA best practices PIM names and datatypes As the MDA transformation to PSM converts names and datatypes you can (and should) be much less rigorous about ensuring that names in the PIM follow language specific naming rules (such as whether spaces are allowed).

Similarly PIM datatypes should more accurately reflect the domain types in the PIM, so datatypes of id, percent and currency make more sense in a PIM than string, int and double.

PIM names When starting off from a PSM (e.g. reversing code from an existing application), try to add PIM names on the MDA tab to improve analysis and have less confusing names when running templates.

Model specific Mark items as model specific in the PSM if they are not part of the business domain to prevent them being offered for synchronization.

Similarly, operations like constructors and destructors are usually PSM specific.

Once the skeleton PIM is complete work in the PSM Due to the power of synchronization there is nothing stopping you from working in the PSM and reversing the classes and mappings back into the PIM for future platforms.

This has the advantage that developers who are very familiar with a language will be able to see exactly what the design will look like without having to understand what exactly the MDA transformations will do for them in advance.

Reuse technical architecture through external items Select Component Architect supports the idea of external items. Read-only copies of classes can be imported from other models which can be used for association/inheritance etc. When the source of these external items is changed the external items can be refreshed to show the changes in the items.

This is preferable to having multiple copies of the same item in different models.

Results tab The results tab (dockable but usually on the bottom left hand side) shows classes and packages which have been added to the dictionary as a result of applying an MDA mapping.

These can be dragged from the results pane onto your class diagram.

Page 25: tp Using Select Solution for MDA a4 - Select Business …€¦ ·  · 2006-01-24Using Select Solution for MDA Technical Overview ... Unified Modeling Language™, OMG™, Object

Using Select Solution for MDA Technical Overview

© Select Business Solutions, Inc. 2004 Page: 24

Summary To find out more about how Select Component Factory and Select Solution for MDA can solve your problems, visit:

http://www.selectbs.com/products/products/select_solution_for_mda.htm

or browse our website:

http://www.selectbs.com/

Or call our Sales teams who will be pleased to help with any questions you may have:

North America Email: [email protected]

Englewood, Colorado Trumbull, CT

Tel: +1.800.717.7761 (US only) Tel: +1.888.472.7347 (US Only)

Benelux Email: [email protected]

Belgium Nederlands

Tel: +32.(0).16.386010 Tel: +31.(0).20.650.8040

France Email: [email protected]

Tel: +33.(0)141.481034

Germany, Austria, Switzerland Email: [email protected]

Tel: +49.(0)721.98653.0

United Kingdom Email: [email protected]

Tel: +44.(0)1452.638800