Download as pdf or txt
Download as pdf or txt
You are on page 1of 619

Trademarks and Legal Notices

Isight and Fiper are products of, and are offered by, Dassault Systèmes Simulia Corp. under license from
Engineous Software, Inc., Cary, North Carolina, USA, a member of the Dassault Systèmes Group. These
products may be used or reproduced only in accordance with the terms of such license.

This documentation is subject to the terms and conditions of either the software license agreement signed
by the parties, or, absent such an agreement, the then current software license agreement to which the
documentation relates.

This documentation and the software described in this documentation are subject to change without prior
notice. No part of this documentation may be reproduced or distributed in any form without prior written
permission of Dassault Systèmes or its subsidiary.

Export and re-export of the Isight and Fiper Software and this documentation is subject to United States
and other export control regulations. Each user is responsible for compliance with applicable export
regulations.

© Dassault Systèmes, 2009

Printed in the United States of America.

Isight, Fiper, the 3DS logo, and SIMULIA are trademarks or registered trademarks of Dassault Systèmes
or its subsidiaries in the United States and/or other countries. Other company, product, and service names
may be trademarks or service marks of their respective owners. For additional information concerning
trademarks, copyrights, and licenses, see the notices at: http://www.simulia.com/products/
products_legal.html.

OPEN SOURCE PROGRAMS: This release of Isight and Fiper uses several open source or free programs
(“OS Programs”). Each such program is distributed with the Isight and Fiper Software in binary form and,
except as permitted by the applicable license, without modification. Each such program is available online
for free downloading and, if required by the applicable OS Program license, the source code will be made
available by Dassault Systèmes or its subsidiary upon request. For a complete list of OS Programs utilized
by Isight and Fiper, as well as licensing documentation for these programs, see http://www.simulia.com/
products/products_legal.html.

Dassault Systèmes or its subsidiaries may have patents or pending patent applications, trademarks,
copyrights, or other intellectual property rights covering the Isight and Fiper Software and/or its
documentation. No license of such patents, trademarks, copyrights, or other intellectual property rights is
provided or implied except as may be expressly provided in a written license agreement from Dassault
Systèmes or its subsidiary.
3

Offices and Representatives


SIMULIA Worldwide Headquarters Rising Sun Mills, 166 Valley Street, Providence, RI 02909–2499, Tel: +1 401 276 4400,
Fax: +1 401 276 4408, simulia.support@3ds.com, http://www.simulia.com
SIMULIA European Headquarters Gaetano Martinolaan 95, P. O. Box 1637, 6201 BP Maastricht, The Netherlands, Tel: +31 43 356 6906,
Fax: +31 43 356 6908, info.europe@simulia.com

Sales, Support, and Services

North America Central, Main office, West Lafayette, IN, Tel: +1 765 497 1373, simulia.central.support@3ds.com
Central, Cincinnati office, West Chester, OH, Tel: +1 513 275 1430, simulia.central.support@3ds.com
Central, Minneapolis/St. Paul office, Woodbury, MN, Tel: +1 612 424 9044, simulia.central.support@3ds.com
East, Main office, Warwick, RI, Tel: +1 401 739 3637, simulia.east.support@3ds.com
Erie office, Beachwood, OH, Tel: +1 216 378 1070, simulia.erie.info@3ds.com
Great Lakes, Main office, Northville, MI, Tel: +1 248 349 4669, simulia.greatlakes.info@3ds.com
South, Main office, Lewisville, TX, Tel: +1 972 221 6500, simulia.south.info@3ds.com
West, Main office, Fremont, CA, Tel: +1 510 794 5891, simulia.west.support@3ds.com
Argentina Dassault Systèmes Latin America, Buenos Aires, Tel: +54 11 4345 2360, Horacio.Burbridge@3ds.com
Australia Dassault Systèmes Australia Pty. Ltd., Richmond VIC, Tel: +61 3 9421 2900, simulia.au.support@3ds.com
Austria Vienna, Tel: +43 1 929 16 25-0, simulia.at.info@3ds.com
Benelux Huizen, The Netherlands, Tel: +31 35 52 58 424, simulia.benelux.support@3ds.com
Brazil SMARTTECH Mecânica, São Paulo SP, Tel: +55 11 3168 3388, smarttech@smarttech.com.br
SMARTTECH Mecânica, Rio de Janeiro RJ, Tel: + 55 21 3852 2360, smarttech@smarttech.com.br
Czech Republic Synerma s. r. o., Psáry, Prague-West, Tel: +420 603 145 769, abaqus@synerma.cz
France SIMULIA France SAS, Main office, Velizy Villacoublay, Tel: +33 1 61 62 72 72, simulia.fr.support@3ds.com
Toulouse office, Toulouse, Tel: +33 5 61 16 99 47 (phone for sales only), simulia.fr.support@3ds.com
Germany Aachen office, Aachen, Tel: +49 241 474 01 0, simulia.de.info@3ds.com
Munich office, Munich, Tel: +49 89 543 48 77 0, simulia.de.info@3ds.com
Greece 3 Dimensional Data Systems, Athens, Tel: +30 694 3076316, support@3dds.gr
India Abaqus Engineering India Pvt Ltd., Main office, Chennai, Tamil Nadu, Tel: +91 44 43443000, simulia.in.info@3ds.com
Israel ADCOM, Givataim, Tel: +972 3 7325311, shmulik.keidar@adcomsim.co.il
Italy Milano (MI), Tel: +39 02 39211211, simulia.ity.info@3ds.com
Japan Tokyo office, Tokyo, Tel: +81 3 5474 5817, tokyo@simulia.com
Osaka office, Osaka, Tel: +81 6 4803 5020, osaka@simulia.com
Korea Mapo-Gu, Seoul, Tel: +82 2 785 6707/8, simulia.kr.info@3ds.com
Malaysia WorleyParsons Advanced Analysis, Kuala Lumpur, Tel: +603 2039 9405, abaqus.my@worleyparsons.com
New Zealand Matrix Applied Computing Ltd., Auckland, Tel: +64 9 623 1223, support@matrix.co.nz
Poland BudSoft Sp. z o.o., Sw. Marcin, Tel: +48 61 8508 466, budsoft@budsoft.com.pl
Russia, Belarus & Ukraine TESIS Ltd., Moscow, Tel: +7 495 612 44 22, info@tesis.com.ru
Scandinavia Västerås, Sweden, Tel: +46 21 15 08 70, info@simulia.se
Singapore WorleyParsons Advanced Analysis, Singapore, Tel: +65 6735 8444, abaqus.sg@worleyparsons.com
South Africa Finite Element Analysis Services (Pty) Ltd., 7700 Mowbray, Tel: +27 21 448 7608, feas@feas.co.za
Spain Principia Ingenieros Consultores, S.A., Madrid, Tel: +34 91 209 1482, abaqus@principia.es
Taiwan Simutech Solution Corporation, Taipei, R.O.C., Tel: +886 2 2507 9550, ariel@simutech.com.tw
Thailand WorleyParsons Advanced Analysis Group, Bangkok, Tel: +66 2 689 3000, abaqus.th@worleyparsons.com
Turkey A-Ztech Ltd., Istanbul, Tel: +90 216 361 8850, info@a-ztech.com.tr
United Kingdom Dassault Systèmes Simulia Ltd., Main office, Warrington, Tel: +44 1 925 830900, simulia.uk.info@3ds.com
Dassault Systèmes Simulia Ltd., Kent office, Nr. Sevenoaks, Tel: +44 1 732 834930, simulia.uk.info@3ds.com

Sales Only

North America East, Mid-Atlantic office, Forest Hill, MD, Tel: +1 410 420 8587, simulia.east.support@3ds.com
Great Lakes, East Canada office, Toronto, ON, Canada, Tel: + 1 416 466 4009, simulia.greatlakes.info@3ds.com
South, Southeast office, Acworth, GA, Tel: +1 770 795 0960, simulia.south.info@3ds.com
West, Pacific Southwest office, Southern CA and AZ, Tustin, CA, Tel: +1 510 794 5891, Ext. 152, simulia.west.info@3ds.com
West, Rocky Mountains office, Boulder, CO, Tel: +1 510 794 5891, Ext. 151, simulia.west.info@3ds.com
Finland Vantaa, Tel: +358 9 2517 8157, info@simulia.fi
India Abaqus Engineering India Pvt Ltd, Delhi office, New Delhi, Tel: +91 11 65171877, simulia.in.info@3ds.com
Abaqus Engineering India Pvt Ltd, Pune office, Tel: +91 20 30483382, simulia.in.info@3ds.com

China Representative Offices

China Main office, Chaoyang District, Beijing, P. R. China, Tel: + 86 10 65362345, simulia.cn.info@3ds.com
Shanghai office, Shanghai, P. R. China, Tel: + 86 21 5888 0101, simulia.cn.info@3ds.com

Complete contact information is available at http://www.simulia.com/locations/locations.html

Isight Component Guide


4

Isight Component Guide


5

Table of Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
What is Isight?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Conventions Used in This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Mouse Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Keyboard Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Platform Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
SIMULIA Online Support System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Technical Engineering Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Systems Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Anonymous FTP Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Contacting Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Support for Academic Institutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1 Components Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Editing Component Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Setting Component Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Using the Component API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Isight Component Guide


6 Table of Contents

2 Using Process Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Using the DOE Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Opening the Editor and Using the General Tab . . . . . . . . . . . . . . . . . . . . . . . . 43
Using the Factors Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Using the Design Matrix Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Using the Post Processing Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Mapping Options and Attributes to Parameters . . . . . . . . . . . . . . . . . . . . . . . . 53
Editing Attributes for Multiple Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Setting Technique-Specific Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Setting DOE Component Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Using the DOE Component API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Using the Loop Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Creating a For Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Creating a For Array Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Creating a For Each Loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Creating a While Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Creating a Do Until Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Understanding Parallel Loop Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Understanding Loop Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Using the Loop Component API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Using the Monte Carlo Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84


Opening the Editor and Using the General Tab . . . . . . . . . . . . . . . . . . . . . . . . 84
Using the Random Variables Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Using the Responses Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Mapping Options and Attributes to Parameters . . . . . . . . . . . . . . . . . . . . . . . . 94
Editing Attributes for Multiple Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Setting Monte Carlo Component Preferences . . . . . . . . . . . . . . . . . . . . . . . . . 101
Using the Monte Carlo Component API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Using the Optimization Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102


Understanding Optimization Feasibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Opening the Editor and Using the General Tab . . . . . . . . . . . . . . . . . . . . . . . . 105
Using the Variables Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Using the Constraints Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

Isight Component Guide


Table of Contents 7

Using the Objectives Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116


Mapping Options and Attributes to Parameters . . . . . . . . . . . . . . . . . . . . . . . . .118
Editing Attributes for Multiple Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
Using Technique Tuning Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
Setting Optimization Component Preferences . . . . . . . . . . . . . . . . . . . . . . . . . .152
Using the Optimization Component API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153

Using the SDI Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153


Opening the Editor and Using the General Tab . . . . . . . . . . . . . . . . . . . . . . . . .154
Using the Design Variables Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
Using the Random Variables Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
Using the Responses Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
Mapping Options and Attributes to Parameters . . . . . . . . . . . . . . . . . . . . . . . . .165
Editing Attributes for Multiple Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . .170

Using the Six Sigma Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172


Opening the Editor and Using the General Tab . . . . . . . . . . . . . . . . . . . . . . . . .173
Using the Random Variables Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
Using the Factors Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
Using the Design Matrix Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
Using the Responses Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
Using the Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
Using the Optimization Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
Mapping Options and Attributes to Parameters . . . . . . . . . . . . . . . . . . . . . . . . .203
Editing Attributes for Multiple Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
Setting Six Sigma Component Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
Using the Six Sigma Component API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210

Using the Taguchi Robust Design Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . .211


Opening the Editor and Using the P-Diagram Tab . . . . . . . . . . . . . . . . . . . . . .211
Setting Factor Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
Defining Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223
Defining Post Processing Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
Mapping Options and Attributes to Parameters . . . . . . . . . . . . . . . . . . . . . . . . .228
Editing Attributes for Multiple Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . .233
Setting Taguchi Robust Design Component Preferences . . . . . . . . . . . . . . . . .234
Using the Taguchi Component API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235

Using the Task Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235

Isight Component Guide


8 Table of Contents

3 Using Activity Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Using the Approximation Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Selecting the Technique and Specifying the Data File . . . . . . . . . . . . . . . . . . . 239
Defining Input and Output Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Setting Technique Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Setting Error Analysis Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Viewing Coefficients Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

Using the Calculator Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255


Creating a Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Using Undeclared Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Using Array Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Understanding Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Using the Calculator Component API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

Using the COM Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261


Using the Data Exchanger Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Overview of the Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Understanding Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Creating a New Data Exchanger Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Editing an Existing Data Exchanger Program . . . . . . . . . . . . . . . . . . . . . . . . . 287
Adding a Read or Write Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Updating a Read or Write Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Editing a Read or Write Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Removing a Read or Write Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Formatting Numbers During a Write Operation. . . . . . . . . . . . . . . . . . . . . . . . 298
Changing the Format of a Section of a Data Source. . . . . . . . . . . . . . . . . . . . . 299
Updating an Existing Section Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Navigating Between Section Formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Editing Java Code Directly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Using the General Text Format Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Using the Name Value Format Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Using the Table Format Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Using the Vector Format Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Searching a Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Creating Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

Isight Component Guide


Table of Contents 9

Using Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318


Using Advanced Action Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
Filtering Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .322
Deleting a Data Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
Setting Data Exchanger Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324
Using the Database Exchanger Component API . . . . . . . . . . . . . . . . . . . . . . . .324

Using the Database Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326


Understanding Database Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327
Understanding Limitations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330
Connecting to a Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331
Viewing Data and Mapping Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .334
Modifying Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .341

Using the Excel Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343


Starting the Editor and Selecting a Workbook. . . . . . . . . . . . . . . . . . . . . . . . . .344
Mapping Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346
Using Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357
Setting Station Execution Permissions (Fiper Environment Only) . . . . . . . . . .360
Setting Excel Component Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
Using the Excel Component API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365

Using the Fast Parser Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366


Choosing a File Parsing Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367
Accessing Fast Parser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .368
Using the Fast Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370

Using the iSIGHT Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378


Understanding Component Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378
Setting the Component Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379
Setting File Parameter Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .384
Changing the Isight Default Execution Directory . . . . . . . . . . . . . . . . . . . . . . .391
Using the iSIGHT File Parser Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392
Overview of the Component Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393
Understanding Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .394
Opening the Editor and Determining Usage . . . . . . . . . . . . . . . . . . . . . . . . . . .395
Importing an Existing Parse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396
Using the Component Editor to Create a Parse . . . . . . . . . . . . . . . . . . . . . . . . .406

Isight Component Guide


10 Table of Contents

Updating an Imported Parse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406


Building a Simcode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407

Using the Mail Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408


Configuring the Mail Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Using the Mail Component API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411

Using the MATLAB Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412


Setting up the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Starting the Editor and Adding Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Defining Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Defining Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Setting MATLAB Component Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Using the OS Command Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Configuring the OS Command Component . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Setting Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Setting Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Setting Required Files Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Setting Grid Adapter Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Understanding Grid Adapter Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Setting OS Command Component Preferences . . . . . . . . . . . . . . . . . . . . . . . . 448
Using the OS Command API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453

Using the Pause Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455


Starting the Component and Specifying an Action . . . . . . . . . . . . . . . . . . . . . 456
Using the Pause only Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Using the Ask a question Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Using the Display parameters Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Using the Automatic Resume and Execution Location Options . . . . . . . . . . . 462
Known Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Using the Reference Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Understanding Component Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Accessing the Component and Selecting the Reference Type . . . . . . . . . . . . . 466
Referencing a Submodel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Referencing a Model in the Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Referencing a Remote Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Resynchronizing a Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

Isight Component Guide


Table of Contents 11

Using the Script Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .477


Using the Script Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .478
Using Dynamic Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .481
Parameter Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .482
Job Log and Local Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .483
Script Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .483
Resizable Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .484
Understanding Limitations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .485
Using the Simcode Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .485
Understanding the Differences Between the Simcode Component and Separate
Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .486
Configuring the Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .487
Additional Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .494
Setting Simcode Component Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . .495

Using the Word Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .496


Setting Up the Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .497
Setting Station Execution Permissions (Fiper Environment Only) . . . . . . . . . .500
Setting Word Component Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .504

A Component Reference Information . . . . . . . . . . . . . . . . . . . . . . . . 507


DOE Reference Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .508
Parameter Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .508
Full-Factorial Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .509
Orthogonal Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .509
Latin Hypercube. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .510
Optimal Latin Hypercube. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .511
Central Composite Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .513
Data File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .515

Monte Carlo Reference Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .515


Simple Random Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .516
Descriptive Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .516
Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .518
Understanding Distribution Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .519

SDI Reference Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .533


Distance to Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .533

Isight Component Guide


12 Table of Contents

Six Sigma Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534


Robustness and Six Sigma Quality Defined . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Sampling Techniques: Methods for Variability Estimation . . . . . . . . . . . . . . . 538
Formulating a Six Sigma Based Robust Design Optimization Problem . . . . . 546
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Taguchi Robust Design Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Taguchi Dynamic Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Taguchi Dynamic-Standardized Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
References - Robust Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574

Optimization Reference Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575


Adaptive Simulated Annealing Reference Information . . . . . . . . . . . . . . . . . . 575
Downhill Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Modified Method of Feasible Directions - ADS Reference Information . . . . . 578
Generalized Reduced Gradient - LSGRG2. . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
Hooke-Jeeves Direct Search Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
MOST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Multi-Island Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Sequential Quadratic Programming - NLPQL . . . . . . . . . . . . . . . . . . . . . . . . . 583
Pointer Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
NSGA-II Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
NCGA Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Stress Ratio Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597

Approximations Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598


RBF Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
Response Surface Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611

Isight Component Guide


13

Preface

This book is your guide to using Engineous-supplied process and activity components.

What is Isight?
Isight provides a suite of visual and flexible tools to set up and manage computer
software required to execute simulation-based design processes, including commercial
CAD/CAE software, internally developed programs, and Excel spreadsheets. The open
API supports the development of custom interfaces to link additional in-house and
commercial applications by partners and customers.

The rapid integration of these applications and Isight’s ability to automate their
execution greatly accelerates the evaluation of product design alternatives.

Using advanced techniques such as optimization, DFSS (Design for Six Sigma),
approximations, and DOE, engineers are able to thoroughly explore the design space.
Advanced, interactive post processing tools allow engineers to see the design space
from multiple points of view. Design trade-offs and the relationships between
parameters and results are easily understood and assessed, leading to the best possible
design decisions.

The process integration and design optimization capabilities in Isight enable design
organizations to reduce design cycle time and manufacturing cost, and significantly
improve product performance, quality, and reliability.

When used in conjunction with Fiper, an internet-based distributed framework is


created, which supports collaboration among geographically distributed engineering
and business partners. In this configuration, Isight acts as the “client” and Fiper acts as
the “server”.

Isight Component Guide


14 Preface

Documentation
The following manuals are available in the Isight and Fiper library:

„ Isight Component Guide


„ Isight Development Guide

„ Isight Getting Started Guide

„ Isight Runtime Gateway Guide

„ Isight User’s Guide

„ Fiper Installation and Configuration Guide - WebSphere and DB2

„ Fiper Installation and Configuration Guide - WebSphere and Oracle

„ Fiper Installation and Configuration Guide - WebLogic and Oracle

„ Fiper Express Installation Guide

„ Fiper Federation (B2B) Guide - WebSphere

„ Fiper WebTop Guide

Conventions Used in This Book


The following sections describe the typographic terminology and other conventions
used in this book.

Isight Component Guide


Conventions Used in This Book 15

Typographical Conventions
This book uses the following typographical conventions:

Convention Explanation
italics Introduces new terms with which you may not be familiar,
and is used occasionally for emphasis.
bold Emphasizes important information. Also indicates button,
menu, and icon names on which you can act. For example,
click Next.
UPPERCASE Indicates the name of a file. For operating environments
that use case-sensitive filenames (such as UNIX), the
correct capitalization is used in information specific to
those environments.
Also indicates keys or key combinations that you can use.
For example, press the ENTER key.
monospace Indicates syntax examples, values that you specify, or
results that you receive.
monospaced Indicates names that are placeholders for values that you
italics specify. For example, filename.
forward slash / Separates menus and their associated commands. For
example, Select File / Copy means that you should select
Copy from the File menu.
The slash also separates directory levels when specifying
locations under UNIX.
vertical rule | Indicates an “OR” separator used to delineate items.
brackets [ ] Indicates optional items. For example, in the following
statement: SELECT [DISTINCT], DISTINCT is an
optional keyword.
Also indicates sections of the Windows Registry.
braces { } Indicates that you must select one item. For example, {yes |
no} means that you must specify either yes or no.
ellipsis . . . Indicates that the immediately preceding item can be
repeated any number of times in succession. An ellipsis
following a closing bracket indicates that all information in
that unit can be repeated.

Isight Component Guide


16 Preface

Mouse Conventions
This action... Means to...
Click Point to an object with the mouse pointer and momentarily
press the left mouse button.
Double-click Press the left mouse button twice.
Right-click Momentarily press the right mouse button.
Drag Press and hold the left mouse button while dragging item(s)
to another part of the screen.
SHIFT+Click Click an object to select it; then, press and hold the SHIFT
key. Click another object to select the intervening series of
objects.
CTRL+Click Press and hold the CTRL key; then, click a selection. This
lets you select or deselect any combination of objects.

Keyboard Conventions
Select menu items by using the mouse or pressing ALT+ the key letter of the menu
name or item.

Platform Information
For complete details on supported platforms, refer to the following website:

http://www.simulia.com/support/sup_systems_info.html

Isight Component Guide


Support 17

Support
Both technical engineering support (for problems with creating a model or performing
an analysis) and systems support (for installation, licensing, and hardware-related
problems) for Isight are offered through a network of local SIMULIA support offices.
Contact information is listed in the front of each manual.

SIMULIA Online Support System


The SIMULIA Online Support System (SOSS) has a knowledge database of SIMULIA
Answers. The SIMULIA Answers are solutions to questions that we have had to
answer or guidelines on how to use Abaqus, Isight, Fiper, SIMULIA SLM, and other
SIMULIA products. You can also submit new requests for support in the SOSS. All
support incidents are tracked in the SOSS. If you are contacting us by means outside
the SOSS to discuss an existing support problem and you know the incident number,
please mention it so that we can consult the database to see what the latest action has
been.

To use the SOSS, you need to register with the system. Visit the My Support page at
www.simulia.com for instructions on how to register.

Many questions can also be answered by visiting the Products page and the Support
page at www.simulia.com. The information available online includes:

„ Link to the SOSS


„ Systems information and computer requirements
„ Performance data
„ Status reports
„ Training seminar schedule
„ INSIGHTS Magazine
„ Technology briefs

Isight Component Guide


18 Preface

Technical Engineering Support


Technical support engineers are available to assist in clarifying product features and
checking errors by giving both general information on using the product and
information on its application to specific analyses. If you have concerns about an
analysis, we suggest that you contact us at an early stage, since it is usually easier to
solve problems at the beginning of a project rather than trying to correct an analysis at
the end.

Please have the following information ready before contacting the technical
engineering support hotline, and include it in any written contacts:

„ The release of Isight that are you using, which can be obtained by accessing the
VERSION file at the top level of your Isight installation directory.

„ The type of computer on which you are running Isight.

„ The symptoms of any problems, including the exact error messages, if any.

„ Any log files associated with the error.

„ Workarounds or tests that you have already tried.

When contacting support about a specific problem, any available product output files
may be helpful in answering questions that the support engineer may ask you.

The support engineer will try to diagnose your problem from the model description and
a description of the difficulties you are having. The more detailed information you
provide, the easier it will be for the support engineer to understand and solve your
problem.

If the support engineer cannot diagnose your problem from this information, you may
be asked to supply a model file. The data can be attached to a support incident in the
SIMULIA Online Support System (SOSS). It can also be sent by means of e-mail,
tape, disk, or ftp. Please check the Support Overview page at www.simulia.com for the
media formats that are currently accepted.

If you are contacting us to discuss an existing problem, please give the receptionist the
support engineer's name if contacting us via telephone or include it at the top of any e-
mail correspondence.

Isight Component Guide


Support for Academic Institutions 19

Systems Support
Systems support engineers can help you resolve issues related to the installation and
running of the product, including licensing difficulties, that are not covered by
technical engineering support.

You should install the product by carefully following the instructions in the installation
guide. If you encounter problems with the installation or licensing, first review the
instructions in the installation guide to ensure that they have been followed correctly. If
this does not resolve the problems, consult the SIMULIA Answers database in the
SIMULIA Online Support System for information about known installation problems.
If this does not address your situation, please create an incident in the SOSS and
describe your problem.

Anonymous FTP Site


To facilitate data transfer with SIMULIA, an anonymous ftp account is available on
the computer ftp.simulia.com. Login as user anonymous, and type your e-mail address
as your password. Contact support before placing files on the site.

Contacting Technical Support


Use the My Support page at www.simulia.com, or obtain local support office contact
information from the Locations page at www.simulia.com.

In addition, contact information for offices and representatives is listed in the front of
this manual.

Support for Academic Institutions


Under the terms of the Academic License Agreement we do not provide support to
users at academic institutions. Academic users can purchase technical support on an
hourly basis. For more information, please see www.simulia.com or contact your local
support office.

Isight Component Guide


20 Preface

Training
SIMULIA offices offer regularly scheduled public training classes, including classes
on Isight. We also provide training seminars at customer sites. All training classes and
seminars include workshops to provide practical experience with our products. For a
schedule and descriptions of available classes, see www.simulia.com or call your local
representative.

Feedback
We welcome any suggestions for improvements to Isight software, the support
program, or documentation. We will ensure that any enhancement requests you make
are considered for future releases. If you wish to make a suggestion about the service
or products, refer to www.simulia.com. Complaints should be addressed by contacting
your local office or through www.simulia.com.

Isight Component Guide


21

1 Components Overview

This chapter provides an introduction to the Engineous-supplied components. It is


divided into the following topics:

„ “Introduction,” on page 22

„ “Editing Component Properties,” on page 25

„ “Setting Component Preferences,” on page 36

„ “Using the Component API,” on page 37

Isight Component Guide


22 Chapter 1 Components Overview

Introduction
Components are an essential part of model construction since they are the building
blocks of a workflow. Numerous components have been developed by Engineous and
are included with Isight. These components are accessed using the Design Gateway,
but each has a different editor and options that can be configured.

All Isight components can be divided into two types: process and activity.

Process components are components that are designed to contain a workflow, which is
executed some number of times depending on the component’s own specific logic,
essentially “driving” the execution of that workflow (thus, they are also sometimes
referred to as drivers or design drivers). This book discusses eight Engineous-supplied
process components: DOE, Loop, Monte Carlo, Optimization, SDI, Six Sigma,
Taguchi Robust Design, and Task.

An activity component is a component designed to perform some end functionality,


sometimes invoking and interacting with an external application that is completely
external and unknown to Isight. Simcode, Excel, and Calculator are examples of
applications that would comprise activity components.

The following list provides a brief overview of the components described in this book.
The components available to you may differ slightly based on your Isight license.

„ DOE. This component is a process component that allows you to use Design of
Experiment (DOE) techniques to intelligently sample the design space to improve
your design.

„ Loop. This component is a process component capable of repeatedly executing


subflows based on various logical conditions (for, for each, while, do until).
„ Monte Carlo. This component is a process component that allows you to use
Monte Carlo simulations to assess the reliability of your design against
randomness.

„ Optimization. This component is a process component that provides access to


numerous optimization techniques to improve your design.

„ SDI. This component is a process component that uses Stochastic Design


Improvement (SDI), which is a Monte Carlo simulation-based iterative procedure,
to improve a design.

Isight Component Guide


Introduction 23

„ Six Sigma. This component is a process component that uses a probabilistic


analysis process to measure the quality of a design given uncertainty or
randomness (stochastic properties) of a product or process.

„ Taguchi RD. This component is a process component that is designed to improve


the quality of a product or process by not only striving to achieve performance
targets, but also by minimizing performance variation.

„ Task. This component is a simple process component that always executes a


subflow once, unlike other process components that may execute a subflow
numerous times. It also allows you to create a Task Plan to execute a sequence of
process components on the subflow. For more information on using the Task Plan,
refer to the Isight User’s Guide.

„ Approximation. This activity component provides a means of creating an analysis


component based on the data generated previously by an external tool and saved in
a data file.

„ Calculator. This activity component allows you to easily define calculations to


compute values of parameters.
„ COM. This activity component provides direct access to execute functions defined
in Microsoft COM objects registered to the Windows operating system.
„ Data Exchanger. This activity component allows you to move data between Isight
parameters and text files easily and efficiently.

„ Database. This activity component allows you to retrieve data from an existing
relational database and use the data inside an Isight model.

„ Excel. This activity component allows you to map parameters and execute macros
using information from an Excel spreadsheet.
„ Fast Parser. This activity component allows an Isight model to use file parsing
programs. This component is mostly to aid in converting models created in
iSIGHT to Isight.

„ iSIGHT. This activity component allows you to execute previously created


iSIGHT description files in your Isight model.

„ iSIGHT File Parser. This activity component allows an Isight model to use file
parsing programs (FDL) created using the iSIGHT Advanced Parser. This feature
is mostly to aid in converting iSIGHT description files into Isight models.

Isight Component Guide


24 Chapter 1 Components Overview

„ Mail. This activity component allows you to send e-mail messages containing
parameter information. This is often used to send status or completion notification
for long-running jobs.

„ MATLAB. This activity component allows you to send data to MATLAB, execute
commands/scripts, and retrieve data from MATLAB.
„ OS Command. This activity component allows you to execute a command to your
operating system, typically to run an executable analysis code.
„ Pause. This activity component provides a mechanism for inserting pre-defined
pauses within a workflow and optionally performing various interactive activities
during the pause.

„ Reference. This activity component allows you to reference internal models and
submodels for use in your current model. It provides a means for collaboration by
referencing models that have been published to a Fiper Library. It is also the
primary means of enabling Federation (Business-to-Business) capabilities in the
Fiper environment, allowing you to select a model that resides at a partner
organization (which has a Fiper ACS) and insert a reference to it within your own
workflow.

„ Script. This activity component allows you to execute Java code in your model. It
is used to perform calculations that are too complex for the Calculator component,
such as those involving loops or conditional statements.

„ Simcode. This activity component is an OS Command component surrounded by


two Data Exchanger components, and is used to modify input files to a simulation
code, run the simulation code, and read values out of the output file(s) from the
simulation code.

„ Word. This activity component allows you to populate Word document files
(*.doc, *.docx) with the values of Isight parameters.

Isight Component Guide


Editing Component Properties 25

Editing Component Properties


Component properties that are general and common for all components, such as
execution timeout, affinities for execution, and icon usage on the Design Gateway, can
be set using the Properties dialog box. Although there are some minor differences
between process and activity component properties, both component types are
described in this section.

To edit the general properties of any component:

1. Select the component whose properties you want to edit; then, click the Properties
button , right-click on the component and select Properties, or select
Properties from the Design Gateway View/Component menu.

The Properties dialog box appears.

This example shows a DOE component’s properties. The properties are the same
for all components of the same type - process or activity. The dialog box is divided
into six tabs: Execution, Affinities, Icon, Description, Component Type, and
Content. If you have enabled the advanced LSF DRM option in the Preferences
editor, then a DRM Settings tab is available. For more information on this option,
refer to the Isight User’s Guide.

Note: Once open, the Properties dialog box can be toggled between different
components by selecting a new component on the Design Gateway Model
Explorer. If you want the component that is currently displayed to always be

Isight Component Guide


26 Chapter 1 Components Overview

displayed no matter what component is selected on the Model Explorer, click the
Lock check box at the bottom of the dialog box. This allows you to view the
properties for multiple components side-by-side if desired.

2. Set the following options on the Execution tab:

„ Delay before execution. This option allows you to set a length of time that the
component will wait before it executes. This is commonly used for
demonstrations in which you want some delay to occur to allow for discussion
as the model is executing.

„ Timeout. Execution of the component will stop when this time limit is
reached. If set to 0, no timeout limit is enforced. Typically, you would only set
this property if you are concerned that this component could encounter
problems during execution that would not allow it to complete and return. If it
is necessary to set this limit, it should be set to a time much greater than the
expected normal time for execution so that the component is not incorrectly
terminated.

„ Keep execution directory. When components execute, a temporary directory


is created to manage the files required for and produced by that execution.
Usually, the directory and files are automatically deleted following execution.
However, you can use this drop-down list to determine if the temporary
directory and files are always retained, never retained, or only retained when a
run (execution) fails. If you have defined a specific directory in which to
execute the component (see Runtime folder option below), that directory will
always be kept regardless of this setting.

„ (Activity components only) Maximum number of retries. This option


controls the number of times Isight attempts to execute a component if it fails.
This is a very useful property for scenarios in which a component requires a
license or other computer resources that might not be available at the current
time, but that might be available upon subsequent attempts.

If the model is being executed in the Fiper environment, Fiper will attempt to
execute the component on a different Fiper Station if one is available.
„ (Process components only) Maximum parallel batch size. This option sets
the maximum number of design points (subflow executions) that a process
component can submit simultaneously if it supports parallel execution. If the
Automatic check box is selected (the recommended setting), Isight will
automatically determine the best number of executions to run in parallel.

Isight Component Guide


Editing Component Properties 27

If you do not select the Automatic check box, you must enter the maximum
number of design points to be run in parallel. The value must be greater than or
equal to one (1).
Note: Regardless of this property value, some process components may run
fewer subflows than the maximum; and some process components may run
only a single subflow at a time. Refer to the process component documentation
for details on parallel execution options.
„ (Process components only) Estimated subflow runs. Process components that
execute their subflow numerous times can (and typically do) provide an
estimate of the number of times they will run that subflow based on the details
of how they are configured. These estimates can be used to track the progress
of the execution toward completion. Typically, this number is quite accurate,
especially for components that are configured to run an explicit number of
design points (subflow runs). However, since the estimates are sometimes just
based on simple rules using the values of configuration options, it is possible
they could be quite far from what you know to be accurate. In those cases, you
can override the estimate provided by the component so that the workflow
progress can be more accurately monitored.

„ Runtime folder (local execution only). Isight creates a separate, temporary


working directory to execute each component by default. In fact, if a single
component in your model is executed multiple times (for example, in a loop or
design driver), each individual execution of that component is executed in its
own temporary working directory. This structure allows for complete and safe
parallel execution of the component so it can be executed multiple times
simultaneously, avoiding file collisions. However, there are times when a
component must run in a specific directory on a computer. In these cases, you
should set this option to that specific location, realizing that doing so most
likely means any attempt to execute this component in parallel will lead to
errors related to file collisions (if files are used or produced by that
component).

„ Allow this component to save parameters to the database. Select this


option to enable the use of the Save to Database option for the parameters of
this component. Disabling (turning off) this option can increase the execution
speed of the model, but it does so by sacrificing the saving of data that can be
used for post-processing or for a future re-execution using the database lookup
feature. For more information about the Save to Database option, refer to the
Isight User’s Guide.

Isight Component Guide


28 Chapter 1 Components Overview

„ (Process components only) Allow subflow runs for this component to save
parameters to the database. Select this option to save the subflow runs of the
selected component’s parameters to the database. Disabling (turning off) this
option can increase the execution speed of the model, but it does so by
sacrificing the saving of data that can be used for post-processing or a future
re-execution using the database lookup feature. For more information about
the Save to Database option, refer to the Isight User’s Guide.

„ (Activity components only) Database Lookup. Isight has the capability, prior
to executing an activity component, to examine all past executions (or only
those within the current job) of this component to find out if this component
has been run with this exact set of input values. If so, the assumption is that the
output values will be identical and can be restored. Isight can restore these
values rather than executing the activity component. For long-running
components, such as many simulation codes, this can save valuable execution
time, since the results are already in the database. Also, for a Fiper ACS,
database lookup will bypass the distribution of the component to the Fiper
Station and reduce the execution overhead in the Fiper ACS workflow, saving
the additional dispatch time in a Fiper ACS environment.

Database lookup is disabled by default to maintain backward compatibility


with previous versions and for cases where database lookup is not feasible to
use (for example, component is designed to produce an external effect, such as
sending an email or generating a Word report).

Database lookup can be set at the model level (in the Model Properties editor)
or the component level. For information about database lookup at the model
level, refer to the Isight User’s Guide.

If the model enables database lookup, all activity components in the model are
enabled for database lookup, unless otherwise disabled by the activity
component’s metamodel (for example, the Mail component). Similarly, if the
model does not allow database lookup, then all activity components in the
model are disabled for database lookup.

If necessary, click the Enable button to specify how the component


participates in database lookup. The Enable button will only be displayed if the
model is not set to allow database lookup. The Confirm Enabling Database
Lookup dialog box appears. Click Yes to use results from the current job and
all previous jobs. Click No to use results from the current job only.

Isight Component Guide


Editing Component Properties 29

Once you have enabled database lookup, you can specify how the component
restores runs:

• Do not restore any runs. The component is always executed. This option
is useful in the case of data being passed to this component which would
affect the input-output relationship.
• Restore only successful runs. This is the default option because it is
assumed that if the run failed it was due to some external or transient cause
that may be corrected when this later execution occurs.
• Restore whether successful or not. There are, however, cases when you
want to restore failed runs. For example, you may want to restore simcodes
(or any other activity components) that fail with certain inputs. This often
occurs when exploring design spaces with exploratory techniques and with
very input-sensitive simcodes. It is not uncommon for these simcodes to
run for a long time before crashing and then crash every time for a given
input set. In this case, it is beneficial to restore failed runs to avoid
needlessly executing the simcode that will fail for this input anyway.
„ (Activity components only) Click the Advanced... button to change the
database lookup Compatibility Version number.

Note: If database lookup is disabled for the model, this button is only available
if you activate the database lookup feature using the Enable button described
above.

The Compatibility Version number is used to indicate some change in the


component configuration that will cause all prior run data to be ineligible for
use by database lookup. The default is 1, and it can simply be incremented to
indicate an incompatible change. However, if you use this option you may find
it helpful to use the change date as the number. Using the date (for example,
20090130) will be easier to understand months later. Additionally, if it
corresponds to the last modified date for any associated executable program, it
will be easier to verify that it is still correct.

The following limitations apply to component database lookup:

• The activity component cannot be a Reference component (for example,


InModel Reference, Library Reference, or a Partner B2B Reference).
• The component metamodel must not disallow database lookup (for
example, Mail).

Isight Component Guide


30 Chapter 1 Components Overview

• If the component is the root component of a submodel (the topmost


component in a local or library reference), the outputs that are required to
be saved are all those that are mapped outputs by the same name of the
Reference component that contains it. Otherwise, it is not eligible for
database lookup because there is an implicit hidden mapping from all the
outputs of these submodel root parameters to the reference that contains
them. Therefore, if the reference must supply the variable value through an
output mapping the submodel root must supply it to the reference.
• The database lookup option on the activity component properties editor
must not be disabled.
• Database lookup imposes the following requirements on parameters saved
to the database:
• All file parameters that are saved to the database must be either
FiperFileMgr or InModel File handler types.
• All non-file parameters in the component must be set to Save to
Database. For more information about saving parameters to the
database, refer to the Isight User’s Guide.
• There must be at least one input parameter set to Save to Database. For
more information about saving parameters to the database, refer to the
Isight User’s Guide.
• All mapped outputs must be set to Save to Database. For more
information about saving parameters to the database, refer to the Isight
User’s Guide.
Note: During the development of a model, a single component may be edited
that causes its input/output relationship to change (for example, updating an
external binary simcode.exe or updating a calculation equation). If this occurs,
simply change the compatibility version number as described above.

„ Click the Prologue/Epilogue... button on the Execution tab.

Isight Component Guide


Editing Component Properties 31

The Prologue/Epilogue editor appears.

Isight allows you to specify commands that are executed prior to (Prologue) or
after (Epilogue) execution.

• Prologue. Click the Prologue tab; then, enter commands in the prologue
area to be executed prior to the execution of this component. The
commands must be expressed using Java syntax. You can enter the
commands after the predefined statements.
• Epilogue. Click the Epilogue tab; then, enter commands in the epilogue
area to be executed after the execution of this component. The commands
must be expressed using Java syntax. You can enter the commands after the
predefined statements.
Note: You may specify both Prologue and Epilogue commands for the same
component.

All Prologue or Epilogue scripts have these features:

• Java “import” statements may be entered in order to gain access to classes


and objects known in the execution environment. Core Java classes and
Fiper API classes are known. Consult with your SIMULIA technical
support representative for more information. Some commonly used
“import” statements are predefined, as shown below.

Isight Component Guide


32 Chapter 1 Components Overview

• Variables must be declared before being used. Variables may be declared to


be of any Java native type or of any Java class defined by a prior “import”
statement. The following variables are predefined for all scripts (similar to
the Script component):
• jobLog. A Fiper Log object. This object’s methods may be called to
write error, warning, information, or debugging messages into the Job
Log during model execution.
• localDir. A Java File object. This object names the scratch directory in
which the component is executed. The script may use this object to
move files into or out of the scratch directory, or to pre- or post-process
files, in order to customize the component’s behavior.
• variablename. A Fiper Variable object representing the parameter
named variablename. One such object is defined for each parameter of
the component. The contents of each such object may be retrieved or
altered by invoking the relevant methods (first casting the object, if
necessary, to ScalarVariable, ArrayVariable, or AggregateVariable, in
accordance with its declaration).
• runtimeEnv (advanced users). A Fiper RuntimeEnv object. This object
provides access to all features of the component and the environment in
which it is being executed (including the objects behind each of the
preceding variables).
• Scripts should be written carefully so as to not interfere with the
environment used to execute them. For example, scripts may not contain
calls to “System.exit()” or “Runtime.getRuntime().exit()”, because these
method calls would terminate the supporting Isight Gateway or Fiper
Station.
„ Click the Check Syntax button to verify the syntax of your Prologue or
Epilogue script. Any messages about the script are displayed on the status bar
at the bottom of the editor. The messages won’t go away until you fix the error
and click the Check Syntax button again.

• Note: You can click the Details... button to get more information on a
syntax error.
„ Repeat this procedure, as desired, until your Java script is complete; then, click
the Close button.

Isight Component Guide


Editing Component Properties 33

3. Click the Affinities tab. This tab contains information that helps a component
running in an ACS environment find the proper Fiper Station (and in doing so, a
remote computer) for execution. Affinities are ignored when executing the model
locally in Isight.

Note: The affinities for the Fiper Station (which are used to match against
component affinities) are set in the station.properties file in the Fiper
installation directory for that Station. For more information on using Fiper
Stations, refer to the Fiper Installation and Configuration Guide that matches your
ACS combination.

„ Set any of the following options (in some cases, these options are
automatically set) for execution in the Fiper environment:

• Operating System. Specify the type of operating system that the


component will search for when executing using the corresponding
drop-down list. You can choose either Windows or UNIX (UNIX also
includes Linux).
• Name. Specify the name of the operating system that the component will
search for when executing using the corresponding drop-down list. For
example, you can specify Windows 2000, Windows XP or Windows Server
2003.
Note: This option is disabled if the Any option is selected from the
Operating System drop-down list.

• Version. Specify the version number of the operating system/name


combination that the component will search for when executing using the
corresponding drop-down list.
Note: This option is disabled if the Any option is selected from either the
Operating System or Name drop-down lists.
• Station Name. Specify the name of the machine that the component will
search for when executing. If desired, you can specify more than one
Station by listing the Stations’ names with a single space between them (no
separating characters are necessary).
There is a special Station affinity, {localhost} (with the curly brackets), that
causes the component to run on the same machine that submitted the job.
You must make sure that a Fiper Station is started on that machine. This
affinity is particularly useful for components that display information to the

Isight Component Guide


34 Chapter 1 Components Overview

user, such as Pause, Excel (when the Show Excel option is used), or
MATLAB (when displaying graphs).

• Other. Specify any additional information that the component must search
for during execution. You can use this setting for custom keywords or other
requirements such as installed software. Any character string can be used.
Only Stations that have this matching keyword defined as an affinity are
used during execution.
• Group Name. You can define a group to execute various components
(within the same level of the model hierarchy) on the same machine simply
by specifying a name for the group. For any defined group, Fiper will
determine which Fiper Station to execute those components on based on the
combination of all of the other affinities for all components in the group.
For example, if component A is specified to run only on Windows,
component B specifies an “Other” affinity of “CAE”, and both A and B
specify the group “groupAB”, then Isight will only select a Fiper Station
that is running on Windows and that says it supports “CAE” on which to
execute both components A and B. If no Station exists to support the
combined affinities, none of the components in the group will be executed
and the job will fail for this reason.
• DRM Mode. Specify the distributed resource manager (DRM) that will be
used to dispatch workload items in a Fiper environment. If you are
changing this option for a top level component, you will be prompted to
indicate if you want to change the DRM mode for all components in the
subflow. The default is Any.
The meaning of this setting at runtime will depend upon the DRM types
enabled on the ACS. For example, if only the Fiper DRM is enabled on the
ACS, then all components will be dispatched with the Fiper DRM. In this
case, then components with the setting LSF will fail.

If both Fiper and the LSF DRMs are enabled on the ACS, then components
that specify Any will be dispatched with the ACS’s default DRM (the first
DRM listed in the ACS configuration file), with the exception of script, data
exchanger, calculator, and process components, which will be dispatched
with the Fiper DRM. Components with explicit Fiper or LSF settings will
be dispatched with the DRM specified.

Isight Component Guide


Editing Component Properties 35

4. Click the Icon tab. The default icon is the one provided by the component itself. If
desired, you can change this to use an image of your choice that might better
represent/identify this specific instance of the component as it is used in this
model.

5. Click the Description tab. A default description is provided by the component. If


desired, you can change this description to be specific to how this component is
used in this model.

6. Click the Component Type tab. This tab shows you information about the
component type (as it is published to the Library). The information displayed
includes the component’s full name, display name, version number, icon, and
description.

„ Set the When Loading Model Use option. This option gives you the ability to
specify which version of the component to use, if the component has more
than one published version in the Library (only available with a local Library -
standalone installation). You can set this option for each component in your
model. When the model is reloaded, the version of the component that is
fetched from the Library is based on this setting.

The following options are available:

• The Latest Version. This option always loads the most recent version of
the component from the Library. It is the default setting.
• This Specific Version. This option always loads the version specified in
the Version field (to the left of the drop-down list) when the selection is
originally made.
7. (optional) Click the DRM Settings tab. This tab allows you to set the specific LSF
requirements for an individual component in the workflow when that component is
dispatched with the LSF DRM. These settings affect the properties of the LSF job
used to dispatch the workitem at runtime.

This tab is only available if the Enable advanced LSF DRM options is set in the
Preferences editor. For more information on this option, refer to the Isight User’s
Guide.

Isight Component Guide


36 Chapter 1 Components Overview

8. Click the Contents tab. A tab similar to the one shown below appears.

The Contents tab shows the parameters and files for the current component. The
total and types of parameters and files are displayed.
9. Click OK to close the dialog box and save your changes. Click Apply to save your
changes, but keep the dialog box open.

Setting Component Preferences


Some components give you the ability to set custom default preferences for specific
settings. For information on setting other Isight preferences, refer to the Isight User’s
Guide.

To access the interface that allows you to set Isight component preferences:
1. Select Preferences from the Edit menu. The Isight Preferences dialog box
appears.

2. Select Components on the left side of the dialog box. The General Component and
Plugin Preferences dialog box appears.
3. Click a radio button for the When a new version of a component or plugin is
published in the library option on the right side of the dialog box. This option is

Isight Component Guide


Using the Component API 37

used to determine when a new version of a component or plugin, which has been
added to the library, will be used by Isight. You can begin using the new version
the next time Isight is started (this setting is recommended) or the next time a
model is loaded or executed.

4. Expand the Components link to view the set of components that have specific
preferences available (note that not all components provide preferences). Proceed
to any of the following sections to set preferences for specific components:

„ “Setting Data Exchanger Preferences,” on page 324

„ “Setting DOE Component Preferences,” on page 65


„ “Setting Excel Component Preferences,” on page 364

„ “Setting MATLAB Component Preferences,” on page 425

„ “Setting Monte Carlo Component Preferences,” on page 101

„ “Setting Optimization Component Preferences,” on page 152

„ “Configuring the OS Command Component,” on page 427

„ “Setting Simcode Component Preferences,” on page 495

„ “Setting Six Sigma Component Preferences,” on page 210


„ “Setting Taguchi Robust Design Component Preferences,” on page 234

„ “Setting Word Component Preferences,” on page 504

Using the Component API


Some components provide an API (Application Programming Interface) for
programmatically configuring that component using a Java program. For more
information on how to use the Isight modeling APIs, refer to the Isight Development
Guide. After reviewing the relevant sections in this book, you will see that the
ComponentAPI interface provides generic set/get/add/call methods that take in a String
keyword for the item on which you are operating and different forms of arguments.
Throughout this book, the API keywords for any component that provides a specific
API are outlined in the appropriate sections.

Isight Component Guide


38 Chapter 1 Components Overview

Isight Component Guide


39

2 Using Process Components

This chapter describes the usage of the Engineous-supplied process components that
are included with a standard Isight installation. It is divided into the following topics:

„ “Introduction,” on page 40

„ “Using the DOE Component,” on page 41

„ “Using the Loop Component,” on page 66

„ “Using the Monte Carlo Component,” on page 84

„ “Using the Optimization Component,” on page 102


„ “Using the SDI Component,” on page 153

„ “Using the Six Sigma Component,” on page 172

„ “Using the Taguchi Robust Design Component,” on page 211


„ “Using the Task Component,” on page 235

Isight Component Guide


40 Chapter 2 Using Process Components

Introduction
Components are an essential part of model construction. Numerous components have
been developed by Engineous, and are included with Isight. These components are
accessed using the Design Gateway, but each has a different editor and options that can
be configured.

All Isight components can be divided into two types: process and activity.

Process components are components that are designed to contain a workflow, which is
executed some number of times depending on the component’s own specific logic,
essentially “driving” the execution of that workflow (thus, they are also sometimes
referred to as drivers or design drivers).

A process component typically creates and maps parameters automatically based on


the parameters you have selected to modify or study from its subflow (i.e, the
workflow it contains). In some cases, you may want/need to manually map parameters
from a process component to its subflow simply to pass the parameter information
through various levels of the model. For more information, refer to the Isight User’s
Guide.

This chapter discusses eight Engineous-supplied process components: DOE, Loop,


Monte Carlo, Optimization, SDI, Six Sigma, Taguchi Robust Design, and Task.

For more information on using activity components, see “Using Activity


Components,” on page 237.

Isight Component Guide


Using the DOE Component 41

Using the DOE Component


This section describes how you can use conventional Design of Experiments (DOE)
capabilities in Isight. It is divided into the following topics:

„ “Overview” on this page

„ “Opening the Editor and Using the General Tab,” on page 43

„ “Using the Factors Tab,” on page 46

„ “Using the Design Matrix Tab,” on page 48

„ “Using the Post Processing Tab,” on page 51

„ “Mapping Options and Attributes to Parameters,” on page 53


„ “Editing Attributes for Multiple Parameters,” on page 57

„ “Setting Technique-Specific Options,” on page 58

„ “Setting DOE Component Preferences,” on page 65

„ “Using the DOE Component API,” on page 65

Overview
Design of Experiments is a general term that refers to any of the many formal methods
available for setting parameter values in a set of experiments. In Isight, a DOE
experiment is defined as an execution of the workflow defined within the DOE
component. You can use the DOE component in Isight for the following purposes:

„ assessing the impact of input parameters on output parameters


„ identifying significant parameter interactions

„ analyzing a design space and providing a rough estimate of an optimal design


(which can then be used as a starting point for numerical optimization)

„ creating a data set that can be used to generate approximation models of the design
space

Isight Component Guide


42 Chapter 2 Using Process Components

Understanding Design of Experiments


You do not need to have knowledge of DOE, or extensive knowledge of the design
problem, to use DOE capabilities. However, you should know the following:

„ parameters you want to study (i.e., the input parameters that may impact
performance/quality)

„ number of experiments or trials you can afford to run


„ output quantities of interest (i.e., those that in some way represent the
performance/quality of the product)
„ overall goal of the study (for example, estimation of an optimal design, response
surface approximation, etc.)

Available Techniques
The following Design of Experiments techniques are available in Isight (although all
techniques listed below may not be included in your installation):

„ Central Composite Design


„ Data File
„ Full Factorial
„ Latin Hypercube
„ Optimal Latin Hypercube
„ Orthogonal Arrays
„ Parameter Study

For more detailed information on these techniques, see “DOE Reference Information,”
on page 508.

Note: Techniques can be added to the DOE component by publishing new “DOE
Technique” plug-ins to the Library. For more information, refer to the Isight
Development Guide.

Isight Component Guide


Using the DOE Component 43

Opening the Editor and Using the General Tab


To open the DOE component editor and use the General tab:

1. Double-click the component icon to start the component editor. For more
information on inserting components and accessing component editors, refer to the
Isight User’s Guide.
The Component Editor dialog box appears.

The editor is divided into four tabs: General, Factors, Design Matrix, and Post
Processing. The General tab allows you to select a technique, set technique
options, and set general DOE execution options (see step 2). The Factors tab
allows you to select factors to study for your design. The Design Matrix tab
provides options for viewing and modifying the generated design matrix. The Post
Processing tab allows you to specify actions taken after running your set of
experiments. The options available on each of these tabs are defined in greater
detail in the following sections.

2. Select the desired technique using the DOE Technique button. The technique’s
options appear in the Technique Options area, and information about the technique
appears in the Technique Description area on the right side of the editor.

Note: You can set default behavior for this option using the component preferences
as described in “Setting DOE Component Preferences,” on page 65.

Isight Component Guide


44 Chapter 2 Using Process Components

3. Review the information in the Technique Description area to determine if the


selected technique is suitable for your specific problem. For additional information
on the technique, see “DOE Reference Information,” on page 508.

4. Set the options for your technique as desired in the Technique Options area. For
more information on these options, see “Setting Technique-Specific Options,” on
page 58; then, return to this section.

5. Set the following options in the Execution Options area of the General tab:
„ Execute DOE design points in parallel. If selected, all of the design points
defined by the design matrix will be submitted for execution simultaneously.
You may need to clear (deselect) this option if components within the DOE
subflow have license limitations or other requirements that mandate only one
execution at a time.

„ Action when design point fails. If a design run fails during execution of the
DOE technique, you can choose to have Isight ignore the failed run, fail the
entire execution, retry the failed run (a specific number of times), or replace
the failed run by re-executing with a specified percentage modification of the
failed run.

6. Click the Advanced Options... button. The Advanced Execution Options dialog
box appears.

7. Set the following options, as desired:

„ Execute designs in random order. Select this option if you want the design
points defined by the design matrix to be executed in random order.

Isight Component Guide


Using the DOE Component 45

Note: For computer simulations, which are deterministic, the order of


execution should have no bearing on the results. This option is provided
primarily for cases in which the design matrix is going to be exported for use
in physical experiments where randomness can alter the results through the
influence of noise (unknown) effects.
„ Execute subflow only once. If selected, the subflow executes only one time.
This is useful in models that need to turn the driver logic on/off parametrically.
This option is also helpful in debugging the process.

„ Read response values from file (don’t execute subflow). Select this option if
you do not want the DOE component to actually execute an Isight subflow for
each design point, but to instead read the response values for each design point
from a specified file. You can locate the file using the Browse... button. The
format of the file must be a first row with parameter names and each
subsequent row containing the values for the parameters for that design point.
This feature is useful for when you have a complete data set (input and output
values) already compiled and simply want to use DOE as a post-processing
tool. This capability is more directly accessible using the Data File technique
and selecting the File contains responses option. For more information on this
technique, see “Setting Technique-Specific Options,” on page 58.
Note: For the purpose of storing results in the results database, the DOE
component still makes a call to execute the subflow for every design point.
Thus, any components that reside in the subflow will actually be executed
(unless they are disabled). Since the intent of this option is to not require
execution of a subflow to obtain outputs, it is assumed that in most cases the
subflow will be empty.

„ Allow the following to be turned off by parameters. This option allows you
to de-activate (turn off) the selected types of design parameters (factors,
responses) using input parameters to the DOE component. If this option is
selected, boolean input parameters will be created in an Active Factors/Active
Responses aggregate under the Mapped Options and Attributes aggregate
parameter. The parameters are selected by default. If any of the parameters are
not selected at runtime, then those design parameters will not be used during
execution.

8. Proceed to “Using the Factors Tab,” on page 46.

Isight Component Guide


46 Chapter 2 Using Process Components

Using the Factors Tab


To use the DOE component’s Factors tab:

1. Click the Factors tab. The contents of the tab appear.

The tab presents a table of available input parameters to select as factors to study,
along with columns for attributes to specify for each factor. The attributes to
specify are determined by the DOE technique being used.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

3. Select the parameters you want to define as factors to study by clicking the check
box that corresponds to the parameter. To add all the selected parameters as
factors, click the Check button at the bottom of the tab. If no parameters are
selected, you will be prompted to add all parameters as factors. To deselect all the
parameters, click the Uncheck button.

If you select an array as a factor, a single quantity will represent this in the model
and it will be expanded during execution to define a factor for each element in the

Isight Component Guide


Using the DOE Component 47

array. You can override the attributes for each individual element by selecting
them separately.

Note that aggregates themselves cannot be selected. You must open them (click the
) and select scalar members and array members.

4. Change any of the default values, which are provided for all attributes for a
selected factor, as desired.

Note: Depending on the technique, a change in one of the columns might


automatically update any other columns that are related.

Although each technique defines the appropriate set of attributes for a factor, the
following set of attributes are common among many of the techniques.

„ # Levels. This attribute is the number of levels at which you wish to study the
factors. A change to this attribute will automatically readjust the Levels for
this factor.

„ Levels. This attribute is a space-separated list of the levels at which to study


the factor. The related attributes are updated once you click in a different cell.

„ Lower/Upper. These attributes are lower/upper levels for the factor. A change
to one of these attributes will automatically calculate new levels evenly
distributed between the Lower and Upper values.

„ Relation. This attribute specifies whether the Levels should be interpreted as


values or as %/difference (diff.) from a specified Baseline.

„ Baseline. This attribute is the value to be used for converting Levels into
values when the Relation is “%” or “diff.”

Other factor attributes specific to individual techniques can be found in “Setting


Technique-Specific Options,” on page 58.

5. Select the Update factor baselines to current values when executing option at
the bottom of the tab if you want the baseline values updated to the current
parameter values before executing. If Isight previously modified a parameter, this
option allows for automatic updating of the baseline of all factors to the current
parameter values in Isight, prior to executing the DOE technique, which will
re-adjust the values to be studied appropriately. The default is to have this option
deactivated, retaining user-defined settings. This option is useful if the DOE
technique is executed after another element of the workflow that might change the

Isight Component Guide


48 Chapter 2 Using Process Components

parameter values (for example, after an Optimization component), so that the DOE
study can be performed around the new design point.

Note: You can also set factor options using the Edit... button at the bottom of the
editor. For more information, see “Editing Attributes for Multiple Parameters,” on
page 57.
6. Proceed to “Using the Design Matrix Tab,” on this page.

Using the Design Matrix Tab


To use the DOE component’s Design Matrix tab:

1. Click the Design Matrix tab. The contents of the tab appear.

This tab displays the design matrix generated for the technique selected (“Opening
the Editor and Using the General Tab,” on page 43) and the factors selected and
attributes specified on the Factors tab (“Using the Factors Tab,” on page 46).

Note: If an array was selected as a factor, only a single item will be displayed in
the design matrix for the entire array. At runtime, the individual elements of the
array will be assigned to columns of the design matrix, as necessary.

Isight Component Guide


Using the DOE Component 49

2. (Optimal Latin Hypercube technique only). Click the Generate button to create
your design matrix. This ability to manually generate your matrix is present since
this process can take a significant amount of time.

The Design Matrix Generation Status dialog box appears, showing you how the
matrix generation is progressing.

Note: If you do not manually generate the design matrix in the component editor, it
will automatically be generated as part of the execution.
Examine the information displayed on the Status dialog box; then, click the Close
button once the matrix has been created. If you click the Close button before the
optimization of the design matrix is complete, the resulting design matrix will be
the last one generated during the optimization process.

3. If the selected DOE technique provides any special options for configuring the
design matrix, an Options... button appears above the Design Matrix table. Click
this button to view/edit the options provided by the technique. For information
about Engineous-supplied DOE techniques that provide these options, see “Setting
Technique-Specific Options,” on page 58.

4. Select how you want the design matrix displayed using the Show button. You can
display the design matrix as values (the actual values to be set at execution) or
levels (the level number as generated by the technique algorithm).

5. Perform any of the following actions, as desired, to manipulate the design matrix:

„ Deactivate a single design point. Click any row number to deactivate that
design point so that it will not be executed (the icon appears). You can

also click the button at the top of the design matrix, or right-click the
design matrix and select the Skip selected design point(s) option from the
menu that appears.

„ Deactivate all design points. To deactivate all design points in the design

matrix, highlight all of the design points and click the button. You can

Isight Component Guide


50 Chapter 2 Using Process Components

also right-click the design matrix and select Skip all design points from the
menu that appears.

Note: Deactivating design points is useful when it is known that a specific set
of values in the design matrix represents a design that cannot be evaluated for
whatever reason.
„ Activate a design point. To activate a design point that has been set to be
skipped, click the icon that represents the design point. The row number

reappears. You can also click the button at the top of the design
matrix, or right-click the design point and select Activate selected design
point(s) from the menu that appears.

„ Activate all design points. To activate all of the design points in the design

matrix, highlight all of the design points and click the button. You can
also right-click the design matrix and select Activate all design points from
the menu that appears.

„ Copy the design matrix. This option copies the design matrix to the clipboard
so that is can be pasted elsewhere (for example, in a text file). This option can

be accessed using the Copy button above the design matrix or by


right-clicking the design matrix and selecting Copy design matrix from the
menu that appears.

„ Save the design matrix. Saves the design matrix to a file. This option can be

accessed by clicking the Save button above the design matrix or by


right-clicking the design matrix and selecting Save... from the menu that
appears.
6. Proceed to “Using the Post Processing Tab,” on page 51.

Isight Component Guide


Using the DOE Component 51

Using the Post Processing Tab


To use the DOE component’s Post Processing tab:

1. Click the Post Processing tab. The contents of the tab appear.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

3. Select the output parameters you want to define as responses by clicking the check
box that corresponds to the parameter. To add all the selected parameters as

responses, click the button at the bottom of the tab. If no parameters are
selected, you will be prompted to add all parameters as responses. To deselect all

the parameters, click the button.

If you select an array as a response, a single quantity will represent this in the
model and it will be expanded during execution to define a Response for each
element in the array. You can override the attributes for each individual element by
selecting them separately.

Isight Component Guide


52 Chapter 2 Using Process Components

Note: While the number of response quantities specified has no effect on the cost
of executing the experiments, and only slightly affects the cost of analyzing
results, you should be careful to focus on key quantities that directly relate to the
performance/quality of the product to specify as responses. This action eases the
interpretation of results in making design decisions.

4. If desired for a given response, specify an objective (minimize or maximize) and


any appropriate weighting factor in the corresponding columns. This setting allows
you to screen for the most influential factors, and to estimate an optimal design. It
is also used to determine the “best” point of all the designs executed.

Note: You can also set response options using the button at the bottom of
the editor. For more information, see “Editing Attributes for Multiple Parameters,”
on page 57.

5. Set the following post execution options:

„ Calculate basic statistics. This option calculates the minimum and maximum
mean, standard deviation, and range of all of the data for each factor or
response.
„ Perform regression analysis. This option performs linear regression analysis
to determine the main effects of each factor on each response.
„ Write experiment data to a file. This option allows you to write all of the
DOE run data to the specified file after execution. Use the Browse... button to
specify this file. Click the Output file parameter ‘Results.Data Set’ check
box to also provide this data as an output file parameter (called “Data Set”) in
the DOE Results output parameter.

6. Click OK to close the editor and save your changes. Click Apply to save your
changes, but keep the editor open.

Isight Component Guide


Using the DOE Component 53

Mapping Options and Attributes to Parameters


The configuration (technique options, design parameter attributes, and execution
options) of a design driver-type component is stored in the property information for the
component. However, you can drive these options and attributes by parameters. For
example, the number of points in a Latin Hypercube design matrix can be driven by a
parameter in a previous component.

To map an option to a parameter:

1. Open the DOE component editor.

2. Perform one of the following actions:

„ To map a technique option value to a parameter, proceed to step 3.

„ To map an execution option to a parameter, proceed to step 7.

„ To map a factor or response attribute to a parameter, proceed to step 11.

3. To map a technique option to a parameter, click the value in the Value column for
the technique option whose value you want to map. The value is highlighted.

4. Right-click the value; then, select the Map this value to a parameter option. The
Select a Parameter dialog box appears prompting you to enter the name of a
parameter to which you want to map.

5. Type a name for the parameter (by default, the technique option name is used);
then, click OK.

Isight Component Guide


54 Chapter 2 Using Process Components

Once mapped, the icon appears next to the technique option’s value. You can
click this icon to view or change the parameter name. You can also right-click on
the setting again to remove the mapping.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter.
6. Click Apply to save your changes; then, proceed to step 15.

7. To map an execution option to a parameter, right-click one of the following


execution options in the bottom left corner of the editor:

„ Execute DOE design points in parallel

„ Execute subflow only once (you need to click the Advanced Options... button
to gain access to this option)

Isight Component Guide


Using the DOE Component 55

8. Select the Map this value to a parameter option. The Select a Parameter dialog
box appears prompting you to enter the name of a parameter to which you want to
map.

9. Type a name for the parameter (by default, the execution option name is used);
then, click OK. Once mapped, the icon appears next to the execution option.
You can click this icon to view or change the parameter name. You can also
right-click on the setting again to remove the mapping.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter.
10. Click Apply to save your changes; then, proceed to step 15.

11. To map a factor or response attribute to a parameter, click the appropriate tab on
the component editor.

12. Right-click the attribute you want to map. A menu appears.

Isight Component Guide


56 Chapter 2 Using Process Components

13. Perform one of the following options:

„ If you want to apply the mapping to only the selected parameter, select the
Map <Attribute_Name> to a parameter for selected option.

„ If you want to apply the mapping to all the parameters, select the Map
<Attribute_Name> to a parameter for all option.

The icon appears next to the attribute’s value. You can click the icon to view or
change the parameter name.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as member(s) of a special aggregate parameter called Mapped
Attributes and Options.

Note: You can remove these mappings at any time. Simply right-click the
appropriate parameter attribute; then, select the Remove mapping of
<Attribute_Name> to a parameter for selected or Remove mapping of
<Attribute_Name> to a parameter for all option, depending on how you
originally mapped the attribute.

Note: If an entire array is selected as a factor/response (as opposed to individual


elements), a corresponding array will be created in the Mapped Attributes and
Options parameter with elements that will map to the corresponding elements of
the factor/response array during execution. If the factor/response is a dynamic

Isight Component Guide


Using the DOE Component 57

array, make sure you construct the model in such a way that the mapped attribute
array parameter is resized in sync with the factor/response array. If this is not done,
warning messages will be sent to your job log.

14. Click OK to close the component editor and return to the Design Gateway.

15. Click the Parameters tab.

16. Locate the new special aggregate parameter called Mapped Attributes and
Options; then, click the icon to expand the parameter. The new parameters
appear, which will be mapped into the appropriate attributes/options at the
beginning of execution.

Editing Attributes for Multiple Parameters


You can add, remove, and edit attributes for multiple design parameters (factors,
design variables, responses, objectives, etc.) at the same time.

Isight Component Guide


58 Chapter 2 Using Process Components

To edit attributes for multiple factors/responses:

1. Select the parameters you want to add/remove/edit on either the Factors or Post
Processing tab.

To add all the selected parameters as factors, click the Check button (
button on the Post Processing tab) at the bottom of the tab. If no parameters are
selected, you will be prompted to add all parameters as factors. To deselect all the
parameters, click the Uncheck button ( button on the Post Processing tab).

2. Click the Edit... button ( button on the Post Processing tab) at the bottom
of the component editor. The Edit dialog box appears. In the following example, a
parameter on the Factors tab is being edited.

3. Update the listed values, as desired. Only options with defined values appear on
this dialog box.

4. Click OK. The values are updated for all the parameters that were selected.

Setting Technique-Specific Options


This section defines options that are specific to the technique you selected in “Opening
the Editor and Using the General Tab,” on page 43. Each technique subsection is
further divided into two parts. The first part describes technique-specific options. The
second part describes factor-specific options.

Isight Component Guide


Using the DOE Component 59

See any of the following sections for complete information:

„ “Setting Central Composite Technique Options” on this page

„ “Setting Data File Technique Options,” on page 60

„ “Setting Full-Factorial Technique Options,” on page 61

„ “Setting Latin Hypercube Technique Options,” on page 62


„ “Setting Optimal Latin Hypercube Options,” on page 62

„ “Setting Orthogonal Array Technique Options,” on page 63

„ “Setting Parameter Study Technique Options,” on page 64

Setting Central Composite Technique Options


The following options are available on the General and Factors tabs when Central
Composite is selected:

„ Technique options: None

„ Factor options (beyond the standard options):

„ Alpha. The Lower and Upper levels specify the two levels at which a 2-level
full-factorial study is performed. The center point is also studied. The Alpha
option is a ratio defining two other points (also known as “star points”) at
which to study the given factor. For example, Alpha set to 0.25 indicates the
factor is to be studied at points 1/4 of the way from the baseline to the lower
and upper levels. Alpha set to 1.6 indicates the factor is to be studied 50%
beyond the lower and upper levels. For example, Lower = 5, Upper = 20,
Baseline = 10, and Alpha = 0.25 results in Levels = {5, 8.75, 10, 12.5, 20}.

Return to step 5 on page 44 for information on using the other options and tabs on the
DOE component editor.

Isight Component Guide


60 Chapter 2 Using Process Components

Setting Data File Technique Options


The following options are available on the General and Factors tabs when Data File is
selected:

„ Technique options:
„ File. The first step in setting Data File technique options is to select the file
that you want to use with the technique. Click the Browse... button to specify
the file that contains the values you want to use. The Open dialog box appears.
Select the file to be used.

Note: A file parameter will be added to the component to represent this file,
allowing you to map in a completely new file at runtime.

„ Use Header Row. Select this check box if your data file has a header row
containing the factor names. Specify which row contains the names of your
factors by entering its corresponding number.

„ Data Starts on Row. Specify the row in your file where the data begins by
entering its corresponding number. If you are using a header row, the specified
row must be greater than the header row.

„ Scan for Parameters.... Click this button to scan the specified file for
parameters to define. Names that are found will be presented to select as
factors (if specified as inputs) or responses (if specified as outputs). Any
names found that are already defined as parameters will not be presented in the
list.

„ Format. Select Levels or Values. If Levels is selected, additional factor


attributes will be available (Lower, Upper, Relation, Baseline) to define how to
calculate values from the levels.
„ Store in model. Click this check box if you want the current file’s contents to
be stored in the model for use when the component executes. If this is not
selected, the component will attempt to access the specified file on the
computer on which it executes.

„ File contains responses. (Advanced Options...) Select this option if you do


not want the DOE component to actually execute an Isight subflow for each
design point, but to instead read the response values for each design point from
a specified file. The format of the file must be a first row with parameter
names and each subsequent row containing the values for the parameters for

Isight Component Guide


Using the DOE Component 61

that design point. This feature is useful for when you have a complete data set
(input and output values) already compiled and simply want to use DOE as a
post-processing tool.

„ Data is transposed. (Advanced Options...) Select this check box if you want
to use a data file in which each row represents a set of values for the parameter
whose name is the first item in that row (thus, the file is “transposed” from the
standard format in which each column represents a parameter and its values).
A transposed data file must have the parameter name as the first item in the
row (enclosed in quotes if spaces exist), and each row must have the same
number of values in it.

„ Factor options:

„ Column. If you have specified not to use a header row to find factors in the
file, you must provide the column number for each factor.

Return to step 5 on page 44 for information on using the other options and tabs on the
DOE component editor.

Setting Full-Factorial Technique Options


There are no technique options available for this technique.

Return to step 5 on page 44 for information on using the other options and tabs on the
DOE component editor.

Isight Component Guide


62 Chapter 2 Using Process Components

Setting Latin Hypercube Technique Options


The following options are available on the General and Factors tabs when Latin
Hypercube is selected:

„ Technique options:
„ Number of Points. Enter the number of points that you want to study. For
each defined factor, the levels are defined by uniformly distributing this
number of points between specified lower and upper values. These levels are
then randomly combined with levels of the other factors to define each design
point to execute.
„ Use a fixed seed. If desired, specify a fixed seed to use for determining the
random combinations of factor levels.

Note: A fixed seed can also be set and used for the entire model. If a fixed seed
is set for the model and also defined separately in DOE, then the one in DOE
will be used. If a fixed seed is set for the model and this option is not selected,
then the sequence of random numbers will be based on the model’s random
seed (and thus is still reproducible). For information on setting a fixed seed,
refer to the Isight User’s Guide.

Return to step 5 on page 44 for information on using the other options and tabs on the
DOE component editor.

Setting Optimal Latin Hypercube Options


The following options are available on the General and Factors tabs when Optimal
Latin Hypercube is selected:

„ Technique options:

„ Number of Points. Enter the number of points that you want to study. For
each defined factor, the levels are defined by uniformly distributing this
number of points between specified lower and upper values. These levels are
then randomly combined with levels of the other factors to define each design
point to execute.

„ Max Time to Optimize (minutes). Enter the maximum amount of time (in
minutes) that the component can optimize. Once this time limit is reached, the
optimization stops.

Isight Component Guide


Using the DOE Component 63

„ Use a fixed seed. The seed can be fixed by clicking this check box and
specifying the seed manually in the corresponding text box. If this check box is
not activated, the seed is determined randomly.

Note: A fixed seed can also be set and used for the entire model. If a fixed seed
is set for the model and also defined separately in DOE, then the one in DOE
will be used. If a fixed seed is set for the model and this option is not selected,
then the sequence of random numbers will be based on the model’s random
seed (and thus is still reproducible). For information on setting a fixed seed,
refer to the Isight User’s Guide.

Return to step 5 on page 44 for information on using the other options and tabs on the
DOE component editor.

Setting Orthogonal Array Technique Options


The following options are available on the General and Factors tabs when Orthogonal
Array is selected:

„ Technique options:

The Orthogonal Array technique allows you to select one of the following options
from the Array drop-down list to specify the array size (and thus, the resolution) to
use for the experiment:

„ 2-Level: L8, L16, L32, L64, L128, L256

„ 3-Level: L27, L81, L243


„ Mixed: L12, L18, L36, L54

„ Plackett-Burman: PB12, PB20, PB24, PB36

Only those arrays that are appropriate for the current number of factors (and
number of levels) will appear in this list.

Note: The Orthogonal Array technique will allow you to specify a mixed number
of levels for the factors, and will automatically use the appropriate array to
accommodate your settings, possibly modifying the basic structure of the array to
ensure orthogonality. You can always manually choose a larger array, if desired.
The following options are available by clicking the Options... button on the Design
Matrix tab when Orthogonal Array is selected.

Isight Component Guide


64 Chapter 2 Using Process Components

When using Orthogonal Arrays, the factors are automatically assigned to columns
in a way that minimizes confounding with interaction effects. Preference is given
to factors in the order in which they are listed in the dialog. Additionally, you may
define specific columns for factors to be assigned to and an attempt will be made to
assign to those columns exactly (though it may fail if a specified column is not
appropriate for a given factor).

Return to step 5 on page 44 for information on using the other options and tabs on the
DOE component editor.

Setting Parameter Study Technique Options


The following options are available on the General and Factors tabs when Parameter
Study is selected:

„ Technique options:
„ Run baseline point. Select this option if you want an additional point to be
executed in which all factors are set to their Baseline values. Including a
baseline design point allows for the Parameter Study technique to be used
exactly as a simple finite differencing technique for sensitivity calculations
(i.e., the effective difference caused by each factor is independently varied by
some small difference from a baseline design).

Return to step 5 on page 44 for information on using the other options and tabs on the
DOE component editor.

Isight Component Guide


Using the DOE Component 65

Setting DOE Component Preferences


To set component preferences:

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.

2. Expand the Components folder on the left side of the dialog box; then, select
DOE.

The following preference options are available with the DOE component:

„ Default Technique. Determine which technique will automatically appear


every time the component editor for a newly inserted component is first
opened.

3. Click OK to save your changes and close the Preferences dialog box.

Using the DOE Component API


The DOE component provides an API for programmatically configuring the DOE
component using a Java program. For information about Component APIs and how
they use keywords on generic get/set/add/call methods, see “Editing Component
Properties,” on page 25.

The API for the DOE component consists of the following method:
get("DOEPlan"). This returns a DOEPlan object from the
com.engineous.sdk.designdriver.plan package. From that entry point you have access
to numerous methods for setting/configuring the technique, adding/editing factors and
responses, and configuring execution options. For more information on configuring the
DOE component, refer to the javadocs for the DOEPlan interface in your
<Isight_install_directory>/javadocs directory.

Isight Component Guide


66 Chapter 2 Using Process Components

Using the Loop Component


The Loop component is a process component capable of repeatedly executing subflows
based on various logical conditions. The Loop component has five main options (or
types of loops):

„ For. This loop type is used to execute subflows while continuously incrementing
the value of a selected parameter.
„ For Array. This loop type is used to execute subflows for each element of one or
more arrays, and accumulate subflow results into one or more arrays.

„ For Each. This loop type is used to execute subflows while iterating through a list
of values for a selected parameter.

„ While. This loop type is used to execute subflows as long as a specified condition
is met.

„ Do Until. This loop type is used to execute subflows until a condition is satisfied.
The number of executions is not constant.

Important: This component is subject to certain limitations. You should review these
limitations before attempting to create a loop. For more information on these
limitations, see “Understanding Loop Limitations,” on page 81.

The available loop types differ in the way the conditions are expressed. This section
describes the options available for each type of loop.

Proceed to any of the following topics for more information:

„ “Creating a For Loop,” on page 67


„ “Creating a For Array Loop,” on page 69

„ “Creating a For Each Loop,” on page 73

„ “Creating a While Loop,” on page 76


„ “Creating a Do Until Loop,” on page 78

„ “Understanding Parallel Loop Execution,” on page 80

Isight Component Guide


Using the Loop Component 67

„ “Understanding Loop Limitations,” on page 81

„ “Using the Loop Component API,” on page 82

Creating a For Loop


This loop will iterate through a sequence of values of the selected parameter and
execute the subflow at each iteration.

To create a For Loop:


1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide. The Component Editor dialog box appears.

2. Verify that For is displayed on the Loop Type button.

3. Select a parameter using the Parameter drop-down list, or create a new parameter
using the button.

Note: Only parameters of type Real or Integer can be used in a For loop.

Isight Component Guide


68 Chapter 2 Using Process Components

The selected parameter's value is altered during every run from a starting value
(the From option) to a final value (the To option) incremented in steps with a
specified value (the Increment option).

Since the parameters in the list might be from other components, you can sort the
parameters in the list by component. Right-click in the parameter text box, and
then select Group Parameters. This action sorts the parameters in the list by
component. The setting is now saved in the preferences for this component. There
is a Preference option to set the initial default for this option for all applicable
component editors. You may also choose to not group parameters for the currently
selected component. For more information on these Preference options, refer to the
Isight User’s Guide.
4. Select Parameter or Constant using the From button; then, based on your
selection, either select a parameter using the corresponding drop-down list, or enter
a constant in the adjacent text box. This setting represents your starting value.

Note: If you choose to select a parameter, the button appears. Click the button
to add a new parameter.

5. Select Parameter or Constant using the To button; then, based on your selection,
either select a parameter using the corresponding drop-down list, or enter a
constant in the adjacent text box. This setting represents your final value.

Note: If you choose to select a parameter, the button appears. Click the button
to add a new parameter.

6. Select Parameter or Constant using the Increment button; then, based on your
selection, either select a parameter using the corresponding drop-down list, or enter
a constant in the adjacent text box.

The Increment value, if the Constant option is selected, can be either a positive
value or a negative value. Zero (0) is not a valid value for this option.
Note: The Increment value can be a real or integer value.

Note: If you choose to select a parameter, the button appears. Click the button
to add a new parameter.

7. Click the Action when a run fails drop-down list to determine the action Isight
should take if a subflow fails. If Fail Loop is selected, the Loop component will
fail when the subflow fails. If Ignore run and Continue is selected, the run

Isight Component Guide


Using the Loop Component 69

continues after a failed subflow. This option applies to both parallel and sequential
execution.

8. Set the Execute all iterations in parallel option using the corresponding check
box. If selected, all of the subflows will be submitted for execution simultaneously
(in parallel). If not selected, the subflows are executed one after the other
(sequentially).

9. Select OK to close the editor, save your changes, and return to the Design
Gateway.

Note: For information on how parameters other than the arrays behave for
sequential and parallel For loops, see “Understanding Parallel Loop Execution,” on
page 80.

Creating a For Array Loop


This loop will iterate once for each element of the array(s). Element 0 of each array is
copied into the associated subflow parameter, the subflow is run, and then the process
is repeated for element 1, and so on. This type of loop is the only one that can save the
results of loops run in parallel.

To create a For Array Loop:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide.

The Component Editor dialog box appears.

2. Click the Loop Type button; then, select the For Array option.

Isight Component Guide


70 Chapter 2 Using Process Components

The editor is updated to show the loop’s options.

3. Select an array parameter using the Array Parameter drop-down list, or create a
new array parameter using the button.

Since the parameters in the list might be from other components, you can sort the
parameters in the list by component. Right-click in the parameter text box, and
then select Group Parameters. This action sorts the parameters in the list by
component. The setting is now saved in the preferences for this component. There
is a Preference option to set the initial default for this option for all applicable
component editors. You may also choose to not group parameters for the currently
selected component. For more information on these Preference options, refer to the
Isight User’s Guide.

4. Select the mapping direction of the array parameter using the corresponding
button. The following options are available:

„ To subflow. Elements of the array are copied to a scalar variable in the


subflow before the subflow is executed. This setting is the default for an input
array parameter.
„ To/From subflow. Each element of the array is copied into a variable in the
subflow, the subflow is run, and the resulting value of the scalar variable is

Isight Component Guide


Using the Loop Component 71

copied back into the array element. This setting is the default for an array with
mode in/out.

„ From subflow. The value the scalar variable is copied into an element of the
array after the subflow runs. This setting is the default for an output array
parameter.

5. Select the subflow parameter using the Subflow Parameter drop-down list, or
create a new scalar parameter using the button.

6. Click the button to add your selection to the table in the center of the
editor. The loop will iterate through these values.

Note: You can delete an item from the table by selecting the item and clicking the
button.

By default, the loop will execute once for each element of the array. If there is only
one array, or all of the arrays are the same size, this is an obvious behavior. If there
are several arrays and arrays have different sizes, the loop will execute once for
each element of the smallest array. The extra elements in the other arrays are not
used or modified.

If you wish to set the number of loops, see step 10.

7. (optional) Repeat step 3 through step 6 for additional arrays. There is no limit to
the number of arrays that can be mapped by one For Array loop.

Isight Component Guide


72 Chapter 2 Using Process Components

8. Click the Design Matrix button to view the values that will be used for each
subflow run. The For Array Design Matrix dialog box appears.

Only the input and in/out mappings are shown. The first column is the run number,
and the other columns are the values of the scalar subflow variables for that run.

9. Click OK to close the dialog box and return to the Loop component editor.

10. Click the Limit the number of loops check box if you want to limit the number of
loops. You would normally use this option if some earlier step in the workflow
filled in only part of the array(s) and you want to process only those parts.

The number of times the loop runs can be set to a constant or the value of an input
integer parameter. Once you have clicked the check box, you can use the
corresponding drop-down list to select a constant or parameter, and then fill in the
constant value or the name of the input parameters. You can use the button to
create a new parameter as the loop limit. Only input integer parameters are
allowed.
11. Click the Action when a run fails drop-down list to determine the action Isight
should take if a subflow fails. If Fail Loop is selected, the Loop component will
fail when the subflow fails. If Ignore run and Continue is selected, the run
continues after a failed subflow, but the run is ignored and no results are returned
for it. This option applies to both parallel and sequential execution.

Isight Component Guide


Using the Loop Component 73

12. Set the Execute all iterations in parallel option using the corresponding check
box. If selected, all the subflows will be submitted for execution simultaneously
(in parallel). If not selected, the subflows are executed one after the other
(sequentially).

13. Select OK to close the editor, save your changes, and return to the Design
Gateway.

Note: For information on how parameters other than the arrays behave for sequential
and parallel For Array loops, see “Understanding Parallel Loop Execution,” on
page 80. The output arrays are correctly assigned values from the subflow for both
sequential and parallel execution.

Note: In the subflow of a For Array loop, the array index being processed can be
obtained from the parameter “Run #”. You will need to adjust for the fact that the run
counter starts at 1, but the array indexes start at 0. It may be convenient to include a
calculator component in the subflow with the following expression:

N = Run-1

then, map parameter “Run #” in the loop to parameter “Run” in the calculator.

Note: Array parameters can vary in size at runtime. If a resizable input or in/out array
is used in a For Array loop, the actual size at runtime will be used to determine the
number of loops. If a resizable output array is used, its size will be adjusted at runtime
to match the number of loops.

Note: Arrays of all data types are supported, including arrays of Files.

Creating a For Each Loop


This loop will iterate through a list of values of the selected parameter and execute the
subflow at each iteration. The values in the list can be either predefined constants or
values of other parameters. The difference between this loop and the For Loop option
is the following:

„ The value list contains any set of values, which are not necessarily evenly spaced.
„ String and Boolean data types can also be used, not just Integers and Reals.

Isight Component Guide


74 Chapter 2 Using Process Components

To create a For Each Loop:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide.

The Component Editor dialog box appears.

2. Click the Loop Type button; then, select the For Each option. The editor is
updated to show the loop’s options.

3. Select a parameter using the Parameter drop-down list, or create a new parameter
using the button.

Note: Parameters of type Real, Integer, String, and Boolean can be used in a For
Each loop.

The selected parameter's value is altered during every run from the values list
specified. This values list is determined in the next step.

Since the parameters in the list might be from other components, you can sort the
parameters in the list by component. Right-click in the parameter text box, and
then select Group Parameters. This action sorts the parameters in the list by
component. The setting is now saved in the preferences for this component. There
is a Preference option to set the initial default for this option for all applicable

Isight Component Guide


Using the Loop Component 75

component editors. You may also choose to not group parameters for the currently
selected component. For more information on these Preference options, refer to the
Isight User’s Guide.

4. Select Parameter or Constant from the button in the middle of the editor; then,
based on your selection, either select a parameter using the corresponding
drop-down list, or enter a constant in the adjacent text box.

Note: All values in the list must match the data type of the selected iteration
parameter. For example, Boolean parameter types will only accept Boolean values.

5. Click the button to add your selection to the Values List in the center of
the editor. The loop will iterate through these values.

Note: You can delete an item from the Values List by selecting the item and
clicking the button.

6. Repeat step 4 and step 5 for each item you want to add to the Values List.

7. Use the Up button and Down button to rearrange the information


in the Values List, if necessary.

8. Click the Action when a run fails drop-down list to determine the action Isight
should take if a subflow fails. If Fail Loop is selected, the Loop component will
fail when the subflow fails. If Ignore run and Continue is selected, the run
continues after a failed subflow. This option applies to both parallel and sequential
execution.

9. Set the Execute all iterations in parallel option using the corresponding check
box. If selected, all of the subflows will be submitted for execution simultaneously
(in parallel). If not selected, the subflows are executed one after the other
(sequentially).
10. Select OK to close the editor, save your changes, and return to the Design
Gateway.
Note: For information on how parameters other than the arrays behave for
sequential and parallel For Each loops, see “Understanding Parallel Loop
Execution,” on page 80.

Isight Component Guide


76 Chapter 2 Using Process Components

Creating a While Loop


This loop will first check a condition and, if satisfied, will keep executing the subflow
while the condition is satisfied. Multiple conditions can be combined into one logical
expression. The number of iterations is determined at runtime.

To create a While Loop:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide.

The Component Editor dialog box appears.

2. Click the Loop Type button; then, select the While option. The editor is updated
to show the loop’s options.

Now you need to create an expression to add to the Conditions area (at the bottom
of the editor) using constants, parameters, or both. This component will execute
the subflows as long as the expression evaluates to true.

Complex expressions can also be created using Logical AND and OR expressions.
Furthermore, the grouping of logical conditions is supported.

Isight Component Guide


Using the Loop Component 77

3. Select a parameter using the Parameter drop-down list, or create a new parameter
using the button.

Since the parameters in the list might be from other components, you can sort the
parameters in the list by component. Right-click in the parameter text box, and
then select Group Parameters. This action sorts the parameters in the list by
component. The setting is now saved in the preferences for this component. There
is a Preference option to set the initial default for this option for all applicable
component editors. You may also choose to not group parameters for the currently
selected component. For more information on these Preference options, refer to the
Isight User’s Guide.

4. Click the Condition button; then, select your desired condition from the list that
appears.

5. Select Parameter or Constant from the button below the Condition button; then,
based on your selection, either select a parameter using the corresponding
drop-down list, or enter a constant in the adjacent text box.

6. Click the button to add your selection to the Conditions area in the center
of the editor.

Note: You can delete a condition from the Conditions area by selecting the
condition and clicking the button.

7. Repeat step 3 through step 6 for each condition you want to add to the Conditions
area.

8. In the Conditions area, click the AND/OR column for any condition except the
first one listed; then, select AND or OR from the menu that appears based on the
type of condition you are creating. By default, once a second condition is added to
the list, the AND operator is selected.

9. Click in the open and close parentheses columns to determine if you want
open/close single or double parentheses to group AND and OR clauses.

10. Use the Up button and Down button to rearrange the conditions,
if necessary.

Isight Component Guide


78 Chapter 2 Using Process Components

11. Click the Maximum number of iterations check box; then, set the number of
maximum iterations in the corresponding text box. Your conditional expression
may never be satisfied in some cases. In such cases, you can limit the number of
iterations by setting the value for maximum iterations.

12. Select OK to close the editor, save your changes, and return to the Design
Gateway.

Note: The While (and Until) loops cannot be executed in parallel. The condition must
be checked after each execution of the subflow.

Creating a Do Until Loop


This loop will first execute the subflow once, and then check the condition and will
continue executing the subflow until the condition is satisfied. Multiple conditions can
be combined into one logical expression.

To create a Do Until Loop:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide.

The Component Editor dialog box appears.

2. Click the Loop Type button; then, select the Do Until option.

Isight Component Guide


Using the Loop Component 79

The editor is updated to show the loop’s options.

Now you need to create an expression to add to the Conditions area (at the bottom
of the editor) using constants, parameters, or both. This component will execute
the subflows until the expression evaluates to true.

Complex expressions can also be created using Logical AND and OR expressions.
Furthermore, the grouping of logical conditions is supported.

3. Select a parameter using the Parameter drop-down list, or create a new parameter
using the button.

Since the parameters in the list might be from other components, you can sort the
parameters in the list by component. Right-click in the parameter text box, and
then select Group Parameters. This action sorts the parameters in the list by
component. The setting is now saved in the preferences for this component. There
is a Preference option to set the initial default for this option for all applicable
component editors. You may also choose to not group parameters for the currently
selected component. For more information on these Preference options, refer to the
Isight User’s Guide.

4. Click the Condition button; then, select your desired condition from the list that
appears.

Isight Component Guide


80 Chapter 2 Using Process Components

5. Select Parameter or Constant from the button below the Condition button; then,
based on your selection, either select a parameter using the corresponding
drop-down list, or enter a constant in the adjacent text box.

6. Click the button to add your selection to the Conditions area in the center
of the editor.

Note: You can delete a condition from the Conditions area by selecting the
condition and clicking the button.
7. Repeat step 3 through step 6 for each condition you want to add to the Conditions
area.

8. In the Conditions area, click the AND/OR column (the first column) for any
condition except the first one listed; then, select AND or OR from the menu that
appears based on the type of condition you are creating. By default, once a second
condition is added to the list, the AND operator is selected.

9. Click in the open and close parentheses columns to determine if you want
open/close single or double parentheses to group AND and OR clauses.

10. Use the Up button and Down button to rearrange the conditions,
if necessary.
11. Click the Maximum number of iterations check box; then, set the number of
maximum iterations in the corresponding text box. The conditional expression may
never be satisfied in some cases. In such cases, you can limit the number of
iterations by setting the value for maximum iterations.

12. Select OK to close the editor, save your changes, and return to the Design
Gateway.

Understanding Parallel Loop Execution


When a loop component is set to execute all iterations in parallel (For, For Array, or
For Each loop), the behavior of in/out parameters is substantially different then when
the iterations are run sequentially.

When the iterations are run sequentially, each iteration sees the value of in/out
parameters as they are updated by previous iterations. When the iterations are run in

Isight Component Guide


Using the Loop Component 81

parallel, all iterations see the value the in/out parameter had when the Loop component
started, ignoring any changes made by other iterations. For example, assume a For
Loop that increments parameter i from 1 to 5, and has an in/out parameter n initially set
to 0. The subflow consists of a calculator that evaluates the expression: n = n+i.

If the loop is run sequentially, n will take on the values 1, 3, 6, 10, and 15 at the end of
each iteration. The final value of n is 15. If the iterations are run in parallel, each
subflow sees the input value of n as 0, so the output values are 1, 2, 3, 4, and 5, and the
final value of n is 5.

Understanding Loop Limitations


The Loop component has the following limitations:

„ The component does not allow the selection of other parameter types (other than
the selected parameter type) for expression formation or value substitution. For
example, a For Each loop that has a loop parameter is of type Real does not allow
selection of a parameter of type Integer as one of its values. It can only select
another parameter of type Real.

„ Proper loop execution requires that the parameters (iteration parameter in For and
For Each loops, and condition parameters in While and Do Until loops) are
properly mapped between the parent loop and its subflows. After creating a new
loop component, make sure that the mappings are created correctly.

„ In order for While and Do Until loops to function properly, all parameters that are
used in the conditions and that are expected to change their values during iterations
must be of mode Input/Output. In this case their value will be preserved from one
iteration to another by the loop component. For example, when creating a While
loop with the condition (N < 10), and a calculator in the subflow with the
expressing N = N+1, you must ensure that parameter N is of mode Input/Output in
both the loop component and the calculator component. If this is not done,
parameter N’s value will always be reset back to the initial value at every
execution of the calculator, and the loop will end up executing infinitely or until it
reaches the maximum number of iterations.

„ For all loops except For Array, the values of all output or in/out parameters after
the loop finishes are taken from the last iteration (highest run number, not the last
iteration to finish). Only the output array(s) of a For Array loop allow the values of
other iterations to be mapped to subsequent components.

Isight Component Guide


82 Chapter 2 Using Process Components

Using the Loop Component API


The Loop component provides an API for programmatically configuring the Loop
component using a Java program. For information about Component APIs and how
they use keywords on generic get/set/add/call methods, see “Editing Component
Properties,” on page 25.

The API for the Loop component consists of the following methods:

„ get/set("looptype"). This method allows you to get/set the type of loop to


be either for, for each, while, or do until.

Note: Must be one of the LoopAPI.TYPE_XXXX constants.

„ get/set("loopparameter"). This method allows you to get/set the


parameter to be modified for the TYPE_FOR and TYPE_FOR_EACH loop types.
If the parameter name provided is not an existing parameter for the component
then it will be created when apply() is called.

„ get/set("fromvalue"). This method allows you to get/set the “from” (i.e.,


starting) value for the TYPE_FOR loop type as a constant value.

„ get/set("tovalue"). This method allows you to get/set the “to” (i.e.,


ending) value for the TYPE_FOR loop type as a constant value.

„ get/set("fromparameter"). This method allows you to get/set the “from”


(i.e., starting) value for the TYPE_FOR loop type as the name of a parameter
whose value will be substituted when this component executes.

„ get/set("toparameter"). This method allows you to get/set the “to” (i.e.,


ending) value for the TYPE_FOR loop type as the name of a parameter whose
value will be substituted when this component executes.
„ get/set("increment"). This method allows you to get/set the increment
value for the TYPE_FOR loop type. The “set” call requires an additional second
argument to specify the increment type as LoopAPI.CONSTANT or
LoopAPI.PARAMETER (i.e., a parameter name).

„ get("incrementtype"). This method allows you to get the type of


increment (LoopAPI.CONSTANT or LoopAPI.PARAMETER) for the
TYPE_FOR loop type.

Isight Component Guide


Using the Loop Component 83

„ add("foreachitem"). This method allows you to add an item to the list of


values which the loop parameter will be set to in the TYPE_FOR_EACH loop
type.

„ set("condition"). This method allows you to set the single condition to be


evaluated for TYPE_WHILE and TYPE_UNTIL loop types. Any previously
defined conditions will be cleared. Condition is an array representing the condition
must be in the form of an array with

„ condition[0]->parameterName
„ condition[1]->operator
„ condition[2]->operand
„ condition[3]->operandType

„ get("conditions"). This method allows you to get the entire set of


conditions to be evaluated for TYPE_WHILE and TYPE_UNTIL loop types as a
single string.

„ get/set("maxiterations"). This method allows you to get/set a


maximum number of iterations for the TYPE_WHILE and TYPE_UNTIL loop
types. Typically, this is used to ensure that the loop is not infinite.

„ get/set("runparallel"). This method allows you to get/set whether to


execute the runs defined by the loop in parallel. This is only used for TYPE_FOR
and TYPE_FOR_EACH.

Isight Component Guide


84 Chapter 2 Using Process Components

Using the Monte Carlo Component


The design driver capability available for Isight includes a Monte Carlo simulation
component. Monte Carlo simulation is used to address uncertainty or randomness
(stochastic properties) of a design problem. Using this component, a product or process
is simulated randomly, given the stochastic properties of one or more random
variables, to characterize the statistical nature of the responses (outputs) of interest.
Instructions on using the Monte Carlo simulation component in Isight are provided in
this section.

This section is divided into the following topics:

„ “Opening the Editor and Using the General Tab,” on this page

„ “Using the Random Variables Tab,” on page 88


„ “Using the Responses Tab,” on page 92

„ “Mapping Options and Attributes to Parameters,” on page 94

„ “Editing Attributes for Multiple Parameters,” on page 100

„ “Setting Monte Carlo Component Preferences,” on page 101

„ “Using the Monte Carlo Component API,” on page 101

Opening the Editor and Using the General Tab


To access the Monte Carlo component and use the General tab:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide.

Isight Component Guide


Using the Monte Carlo Component 85

The Component Editor dialog box appears.

The editor is divided into three tabs: General, Random Variables, and Responses.
The General tab offers setup options, and options related to the sampling
technique. The Random Variables tab allows for the selection and configuration of
the random variables. The Responses tab allows for the selection and configuration
of the response parameters.
2. Click the Sampling Technique button; then, select the technique you want to use
from the drop-down list that appears. The sampling technique’s options appear
directly below the Sampling Technique button, and information about the
technique appears in the Sampling Technique Description area on the right side of
the editor. Sampling techniques in the Monte Carlo component are implemented as
“plug-ins”. As such, they are extendable by creating new plug-ins for new
sampling techniques. For more information, refer to the Isight Development Guide.

Isight Component Guide


86 Chapter 2 Using Process Components

The sampling technique plug-ins currently available in Isight are the following:

„ Simple Random Sampling. This method is the default selection, and is the
most commonly used sampling method. Sample points for simulation are
generated randomly and independently.

„ Descriptive Sampling. This method is the recommended method. Fewer


simulations are generally required to estimate the statistical characteristics of
the system behavior.
For more detailed information on these sampling techniques, see “Monte Carlo
Reference Information,” on page 515.
3. Set the following options in the Sampling Technique Options area, which vary
based on your selected sampling technique:

„ Number of Simulations. Determine the number of simulations to be executed.


The default number is 1000 for simple random sampling, and 100 for
descriptive sampling. A higher number of simulations specified generally
results in an increase in the accuracy level of statistical predictions.

„ Use a fixed seed. The seed can be fixed by clicking this check box and
specifying the seed manually in the corresponding text box. If this check box is
not activated, the seed is determined randomly.

Note: A fixed seed can also be set and used for the entire model. If a fixed seed
is set for the model and also defined separately in Monte Carlo, then the one in
Monte Carlo will be used. If a fixed seed is set for the model and this option is
not selected, then the sequence of random numbers will be based on the
model’s random seed (and thus is still reproducible). For information on
setting a fixed seed, refer to the Isight User’s Guide.
4. Set the following options in the Execution Options area, as desired:

„ Execute Monte Carlo sample points in parallel. Select this option if you'd
like the sample points defined by the Monte Carlo simulation to be executed in
parallel. Note that the convergence check interval may limit the number of
sample points that are executed in parallel to batches that are the size specified
for this convergence check interval.

„ After execution, reset to mean value point and run. With this option
selected (default), after execution of all Monte Carlo simulation points, the
random variables will be set to their mean values and the Monte Carlo subflow
will be executed one additional time. In this case, the Monte Carlo parameters

Isight Component Guide


Using the Monte Carlo Component 87

(inputs and outputs) will be left at the values calculated for this “mean value
point”. If this option is not selected, the Monte Carlo parameters after
execution will be left at the values associated with the last (random) Monte
Carlo simulation point.

„ Convergence Check Interval. This integer value specifies the frequency at


which the convergence of the Monte Carlo response statistics (low order -
mean and standard deviation) are checked. The default setting requires the
convergence of response statistics to be checked after every 25 sample points.
Decreasing this value may result in premature convergence; since the sample
points are random, or in random order/combinations, sufficient sample points
are needed to determine if the response statistics are accurately estimated.

„ Convergence Tolerance. This value is the Monte Carlo termination criterion,


which specifies the fractional change in response mean and standard deviation
that will allow the simulation to be terminated before reaching the specified
number of simulations. For example, if you want the simulation process to stop
if the change in the response statistics goes below 5 percent, enter a value of
0.05 in the corresponding text box. Convergence is checked after each set of
simulations defined by the Convergence Check Interval (by default, after each
set of 25 simulations). The default Convergence Tolerance is 0.001.

Note: You can map these settings to parameters. For more information, see
“Mapping Options and Attributes to Parameters,” on page 94.

5. (optional) Click the Advanced Options... button; then, set either of the following
options:

„ Execute subflow only once. If selected, the subflow executes only one time.
This is useful in models that need to turn the driver logic on/off parametrically.
This option is also helpful in debugging the process.

Note: You can map this setting to a parameter. For more information, see
“Mapping Options and Attributes to Parameters,” on page 94.
„ Allow the following to be turned off by parameters. This option allows you
to de-activate (turn off) the selected types of design parameters (random
variables, responses) using input parameters to the Monte Carlo components.
If this option is selected, boolean input parameters will be created in an Active
Random Variables/Active Responses aggregate under the Mapped Options
and Attributes aggregate parameter. The parameters are selected by default. If

Isight Component Guide


88 Chapter 2 Using Process Components

any of the parameters are not selected at runtime, then those design parameters
will not be used during execution.

6. Proceed to “Using the Random Variables Tab” on this page.

Using the Random Variables Tab


To use the Random Variables tab:
1. Click the Random Variables tab. The contents of the tab appear.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

3. Select the parameters you want to use as random variables by clicking the check

box that corresponds to the parameter. To select all parameters, click the
button at the bottom of the tab. If no parameters are selected, you will be prompted
to add all parameters as random variables. To deselect all the parameters, click the

Isight Component Guide


Using the Monte Carlo Component 89

button. Once you select a random variable, its name is displayed in the
Distribution Information area, and the rest of the tab is activated.

4. Click the Correlation Matrix button if you want to use random variable
correlation to sample the random variable distributions. This feature induces the
required correlations on the given sample of random variables while preserving the
individual distributions. The Linear Correlation Matrix for Random Variables
dialog box appears.

5. Type the desired values (-1.0 to 1.0) in the white text boxes in the dialog box.

Note: To completely remove a number already present in a text box, press the
BACKSPACE key on your keyboard.

6. Click OK to accept your changes and return to the component editor.

Isight Component Guide


90 Chapter 2 Using Process Components

7. Set any of the following options, some of which vary based on your distribution
selection:

„ Click the Distribution button to set the probability distribution option for the
random variable. Like sampling techniques, random variable distributions are
implemented as “plug-ins” used by the Monte Carlo component. They are
extendable by creating new “plug-ins” for new distributions.

The distribution plug-ins currently available in Isight are the following:


• Discrete-Uniform
• Exponential
• Gumbel - largest
• Gumbel - smallest
• Lognormal
• Normal
• Triangular
• Uniform
• Weibull
Note: For more information on these distribution options, see “Understanding
Distribution Types,” on page 519.
„ Mean. This distribution parameter represents the measure of central tendency
of a random variable. Its default setting is the current value of the parameter.

„ Standard Deviation. This distribution parameter represents the measure of


dispersion of a random variable. Its default setting is 10% of the mean value.

„ Coeff. of Variation. This distribution parameter is the value of the standard


deviation divided by the mean for the random variable. The default value
is 0.1.

„ Allowed Values. (Discrete-Uniform distribution only). This distribution


parameter is the discrete set of values that the random variable may take. Each
value has an equal probability (equal to 1/(number of values)).

„ Lambda (Exponential distribution only). This distribution parameter is the


scale parameter for the exponential distribution, and is equal to one over the
mean value and/or one over the standard deviation (mean and standard
deviation are equal for the exponential distribution).

Isight Component Guide


Using the Monte Carlo Component 91

„ Alpha (Gumbel, Lognormal, and Weibull distributions). This distribution


parameter is the location parameter for the Gumbel and lognormal
distributions, and is the scale parameter for the Weibull distribution.

„ Beta (Gumbel, Lognormal, and Weibull distributions). This distribution


parameter is the scale parameter for the Gumbel distributions, and is the shape
parameter for the Lognormal and Weibull distributions.

„ Low (Triangular and Uniform distributions). This distribution parameter is the


lower limit for the triangular and uniform distributions.

„ Mode (Triangular distribution only). This distribution parameter is the shape


parameter of the triangular distribution, representing the peak of the triangle.

„ High (Triangular and Uniform distributions). This distribution parameter is


the upper limit for the triangular and uniform distributions.

„ Truncate Distribution Tail(s). Activate this option if you wish to truncate a


distribution tail, or both the lower and upper tail. Upon selection, entries
appear for Lower and Upper, referring to the lower tail and the upper tail.
Specify the location at which the distribution is to be truncated. Values of the
distribution below the Lower truncation value and above the Upper truncation
value will not be sampled. The distribution preview graphs are updated to
display the effects of truncation.

Note: You can use the button to edit the information for multiple random
variables. For more information, see “Editing Attributes for Multiple Parameters,”
on page 100.

Note: You can map any setting to a parameter. For more information, see
“Mapping Options and Attributes to Parameters,” on page 94.

8. Review the preview graphs on the right side of the tab. These graphs are
automatically updated based on changes made to the selected random variables
distribution properties. A legend below the graph explains the color coding. The
graphs display the following information:

„ Probability Density. This graph shows the actual shape of the selected
distribution with regard to the probability density function.

„ Cumulative Distribution. This graph shows the actual shape of the selected
distribution with regard to the cumulative distribution function.

Isight Component Guide


92 Chapter 2 Using Process Components

9. Set the Update random variable mean values to current parameter values
before execution option. This option, at the bottom of the tab, allows for
automatic updating of mean values of all random variables to the current parameter
values in this component, prior to executing the Monte Carlo component. The
default is to have this option deactivated, and to retain settings. If you want to
automatically change the settings to the current point when the Monte Carlo
component is executed, click this check button to activate it. This option is useful
if the Monte Carlo component is executed after another component, and parameter
values are taken from the previous component.
10. Proceed to “Using the Responses Tab,” on this page.

Using the Responses Tab


To use the Responses tab:

1. Click the Responses tab. The contents of the tab appear.

The output parameters are listed on this tab.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the

Isight Component Guide


Using the Monte Carlo Component 93

preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

3. Select the output parameters you want to use as responses by clicking the
corresponding check boxes. To select all parameters, click the Check button at the
bottom of the tab. If no parameters are selected, you will be prompted to add all
parameters as responses. To deselect all the parameters, click the Uncheck button.

4. Set the response’s options, as necessary for your simulation:

„ Lower Limit. If a response value is specified in the Lower Limit column for a
response, the probability of response values greater than that lower limit will
be calculated and reported after all simulations are complete.

„ Upper Limit. If a response value is specified in the Upper Limit column for a
response, the probability of response values less than that upper limit will be
calculated and reported after all simulations are complete.

Note: If both Lower and Upper limits are specified, the Total probability
between the limits is also reported. This response probability can be used to
characterize the reliability of that response with respect to remaining between
the limits. The total probability of failure with respect to the specified limits
can be determined by subtracting the total probability from one.
„ Percentile. If a percentile value (a value between 0 and 1) is specified in the
Percentile column for a response, the response value corresponding to that
percentile of the resulting response distribution will be reported after all
simulations are complete.
Note: When you move your mouse pointer over or click a specific column, the
graph that represents that value is outlined on the right side of the tab. The graph
not only gives you a visual aid, but provides text information about the individual
settings.

Note: You can also set response options using the Edit... button at the bottom of
the editor. For more information, see “Editing Attributes for Multiple Parameters,”
on page 100.

Isight Component Guide


94 Chapter 2 Using Process Components

5. (optional) If desired, map any of these response attributes to parameters. For more
information, see “Mapping Options and Attributes to Parameters” on this page.

6. Click OK to close the editor and save your changes. Click Apply to save your
changes, but keep the editor open.

Mapping Options and Attributes to Parameters


The configuration (technique options, execution options, and design parameter
attributes) of a design driver-type component is stored in the property information for
the component. However, you can drive these options and attributes by parameters. For
example, the number of simulations in a Monte Carlo component can be driven by a
parameter in a previous component.

To map an option to a parameter:


1. Open the Monte Carlo component editor.

2. Perform one of the following actions:

„ To map a technique option value to a parameter, proceed to step 3.


„ To map an execution option to a parameter, proceed to step 7.

„ To map a random variable attribute to a parameter, proceed to step 11.

„ To map a response attribute to a parameter, proceed to step 15.


3. Click the value in the text box for the technique option whose value you want to
map. The value is highlighted.

4. Right-click the value; then, select Map this value to a parameter option. The
Select a Parameter dialog box appears prompting you to enter the name of a
parameter to which you want to map.

Isight Component Guide


Using the Monte Carlo Component 95

5. Type a name for the parameter (by default, the technique option name is used);
then, click OK. Once mapped, the icon appears next to the technique option’s
value. You can click this icon to view or change the parameter name. You can also
right-click on the setting again to remove the parameter name.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter.
6. Click Apply to save your changes; then, proceed to step 18.

7. Right-click any of the following execution options in the bottom left corner of the
editor:

„ Execute Monte Carlo sample points in parallel

„ After execution, reset to mean value point and run

„ Convergence Check Interval (right-click in the text box)

„ Convergence Tolerance (right-click in the text box)

„ Execute subflow only once (you need to click the Advanced Options... button
to gain access to this option)

Isight Component Guide


96 Chapter 2 Using Process Components

8. Select the Map this value to a parameter option. The Select a Parameter dialog
box appears prompting you to enter the name of a parameter to which you want to
map.

9. Type a name for the parameter (by default, the execution option name is used);
then, click OK. Once mapped, the icon appears next to the execution option.
You can click this button to view or change the parameter name. You can also
right-click on the setting again to remove the mapping.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter.

10. Click Apply to save your changes; then, proceed to step 18.

11. Click the Random Variables tab.

Isight Component Guide


Using the Monte Carlo Component 97

12. Right-click in the Standard Deviation text box; then, click Map this value to a
parameter. The Select a Parameter dialog box appears prompting you to enter the
name of a parameter to which you want to map.

13. Type a name for the parameter (by default, the Standard Deviation option name is
used); then, click OK. Once mapped, the icon appears next to the tuning
parameter’s value. You can click this icon to view or change the parameter name.
You can also right-click on the setting again to remove the parameter name.

14. Click Apply to save your changes; then, proceed to step 18.

15. Click the Responses tab.


16. Right-click the attribute you want to map. A menu appears.

Isight Component Guide


98 Chapter 2 Using Process Components

17. Perform one of the following options:

„ If you want to apply the mapping to only the selected parameter, select the
Map <Attribute_Name>to a parameter for selected option.

„ If you want to apply the mapping to all the parameters, select the Map
<Attribute_Name> to a parameter for all option.

The icon appears next to the tuning parameter’s value. You can click this icon
to view or change the parameter name.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as member(s) of a special aggregate parameter called Mapped
Attributes and Options.
Note: You can remove these mappings at any time. Simply right-click the
appropriate parameter attribute; then, select the Remove mapping of
<Attribute_Name> to a parameter for selected or Remove mapping of
<Attribute_Name> to a parameter for all option, depending on how you
originally mapped the attribute.
Note: If an entire array is selected as a random variable/response (as opposed to
individual elements), a corresponding array will be created in the Mapped
Attributes and Options parameter with elements that will map to the

Isight Component Guide


Using the Monte Carlo Component 99

corresponding elements of the random variable/response array during execution. If


the random variable/response is a dynamic array, make sure you construct the
model in such a way that the mapped attribute array parameter is resized in sync
with the random variable/response array. If this is not done, warning messages will
be sent to your job log.

18. Click OK to close the component editor and return to the Design Gateway.

19. Click the Parameters tab.

20. Locate the new aggregate parameter called Mapped Attributes and Options;
then, click the icon to expand the parameter. The new mappings appear.

Isight Component Guide


100 Chapter 2 Using Process Components

Editing Attributes for Multiple Parameters


You can add, remove, and edit attributes for multiple design parameters (factors,
random variables, responses, etc.) at the same time.

To edit attributes for multiple design parameters:


1. Select the parameter(s) you want to add/remove/edit on either the Random
Variables or Responses tab.

To select all parameters, click the button (Check button on the Responses

tab) at the bottom of the tab. To deselect all the parameters, click the
button (Uncheck button on the Response tab).

2. Click the button (Edit... button on the Response tab) at the bottom of the
component editor.

The Edit dialog box appears. In the following example, a parameter on the
Random Variables tab is being edited.

3. Update the listed values, as desired. Only options with defined values appear on
this dialog box.

4. Click OK. The values are updated for all the parameters that were selected.

Isight Component Guide


Using the Monte Carlo Component 101

Setting Monte Carlo Component Preferences


To set component preferences:

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.

2. Expand the Components folder on the left side of the dialog box; then, select
Monte Carlo.

3. Set the Default Sampling Technique preference option. This option determines
which sampling technique will automatically appear every time the component
editor for a newly inserted component is first opened.
4. Click OK to save your changes and close the Preferences dialog box.

Using the Monte Carlo Component API


The Monte Carlo component provides an API for programmatically configuring the
Monte Carlo component using a Java program. For information about Component
APIs and how they use keywords on generic get/set/add/call methods, see “Editing
Component Properties,” on page 25.

The API for the Monte Carlo component consists of the following method:
get("MonteCarloPlan"). This returns a MonteCarloPlan object from the
com.engineous.sdk.designdriver.plan package. From that entry point you have access
to numerous methods for setting/configuring the sampling technique, adding/editing
random variables and responses, and configuring execution options. For more
information on configuring the Monte Carlo component, refer to the javadocs for the
MonteCarloPlan interface in your <Isight_install_directory>/javadocs directory.

Isight Component Guide


102 Chapter 2 Using Process Components

Using the Optimization Component


The Optimization component in Isight is a basic optimization design driver, which has
all required functionality for performing simple optimization studies on problems of a
various nature. This implementation of the Optimization component allows execution
of any single optimization algorithm from the following list:

„ Archive-Based Micro Genetic Algorithm


„ Adaptive Simulated Annealing
„ Downhill Simplex
„ Hooke-Jeeves Direct Search Method
„ Generalized Reduced Gradient - LSGRG2
„ Modified Method of Feasible Directions - MMFD
„ Multifunction Optimization System Tool - MOST
„ Multi-Island Genetic Algorithm - MIGA
„ Neighborhood Cultivation Genetic Algorithm - NCGA
„ Sequential Quadratic Programming - NLPQL
„ Non-dominated Sorting Genetic Algorithm - NSGA-II
„ Pointer Automatic Optimizer
„ Stress Ratio

Note: Some of the algorithms listed above may not be included in your installation,
depending on your license.

The list of available optimization algorithms includes the best algorithms from several
major classes of optimization algorithms, such as gradient-based numeric techniques,
direct search techniques, and exploratory techniques. This approach assures that most
of the needs of the optimization design engineer area are covered by this Optimization
component.

For detailed information on each of these techniques, as well as their parameters, see
the remaining topics in this section.

This section is divided into the following topics:

„ “Understanding Optimization Feasibility,” on page 103

„ “Opening the Editor and Using the General Tab,” on page 105

„ “Using the Variables Tab,” on page 111

Isight Component Guide


Using the Optimization Component 103

„ “Using the Constraints Tab,” on page 114

„ “Using the Objectives Tab,” on page 116

„ “Mapping Options and Attributes to Parameters,” on page 118

„ “Editing Attributes for Multiple Parameters,” on page 123

„ “Using Technique Tuning Parameters,” on page 124


„ “Setting Optimization Component Preferences,” on page 152

„ “Using the Optimization Component API,” on page 153

Understanding Optimization Feasibility


Optimization techniques classify the designs which they evaluate into feasible and
infeasible designs. A design is feasible if it satisfies all constraints placed upon the
design space during execution of an optimization technique; a design is infeasible if it
violates one or more of those constraints. The concept of feasibility is used to
distinguish: (a) designs which are physically constructible from designs which are not;
(b) designs which fit as parts within a larger assembly from designs which do not fit;
(c) designs which satisfy minimal performance requirements from designs which do
not; and so forth.

For optimization, the term “constraints” specifically means “output constraints”


requirements placed upon the output parameters of a design space. This is because
output values are not directly controllable. Technique implementations in general (and
Isight implementations in particular) enforce input constraints - that is, they evaluate
only designs within the specified design space - so the notion of “violation” does not
apply to them.

Optimization components in Isight mark the feasibility of evaluated designs by setting


the “Feasibility” member of the “Optimization Results” aggregate parameter for each
evaluated design. This member is an integer-valued parameter. For each evaluated
design, the feasibility code assigned to this member reflects both the feasibility of the
design and the relationship between the feasibility of the design and that of
previously-evaluated designs. The code values are calculated as described in Table 2-1
on page 104.

Isight Component Guide


104 Chapter 2 Using Process Components

Table 2-1. Optimization Feasibility Codes

Code Designation Explanation


1 Infeasible This design violates one or more constraints. This design is
not as good as the previous best design (which is necessarily
also infeasible - see [*] below), but it is not necessarily the
worst design.
2 Infeasible - Tie This design violates one or more constraints. This design is
as good as the previous best design (which is necessarily
also infeasible - see [*] below).
3 Infeasible - Better This design violates one or more constraints. This design is
better than the previous best design (which is necessarily
also infeasible - see [*] below).
7 Feasible This design satisfies all constraints. This design is not as
good as the previous best design in terms of the calculated
ObjectiveAndPenalty (objective + penalty for constraint
violation). There may be an infeasible design that could be
considered better than this design if the constraint violation
is small.
8 Feasible - Tie This design satisfies all constraints. This design is as good
as the previous best feasible design, and is better than any
infeasible design.
9 Feasible - Better This design satisfies all constraints. This design is better
than the previous best (feasible or infeasible) design.

[*] - A feasible design is always considered better than any infeasible design. As a
result, feasibility codes 2 and 3 end up being used only until the first feasible design is
evaluated.

The feasibility code values 4, 5, and 6 are not currently used. The code values used in
Isight have been chosen to coincide with the feasibility code values used in the earlier
product iSIGHT; within that product, those code values are used only by a particular
optimization technique which has not (as yet) been re-implemented for Isight.

Assigned feasibility codes are meaningful only for designs which have been
successfully evaluated. If execution of the Optimization component’s workflow failed
for some design, the value of the “Feasibility” member for that design should be
disregarded (most likely it will have the value 0, denoting an unusable design).

Isight Component Guide


Using the Optimization Component 105

Warning: Different optimization components within a model may apply different


constraints to the same underlying submodel. When that has been done, you must be
very careful when interpreting feasibility codes among two or more optimizations.

Opening the Editor and Using the General Tab


To open the Optimization component editor and use the General tab:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide. The Component Editor dialog box appears.

Note: If you are connected to a Fiper ACS, and a message appears about some
optimization techniques not being published, you’ll need to publish to the ACS
Library if you plan on using these listed techniques. Execute the publishall
file located in the <Isight_install_directory>\bin\win32 directory (on UNIX/Linux,
this file is located in the <Isight_install_directory>/bin directory) from a
Command Prompt (Windows) or terminal window (UNIX/Linux). You need to
have Fiper administrator privileges to execute this file. When prompted, connect to
the ACS you are currently using with Isight and the optimization techniques are
published. You’ll have to close and re-open the Optimization component before

Isight Component Guide


106 Chapter 2 Using Process Components

using these newly added techniques. For more information on publishing to an


ACS Library, refer to the Fiper Installation and Configuration Guide that matches
your ACS combination or contact your local Fiper ACS administrator.

The dialog box is divided into four tabs: General, Design Variables, Constraints,
and Objectives. The General tab is used for selecting the optimization technique
and configuring execution options (see step 2). The three remaining tabs are used
for specifying parameters as design variables, constraints, and objectives, as well
as setting their corresponding attributes.

2. Click the Optimization Technique button; then, select the technique you want to
use from the drop-down list that appears. The technique’s tuning parameters
appear directly below the Technique button, and information about the technique
appears in the Technique Description area on the right side of the editor.

Note: You can set the default selection for the optimization technique using the
component preferences as described in “Setting Optimization Component
Preferences,” on page 152.

3. Set the following execution options, if available, in the Execution Options area:

„ Execute in parallel. This option controls how the design points will be
executed during optimization. (This option is not available for all techniques.)
If selected, design points will be executed in parallel, in small batches. The
size of the batch depends on the number of selected Design Variables for
numerical techniques or the size of the population for exploratory techniques.
„ Restore optimum design point after execution. If this option is selected,
optimization will set parameters to the best design point after execution. If this
option is not selected, the optimization will keep all parameters at their last
values (last execution of the subflow) after execution.

„ Re-execute optimum design point. This option forces the optimization


component to re-execute the optimum design point after the end of
optimization. Re-executing is recommended if there are some output
parameters that are not directly involved in optimization, but their values
depend on the values of Design Variables (for example, output file
parameters).

„ Use automatic variable scaling. If this option is selected, Design Variables


will be scaled using their respective ranges (i.e., distances between their upper
and lower bounds). The Scale Factor column will be removed from the

Isight Component Guide


Using the Optimization Component 107

Variables page of the dialog, since the values of scale factors will be
automatically calculated.

Note: You must define all upper and lower bounds (or allowed values) for all
design variables when this option is selected. If some design variables do not
have bounds, you will not be able to use this option.
You can set default selection for this option using the component preferences
as described in “Setting Optimization Component Preferences,” on page 152.
Note: You can map these settings to parameters. For more information, see
“Mapping Options and Attributes to Parameters,” on page 118.

4. (optional) Click the Advanced Options... button on the Execution tab. The
Advanced Options dialog box appears with the Execution tab in front.

5. Set either of the following options:

„ Execute subflow only once. If selected, the subflow executes only one time,
and constraints, objectives, and penalty values are calculated. This is useful in
models that need to turn the driver logic on/off parametrically. This option is
also helpful in debugging the process.

Note: You can map this setting to a parameter. For more information, see
“Mapping Options and Attributes to Parameters,” on page 118.
„ Allow the following items to be turned off by parameter. This option allows
you to disable some design parameters at runtime by using parameters. When
this option is selected, a set of special “switch” variables are created. By

Isight Component Guide


108 Chapter 2 Using Process Components

changing the values of these special variables, you can disable their
corresponding design parameters.

You can select the any of the following:


• Design Variables
• Constraints
• Objectives
6. Click the General Termination tab. The contents of the tab appear.

7. Select any of the following termination criteria. If you select more than one
criterion, optimization will terminate whenever any of the criteria are met.

„ The latest design point is. Select feasible or infeasible. Optimization


terminates when the design point becomes feasible or infeasible.

„ The number of subflow runs reaches. Enter the number of subflows that
should complete before optimization terminates.

Isight Component Guide


Using the Optimization Component 109

„ The elapsed execution time for this component reaches. Enter the amount
of time that should elapse before optimization terminates. Time can be entered
in seconds, minutes, or hours.

„ The date and time reaches. Enter the date and time when optimization should
terminate. Enter the date and time in the following format:

6/12/07 11:20 AM

8. Click the Parameter Termination tab. The contents of the tab appear.

9. Select the Terminate optimization when the following parameter criteria are
satisfied check box, if desired. The following options are available:

„ Criteria must be satisfied over the following number of consecutive


subflow runs. Enter the amount of subflow runs that must satisfy the selected
termination criteria before optimization terminates.

„ Criteria will be tested after the following number of initial subflow runs.
Enter the amount of subflow runs that should complete before the criteria are
tested.

„ Terminate optimization only when ALL selected criteria are satisfied.


Click this check box if you want all of the selected parameter criteria to be met
before optimization terminates. If this is not selected, the optimization will
terminate when any one of the parameter criteria is met.

Isight Component Guide


110 Chapter 2 Using Process Components

10. Select a parameter; then, enter the upper and/or lower threshold that, when this
parameter crosses, optimization should terminate. Select the Check button to
select all parameters. Click the Uncheck button to uncheck all the parameters and
the Terminate optimization when the following parameter criteria are
satisfied check box.

11. Click OK to close the Advanced Execution Options dialog box.

12. Review the information in the Optimization Technique Description area. For
additional information on the technique, see “Optimization Reference
Information,” on page 575.

13. Set the tuning parameter values for your technique in the Optimization Technique
Options area.

Note: You can map tuning parameter settings to parameters. For more information,
see “Mapping Options and Attributes to Parameters,” on page 118.
For more information on these options, see one of the following sections:

„ “Using Archive-Based Micro Genetic Algorithm Tuning Parameters,” on


page 125

„ “Using Adaptive Simulated Annealing Tuning Parameters,” on page 130

„ “Using Hooke-Jeeves Tuning Parameters,” on page 134


„ “Using Generalized Reduced Gradient Tuning (LSGRG2) Parameters,” on
page 136
„ “Using Modified Method of Feasible Directions (MMFD) Parameters,” on
page 138

„ “Using Multifunction Optimization System Tool (MOST) Parameters,” on


page 139

„ “Using Multi-Island Genetic Algorithm Tuning Parameters,” on page 141

„ “Using Neighborhood Cultivation Genetic Algorithm (NCGA) Tuning


Parameters,” on page 143

„ “Using Sequential Quadratic Programming (NLPQL) Tuning Parameters,” on


page 145

Isight Component Guide


Using the Optimization Component 111

„ “Using Non-dominated Sorting Genetic Algorithm - NSGA-II Tuning


Parameters,” on page 147

„ “Using Pointer Automatic Optimizer Tuning Parameters,” on page 150

„ “Using Stress Ratio Tuning Parameters,” on page 151


14. Proceed to “Using the Variables Tab,” on this page.

Using the Variables Tab


To use the Variables tab:

1. Click the Variables tab. The contents of the tab appear.

The list of parameters on this tab includes all parameters of modes Input and
In/Out from the Optimization component, and also parameters of the same modes
from the subflow components, if they are not mapped to any parameters of the
Optimization component.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial

Isight Component Guide


112 Chapter 2 Using Process Components

default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

3. Perform any of the following actions, which vary based on your model design:

„ Determine which parameters you wish to use as variables by selecting the


corresponding check boxes in the first column. Selecting a subflow parameter
as a variable will, at a later time, create a corresponding parameter in the
Optimization component. Only parameters of type real, integer, and string can
be variables.

You can also select all of the listed variables (including array elements) using
the Check button at the bottom of the tab.
„ Specify the lower bound for the variables in the corresponding column. If you
do not specify lower bound values, the default value -1e15 will be used. This
will result in a very large range for the design variables and may reduce the
chances of finding a good design. It is recommended that you specify lower
bounds for all variables. This setting is required if you are using the automatic
scaling component preference. For more information, see “Setting
Optimization Component Preferences,” on page 152.

„ Alter the initial value in the Value column.


Note: This column is not available for Multi-Island Genetic Algorithm, since
the initial design point is not used by this algorithm.
Warning: The initial values of the variables will be overridden at the
execution time if the Optimization component is a child component of another
process component (for example, a Task component). Therefore, to change the
initial values of variables, you must change the corresponding parameter
values in the parent (Task) component.
Warning: Changing initial values of variables essentially changes their values
in the main Design Gateway window. These changes are immediate and
cannot be reversed by clicking Cancel on the Optimization Component editor.
„ Specify the upper bound for the variables in the corresponding column. If you
do not specify upper bound values, the default value +1e15 will be used. This
will result in a very large range for the design variables and may reduce the
chances of finding a good design. It is recommended that you specify upper
bounds for all variables. This setting is required if you are using the automatic

Isight Component Guide


Using the Optimization Component 113

scaling component preference. For more information, see “Setting


Optimization Component Preferences,” on page 152.

„ Type a list of allowed values in the Allowed Values column, separated by a


semicolon. If you enter allowed values, the lower and upper bounds are erased,
and vice versa. Entering a list of allowed values creates a discrete variable, and
tells the Optimization component that only these values can be used during
optimization. The optimization algorithm will view this variable as an integer
parameter with the range of values 0,1,2,...,N-1, where N is the length of the
allowed values list.

„ Set the scale factor for the variable in the corresponding column. Scale factors
are used to bring variable values to the same order of magnitude to improve the
efficiency of the optimizers.

Note: This column does not appear if you use the automatic scaling component
preference. For more information, see “Setting Optimization Component
Preferences,” on page 152.
„ (Multi-Island Genetic Algorithm technique only) Set the value in the Gene
Size column. This value controls the number of bits N in all genes used for
encoding the value of each variable. Every bit of the gene can change its value
between 0 and 1. The total number of possible combinations in every gene is
then 2^N. This number of combinations determines the minimum change in
the value of any design variable during all genetic operations - take the
allowed range of values for a design variable, and divide it by the total number
of combinations. To increase the minimum change in design variable values
(i.e., to decrease the number of possible bit combinations when the allowed
range of design variable values is small), decrease the gene size.

Note: You can also set variable options using the Edit... button at the bottom of the
editor. For more information, see “Editing Attributes for Multiple Parameters,” on
page 123.

4. (optional) If desired, map any of these variable attributes to parameters. For more
information, see “Mapping Options and Attributes to Parameters,” on page 118.

5. Proceed to “Using the Constraints Tab,” on page 114.

Isight Component Guide


114 Chapter 2 Using Process Components

Using the Constraints Tab


To use the Constraints tab:

1. Click the Constraints tab. The constraints for your problem are displayed.

The list of parameters on this tab includes all parameters of mode Output from the
Optimization component, and also parameters of mode Output from the subflow
components, if they are not mapped to any parameters in the Optimization
component. When any subflow parameter is selected as a constraint, a
corresponding parameter is created in the Optimization component.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

Isight Component Guide


Using the Optimization Component 115

3. Perform any of the following options, which vary based on your model design:

„ Determine which parameters you wish to use as constraints by selecting the


corresponding check boxes in the first column. You can also select all of the
listed parameters using the Check button at the bottom of the tab.

„ Set the lower and upper bound of a constraint in the corresponding columns.

„ Set the constraint’s target in the corresponding column.


„ Set the constraint’s scale and weight factors in the corresponding columns.
Scale factors are used to bring constraint values to the same order of
magnitude to improve the efficiency of the optimizers. Weight factors are used
to change the importance of various constraints.

Note: You can also set constraint options using the Edit... button at the bottom of
the editor. For more information, see “Editing Attributes for Multiple Parameters,”
on page 123.

4. (optional) If desired, map any of these constraint attributes to parameters. For more
information, see “Mapping Options and Attributes to Parameters,” on page 118.

The value of each constraint is calculated as follows:

„ Constraint Value (Lower Bound) = (LB-Parm)*W/S


„ Constraint Value (Upper Bound) = (Parm-UB)*W/S
„ Constraint Value (Target) = (Parm-T)*W/S

where LB is the lower bound value, UB is the upper bound value, T is the target
value, Parm is the parameter value, W is the weight factor, and S is the scale factor.

5. Proceed to “Using the Objectives Tab,” on page 116.

Isight Component Guide


116 Chapter 2 Using Process Components

Using the Objectives Tab


To use the Objectives tab:

1. Click the Objectives tab. The contents of the tab appear.

The list of parameters on this tab includes all parameters of mode Output from the
Optimization component, and also parameters of the same modes from the subflow
components, if they are not mapped to any parameters in the Optimization
component. Also, design variables (selected on the Variables tab) are included in
the list of parameters.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

Isight Component Guide


Using the Optimization Component 117

3. Perform any of the following actions, which vary based on your model design:

„ Determine which parameters you wish to use as objectives by selecting the


corresponding check boxes in the first column. You can also select all of the
listed objectives (including array elements) using the Check button at the
bottom of the tab.

When a subflow parameter is selected as an objective, a corresponding


parameter is created in the Optimization component.
Several of the optimization techniques are designed to directly optimize
multiple objectives at one time. These “multi-objective” techniques are
AMGA, NCGA, and NSGA-II. All other optimization techniques are not
capable of handling several objectives directly and require that a single
objective function be formed from all selected objective parameters.
The value of the objective function is calculated as a sum of all objective
components with corresponding weight and scale factors:
Objective = Sum (OBJi * Wi / Si)

where OBJi is the contribution to the objective function of the i-th objective
component (parameter), Wi is the corresponding weight factor, and Si is the
corresponding scale factor.
If the direction of a specific objective parameter is “minimize”, its contribution
to the objective function equals the parameter value itself:
OBJi = Parmi

If the direction of a specific objective parameter is “maximize”, its


contribution to the objective function equals the parameter value multiplied
by -1 to reverse the direction, since the Optimization component always
minimizes the objective function:
OBJi = -1.0 x Parmi

If the direction of a specific objective parameter is “target”, its contribution to


the objective function is calculated as follows:

OBJi = Sqrt [(Parmi-Targeti)2+0.04]- 0.2

„ Click the Direction column to specify whether or not you want to minimize
the objective, maximize the objective, or set a target for the objective. A
drop-down list appears, allowing you to alter the specification.

Isight Component Guide


118 Chapter 2 Using Process Components

„ If you selected target in the Direction column, set the objective’s target in the
corresponding column.

„ Set the objective’s scale and weight factors in the corresponding columns.

Note: You can also set objective options using the Edit... button at the bottom of
the editor. For more information, see “Editing Attributes for Multiple Parameters,”
on page 123.

4. (optional) If desired, map any of these objective attributes to parameters. For more
information, see “Mapping Options and Attributes to Parameters” on this page.

5. Click OK to close the editor and save your changes. Click Apply to save your
changes, but keep the editor open.

Mapping Options and Attributes to Parameters


The configuration (technique options, design parameter attributes, and execution
options) of a design driver-type component is stored in the property information for the
component. However, you can drive these options and attributes by parameters. For
example, the maximum number of iterations in an Optimization component can be
driven by a parameter sent to the Optimization component from a previous component.

To map an option to a parameter:


1. Open the Optimization component editor.

2. Perform one of the following actions:

„ To map a technique option to a parameter, proceed to step 3.


„ To map an execution option to a parameter, proceed to step 7.

„ To map a variable, constraint, or objective attribute to a parameter, proceed to


step 11.

3. Click the value in the Value column for the tuning parameter whose value you
want to map. The value is highlighted.

Isight Component Guide


Using the Optimization Component 119

4. Right-click the value; then, select the Map this value to a parameter option. The
Select a Parameter dialog box appears prompting you to enter the name of a
parameter to which you want to map.

5. Type a name for the parameter (by default, the technique option name is used);
then, click OK. Once mapped, the icon appears next to the technique option’s
value. You can click this icon to view or change the parameter name. You can also
right-click on the setting again in order to remove the mapping.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter called Mapped Attributes and
Options.

6. Click Apply to save your changes; then, proceed to step 15.

Isight Component Guide


120 Chapter 2 Using Process Components

7. Right-click any of the following execution options in the bottom left corner of the
editor:

„ Execute in parallel
„ Restore optimum design point after execution
„ Re-execute optimum design point
„ Use automatic variable scaling
„ Execute subflow only once (you need to click the Advanced Options... button
to gain access to this option)

8. Select the Map this value to a parameter option. The Select a Parameter dialog
box appears prompting you to enter the name of a parameter to which you want to
map.

Isight Component Guide


Using the Optimization Component 121

9. Type a name for the parameter (by default, the turning parameter name is used);
then, click OK. Once mapped, a button appears next to the execution option.
You can click this button to view or change the parameter name. You can also
right-click on the setting again to remove the mapping.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter called Mapped Attributes and
Options.

10. Click Apply to save your changes; then, proceed to step 15.
11. Determine if you want to map a variable, constraint, or objective attribute; then,
click the appropriate tab on the component editor.

12. Right-click the attribute you want to map. A menu appears.

Note: If there is no value defined for the attribute, the menu may not appear. You
must first create the attribute by typing a value and pressing the ENTER key.

Isight Component Guide


122 Chapter 2 Using Process Components

13. Perform one of the following options:

„ If you want to apply the mapping to only the selected parameter, select the
Map <Attribute_Name> to a parameter for selected option.

„ If you want to apply the mapping to all the parameters, select the Map
<Attribute_Name> to a parameter for all option.

The icon appears next to the tuning parameter’s value. You can click this icon
to view or change the parameter name.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as member(s) of a special aggregate parameter called Mapped
Attributes and Options.

Note: You can remove these mappings at any time. Simply right-click the
appropriate parameter attribute; then, select the Remove mapping of
<Attribute_Name> to a parameter for selected or Remove mapping of
<Attribute_Name> to a parameter for all option, depending on how you
originally mapped the attribute.

Note: If an entire array is selected as a design variable/constraint/objective (as


opposed to individual elements), a corresponding array will be created in the
Mapped Attributes and Options parameter with elements that will map to the

Isight Component Guide


Using the Optimization Component 123

corresponding elements of the design variable /constraint/objective array during


execution. If the design variable/constraint/objective is a dynamic array, make sure
you construct the model in such a way that the mapped attribute array parameter is
resized in sync with the design variable/constraint/objective array. If this is not
done, warning messages will be sent to your job log.

14. Click OK to close the component editor and return to the Design Gateway.

15. Click the Parameters tab.

16. Locate the new aggregate parameter called Mapped Attributes and Options;
then, click the icon to expand the parameter. The new parameters appear.

Editing Attributes for Multiple Parameters


You can edit attributes for multiple design parameters (factors, design variables,
responses, objectives, etc.) at the same time.

Isight Component Guide


124 Chapter 2 Using Process Components

To edit attributes for multiple design parameters:

1. Select the parameters you want to edit on either the Variables, Constraints, or
Objectives tab.

To select all parameters on a particular tab, click the Check button at the bottom of
the tab. To deselect all the parameters, click the Uncheck button.

2. Click the Edit... button at the bottom of the component editor. The Edit dialog box
appears. In the following example, a parameter on the Variables tab is being
edited.

3. Update the listed values, as desired. Only options with defined values appear on
this dialog box.

4. Click OK. The values are updated for all the parameters that were selected.

Using Technique Tuning Parameters


This section describes the different tuning parameters for each optimization technique
provided with Isight. Review one of the following topics for more information:

„ “Using Archive-Based Micro Genetic Algorithm Tuning Parameters,” on page 125

„ “Using Adaptive Simulated Annealing Tuning Parameters,” on page 130


„ “Using Downhill Simplex Tuning Parameters,” on page 134

„ “Using Hooke-Jeeves Tuning Parameters,” on page 134

„ “Using Generalized Reduced Gradient Tuning (LSGRG2) Parameters,” on


page 136

Isight Component Guide


Using the Optimization Component 125

„ “Using Modified Method of Feasible Directions (MMFD) Parameters,” on


page 138

„ “Using Multifunction Optimization System Tool (MOST) Parameters,” on


page 139

„ “Using Multi-Island Genetic Algorithm Tuning Parameters,” on page 141

„ “Using Neighborhood Cultivation Genetic Algorithm (NCGA) Tuning


Parameters,” on page 143

„ “Using Sequential Quadratic Programming (NLPQL) Tuning Parameters,” on


page 145

„ “Using Non-dominated Sorting Genetic Algorithm - NSGA-II Tuning


Parameters,” on page 147

„ “Using Pointer Automatic Optimizer Tuning Parameters,” on page 150

„ “Using Stress Ratio Tuning Parameters,” on page 151

Using Archive-Based Micro Genetic Algorithm Tuning


Parameters
The following tuning parameters are available on the Optimization component editor’s
General tab when AMGA is selected:

„ Initial Size (multiple of 4). This parameter controls the number of solutions
generated initially. It specifies the size of the starting population. In general, the
larger the size of the starting population, the better the coverage of the search
space. The initial population is generated randomly (or assigned from an external
source) and is controlled by this parameter. The default value is 40. Other possible
values are ≥ 4.
„ Population Size (multiple of 4). This parameter controls the size of the parent
population created at each iteration. Unlike other evolutionary algorithms, this
population is created based on the search history of the algorithm. The population
size must be less than or equal to the initial size. The number of new solutions
created at each iteration is half of the population size. It is recommended that you
not change the default setting for this parameter. A small overall value is
recommended. The default value is 40. Other possible values are ≥ 4.

Isight Component Guide


126 Chapter 2 Using Process Components

„ Number of Function Evaluations. This parameter controls the number of


function evaluations (number of subflow evaluations) allowed for the
optimization. The actual number of function evaluations used by the algorithm
need not be the same as this parameter setting. However, it will be either less than
or equal to the parameter setting. The default value is 500.

„ Archive Size Limit. This parameter controls the amount of search history
information held by the algorithm (the larger the archive size, the better the
simulation results). However, the complexity of the algorithm varies as N2 log(N),
where N is the archive size. Therefore, increasing the archive size will increase the
execution time for identical numbers of function evaluations. It is recommended
that you not change the value of this parameter. The archive size must be less than
or equal to the number of function evaluations and greater than or equal to the size
of the initial population. The default value is 500.

„ Pareto Size Limit. This parameter defines the upper limit on the number of
solutions desired at the end of the simulation run. The actual number of solutions
reported need not be equal to the Pareto Size Limit (it will depend on the problem
and the number of solutions that were found by the algorithm). You can safely
increase the Pareto Size Limit to the Archive Size Limit without any loss in
solution quality or increase in computation time. The default value is 100.

„ Crossover Probability. This parameter controls the probability with which parent
solutions should be recombined to generate the offspring solutions. This parameter
should be set between 0.5 and 1.0. In general, a high probability of crossover
(0.9~1.0) is recommended. The default value is 0.9.
„ Mutation Probability. This parameter controls the probability with which an
offspring solution should be mutated. The mutation has the effect of slightly
perturbing the offspring solution. The recommended value for this parameter is
1/n, where n is the number of design variables. By default, the algorithm uses the
1/n value when the Use optimal mutation rate option (described below) is enabled.
This parameter is provided for cases where a high mutation rate is deliberately
desired.

„ Use optimal mutation probability. This parameter controls whether or not the
optimal mutation probability is used. By default, this option is enabled. It is
recommended that you leave this option enabled. If this option is enabled, any
custom value specified in the Mutation Probability option (described above) is
ignored.

Isight Component Guide


Using the Optimization Component 127

„ Crossover Distribution Index. The numerical value of this parameter is (in


general) inversely proportional to the amount of perturbation in the design
variables (the smaller the value of the parameter, the larger the perturbation, and
vice versa). Therefore, a smaller value improves the resilience to premature
convergence at the cost of a highly focused search. The default value should be
sufficient in most cases. If the obtained solution is far from the desired optimum,
the parameter may be reduced to a value as small as 0.5. If a “good” solution is
obtained, but the solution lacks accuracy, a value as large as 100.0 can be used.
The default value is 10.0.
A “good” solution implies that the solution lies in the globally optimal basin and is
close to the Pareto-optimal frontier. If having solutions very close to the
Pareto-optimal frontier are desired and it is difficult to achieve such accuracy, the
Crossover Distribution Index and Mutation Distribution Index settings can be
increased. These settings are inversely proportional to the amount of perturbation
(change) in the design variables. Increasing the indices reduces the change and,
thus, may help you locate more accurate solutions.
„ Mutation Distribution Index. The numerical value of this parameter is (in
general) inversely proportional to the amount of perturbation in the design
variables (the smaller the value of the parameter, the larger the perturbation, and
vice versa). Therefore, a smaller value improves the resilience to premature
convergence at the cost of highly focused search. The default value should be
sufficient in most cases. If the obtained solution is far from the desired optimum,
the parameter can be reduced to a value as small as 0.5. If a good solution is
obtained, but the solution lacks accuracy, a value as large as 100.0 can be used.
The default value is 20.0.

Note: This setting is used in conjunction with the Crossover Distribution Index
setting to increase the accuracy of your solutions.

Isight Component Guide


128 Chapter 2 Using Process Components

„ Initialization Mode. The initialization mode is used to specify how the initial
(starting) population (set of solutions) should be generated. AMGA incorporates
three different methods for generating the initial population. It can be generated
randomly, seeded from a starting solution, or read from a user-specified file. The
default and recommended value is Random. All three behavior options are
described below.
„ Random. This option causes the algorithm to generate the initial population
randomly. This method is based on Latin Hypercube sampling coupled with
unbiased Knuth Shuffling. It generates an almost uniform distribution of points
inside of the search space.

„ Starting Solution. This option causes the algorithm to generate a point cloud
around the starting point. This cloud’s density reduces exponentially as you
move away from the point. The probability density drops to zero at the
variable boundaries. The starting solution is always present as the first member
of the population.

„ Starting Population. This option allows you to specify an input file from
which to read the initial population. The Pareto file output generated by the
algorithm can be used as the input file for subsequent simulations. A
user-generated file that contains all the design variables can also be used as the
input file. The file’s column headers are used to identify the variables. All of
the design points read by the algorithm are evaluated. The initialization file
must contain at least one solution. If the number of solutions in the
initialization file is less than the population size, the remaining solutions are
generated randomly. If the number of solutions in the initialization file is more
than the population size, extra solutions at the end of the file are discarded (not
read).
„ Initialization Filename. This parameter is used only when the initialization mode
is set to the Starting Population option. The specified file name is read during the
initialization process. The location of the file is validated and checked only during
runtime. The following explains the requirements of the initialization file:

The first line must contain parameter names, separated by a space or tab; the
remaining lines must contain data values.

Each line must have the same number of values as the number of parameter names
in the header line. Only the input values are used from the initialization file; it is
not necessary to include output values. All design points read from the

Isight Component Guide


Using the Optimization Component 129

initialization file will be sent for evaluation by the Optimization component, as if


they were randomly generated points.

Only the required number of data points will be used from the initialization file.
This number equals the size of the population configured in the technique options
for your component.

If your data file contains more designs than necessary, then make sure that the
desired data points are located at the beginning of the file. If the number of
solutions in the initialization file is more than the population size, extra solutions at
the end of the file are discarded (not read).

The rest of the design points will be generated randomly if the data file does not
contain enough data points to fill the initial population.

„ Diversity Option. AMGA uses two different diversity preservation operators with
varying computational complexity and solution quality. The two operators are
Crowding and ENNS (Efficient Nearest Neighbor Search). ENNS is
computationally more expensive and provides better solution quality. The
Crowding distance computation is quicker, but the solution quality is poor when
more than two objectives are present. You should use the Crowding option if the
number of objectives is two. If the number of objectives is more than 2, you should
use the ENNS option. The default value is Crowding.
„ Use fixed random seed. If this option is selected, the random number generator
used by the optimization algorithm is seeded using the value specified in the
corresponding text box. All executions of the Optimization component will use
exactly the same sequence of random numbers and, therefore, will produce exactly
the same design points. This arrangement is useful for debugging the optimization
process when it is necessary to reproduce the same sequence of design points.

If this option is not selected, the random number generator is seeded by using the
clock time at the moment of execution.

Isight Component Guide


130 Chapter 2 Using Process Components

Using Adaptive Simulated Annealing Tuning Parameters


The following tuning parameters are available on the Technique tab when ASA is
selected:

„ Max Number of Generated Designs. Maximum number of generated designs


during optimization. This number does not account for the 5 initial designs used by
the algorithm to determine the starting temperature of the cost function. The type
of value is integer. The default value is 10000. Other possible values are ≥ 1.
„ Number of Designs for Convergence Check. A simple convergence check is
implemented in the ASA algorithm. The cost value of each accepted design is
compared to the cost value of the best design found so far. If the two values differ
by less than Convergence Epsilon for N consecutive times (where N is Number of
Designs for Convergence Check), optimization is terminated. The type of value is
integer. The default value is 5. Other possible values are ≥ 2.

„ Convergence Epsilon. Maximum difference of cost value between each accepted


design and the best design found so far, to indicate that optimization is converged.
The convergence criterion must be satisfied for N consecutive time (where N is
Number of Designs for Convergence Check). The type of value is real. The default
value is 1.0E-8. Other possible values are > 0.

„ Relative Rate of Parameter Annealing. Relative speed of reducing parameter


temperatures during optimization. Reducing the value down from 1.0 will allow
parameter temperatures to stay high for a longer time (more variation within
generated designs). Increasing the value up from 1.0 will reduce parameter
temperatures faster (less variation in the generated designs). The type of value is
real. The default value is 1.0. Other possible values are > 0.

„ Relative Rate of Cost Annealing. Relative speed of reducing cost function


temperature during optimization. Reducing the value down from 1.0 will allow
cost temperature to stay high for a longer time (more generated designs are
accepted by the algorithm). Increasing the value up from 1.0 will reduce cost
temperature faster (more generated designs are rejected by the algorithm). The
type of value is real. The default value is 1.0. Other possible values are > 0.

„ Relative Rate of Parameter Quenching. Parameter quenching is a process of


rapid reduction of the parameter temperatures and in effect overrides the slow
annealing process and turns it into a fast quenching process. Using quenching
considerably reduces the variability of the generated designs, making finding a
global optimum less likely and greatly increases chances of convergence to a local

Isight Component Guide


Using the Optimization Component 131

optimum. Increasing the value up from 1.0 will activate the rapid parameter
temperature reduction. Reducing the value down from 1.0 will greatly extend the
time required to reduce parameter temperature for convergence. Use quenching
only if you want to considerably speed up or slow down the convergence of the
algorithm. The type of value is real. The default value is 1.0. Other possible values
are > 0.
„ Relative Rate of Cost Quenching. Cost quenching is a process of rapid reduction
of the cost temperatures and in effect overrides the slow annealing process and
turns it into a fast quenching process. Using quenching considerably reduces the
acceptance probability, reducing the chances of finding a global optimum and
greatly increasing the chances of convergence to a local optimum. Increasing the
value up from 1.0 will activate the rapid cost temperature reduction. Reducing the
value down from 1.0 will greatly extend the time required to reduce cost
temperature for convergence. Use quenching only if you want to considerably
speed up or slow down the convergence of the algorithm. The type of value is real.
The default value is 1.0. Other possible values are > 0.
„ Max Number of Failed Designs. Maximum number of consecutive design
analysis failures before the algorithm terminates. Due to the random nature of the
algorithm, it is possible to generate designs that cannot be handled by the analysis
code(s). Such occasional failures are ignored by the ASA algorithm. If the failures
become persistent, the algorithm will stop executing. The type of value is integer.
The default value is 5. Other possible values are ≥ 1.

„ Init Param Temperature. Initial parameter temperature. This parameter can be


used to extend or reduce the execution time of the algorithm without changing the
nature of the search. The type of value is real. The default value is 1.0. Other
possible values are > 0.
„ Reanneal Parameters. When the algorithm comes to a stagnation point, it may be
beneficial to re-start the annealing process again using the best design point found
so far. If this option is set to yes, ASA algorithm will employ several criteria to
determine when a reannealing of parameters must be performed. One of the criteria
is Num of Generated Designs Before Reannealing. Another criterion is Num of
Accepted Designs Before Reannealing. The most effective criterion is Min Ratio
of Accepted Designs for Reannealing. The default setting is yes.

„ Reanneal Cost Function. When the algorithm comes to a stagnation point, it may
be beneficial to re-start the annealing process again using the best design point
found so far. If this option is set to yes, ASA algorithm will employ several criteria

Isight Component Guide


132 Chapter 2 Using Process Components

to determine when a reannealing of cost function must be performed (same criteria


as for parameter reannealing). One of the criteria is Num of Generated Designs
Before Reannealing. Another criterion is Num of Accepted Designs Before
Reannealing. The most effective criterion is Min Ratio of Accepted Designs for
Reannealing. The default setting is yes.

„ Num of Designs Before Reannealing. When the number of generated designs


reaches this value, reannealing of parameter and/or cost function temperatures will
be performed, if allowed by the previous options. The type of value is integer. The
default value is 1000. Other possible values are ≥ 1.

„ Num of Accepted Designs Before Reannealing. When the number of accepted


designs reaches this value, reannealing of parameter and/or cost function
temperatures will be performed, if allowed by the previous options. The type of
value is integer. The default value is 100. Other possible values are ≥ 1.

„ Min Ratio of Accepted Designs for Reannealing. When the ratio of the number
of accepted designs to the number of generated designs reaches this value,
reannealing of parameter and/or cost function temperatures will be performed, if
allowed by the previous options. The type of value is real. The default value is
1.0E-6. Other possible values are ≥ 0.

„ Rel Gradient Step for Param Reannealing. During reannealing, parameter


temperatures are increased in proportion to their effect on the cost function. To
determine the effect of each parameter (design variable) on the cost function,
gradients of the cost function are calculated using the finite differencing method.
This parameter controls the value of the parameter step used for gradient
calculation. The type of value is real. The default value is 0.001 (0.1 percent).
Other possible values are ≥ 0.
„ Penalty Base. The ASA algorithm evaluates the goodness of a design point using
the combined value of the objective function and penalty function. When
calculating the penalty function of the design, Penalty Base can be used for all
designs that violate at least one constraint. This allows the technique to better
differentiate feasible designs with a slightly higher objective function from
infeasible designs with a slightly lower objective function.

The total penalty function is calculated as follows:

Penalty = PenaltyBase + PenaltyMultiplier * Sum (VIOLATIONi * Wi / Si) ^


PenaltyExponent

Isight Component Guide


Using the Optimization Component 133

where VIOLATIONi is the i-th constraint violation value, Wi is the corresponding


weight factor, and Si is the corresponding scale factor. PenaltyBase is set to zero if
no constraints are violated. The default value is 0.0.

„ Penalty Multiplier. This parameter is used to increase or decrease the effect of the
total constraint violations on the measure of the design goodness. The default value
is 1000.0.

„ Penalty Exponent. This parameter can be used to increase or decrease the


non-linearity of the effect of the total constraint violations on the penalty function
value. The default value is 2.

„ Failed Run Penalty Value. This parameter represents the value of the Objective
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Failed Run Objective Value. This parameter represents the value of the Objective
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Use fixed random seed. If this option is selected, the random number generator
used by the optimization algorithm is seeded using the value specified in the
corresponding text box. All executions of the Optimization component will use
exactly the same sequence of random numbers and, therefore, will produce exactly
the same design points. This arrangement is useful for debugging the optimization
process when it is necessary to reproduce the same sequence of design points.

If this option is not selected, the random number generator is seeded by using the
clock time at the moment of execution.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor.

Isight Component Guide


134 Chapter 2 Using Process Components

Using Downhill Simplex Tuning Parameters


The following tuning parameters are available on the Technique tab when Downhill
Simplex is selected:

„ Initial Simplex Size. This is the size of the starting simplex as a fraction of your
domain. It should be a real value greater than zero and less than or equal to one. It
has the highest probability of finding a global optimum when started with a bigger
initial size. Since it spans a larger fraction of the design space, the chances of
getting trapped in a local minimum are smaller. The default value is 0.1 which is
equivalent to 10% of the domain.

„ Max Iterations. This parameter sets the maximum number of design iterations
that you want the optimizer to run. The type of value is integer. The default value
is 40.

Using Hooke-Jeeves Tuning Parameters


The following tuning parameters are available on the Technique tab when
Hooke-Jeeves is selected:

„ Max Iterations. This parameter sets the maximum number of iterations you want
the optimizer to run. An iteration, in this technique, includes the following actions.
Starting with the current base point, each design variable is perturbed up or down
(cost: one or two runs per variable), and any improvements are saved. The
accumulated change is used to determine the next base point. The default value is
10.

„ Max Evaluations. This parameter sets the maximum number of evaluations. The
default is 100.

„ Relative Step Size. This parameter determines the initial step size during the
design perturbations as a fraction of the parameter value (i.e., if a design variable
has a starting value of 1.0 and Relative Step Size is 0.5, the initial perturbation will
be 0.5). The default value is 0.5.

„ Step Size Reduction Factor. This parameter sets the step size reduction factor. It
should be set to a value between 0.0 and 1.0. Larger values give greater probability
of convergence on highly nonlinear functions, at a cost of more function
evaluations. Smaller values reduce the number of evaluations (and the program
running time), but increase the risk of nonconvergence. The default value is 0.5.

Isight Component Guide


Using the Optimization Component 135

„ Termination Step Size. This parameter sets the termination step size. When the
algorithm begins to make less and less progress on each iteration, it checks this
parameter. If the step size is below Termination Step Size, the optimization
terminates, and returns the current best estimate of the optimum. Larger values of
Termination Step Size (for example, 1.0E-4) have a quicker running time, but a
less accurate estimate of the optimum. Smaller values of Termination Step Size
(for example, 1.0E-7) have a longer running time, but a more accurate estimate of
the optimum. The default value is 1.0E-6.

„ Penalty Base. Hooke-Jeeves algorithm evaluates the goodness of a design point


using the combined value of the objective function and penalty function. When
calculating the penalty function of the design, Penalty Base can be used for all
designs that violate at least one constraint. This allows the technique to better
differentiate feasible designs with a slightly higher objective function from
infeasible designs with a slightly lower objective function.

The total penalty function is calculated as follows:

Penalty = PenaltyBase + PenaltyMultiplier * Sum (VIOLATIONi * Wi / Si) ^


PenaltyExponent

where VIOLATIONi is the i-th constraint violation value, Wi is the corresponding


weight factor, and Si is the corresponding scale factor. PenaltyBase is set to zero if
no constraints are violated. The default value is 0.0.

„ Penalty Multiplier. This parameter is used to increase or decrease the effect of the
total constraint violations on the measure of the design goodness. The default value
is 1000.0.

„ Penalty Exponent. This parameter can be used to increase or decrease the


non-linearity of the effect of the total constraint violations on the penalty function
value. The default value is 2.

„ Max Failed Runs. This parameter is used to set the maximum number of failed
subflow evaluations that can be tolerated by the optimization technique. If the
number of failed runs exceeds this value, the optimization component will halt
execution.

Isight Component Guide


136 Chapter 2 Using Process Components

„ Failed Run Penalty Value. This parameter represents the value of the Penalty
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Failed Run Objective Value. This parameter represents the value of the Objective
parameter that is used for all failed subflow runs. The default value is 1.0E30.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor.

Using Generalized Reduced Gradient Tuning (LSGRG2)


Parameters
The following tuning parameters are available on the Technique tab when LSGRG2 is
selected:

„ Max Iterations. This parameter sets the maximum number of design iterations
you want the optimizer to run. The type of value is integer. The default value is 10.
Other possible values are ≥ 1.

„ Convergence Epsilon. This parameter sets the convergence criterion for


LSGRG2. If the relative change in objective function is smaller than Convergence
Epsilon for a number of iterations, or the necessary Kuhn-Tucker optimality
conditions are satisfied to within Convergence Epsilon, optimization is terminated.
The default value is 0.0010.

„ Rel Step Size. This parameter sets the value of the relative gradient step size for
LSGRG2 when calculating gradients by finite differencing. The absolute step
value is calculated by LSGRG2 as follows:

dx = (1+x)*GradientStepSize

where x is the current value of a design variable. Note that, for small values of x,
GradientStepSize becomes the absolute value of the step (when x = 0). For large
values of x, GradientStepSize becomes the relative step size (when x >> 1). In
general, the best value for GradientStepSize is sqrt(eps), where eps is the relative
error in the computed function values (simcode outputs), such as if function values
are available to full double precision (eps = 1e-16), GradientStepSize should be
about 1e-8. The type of value is real. The default value is 0.0010. Other possible
values are > 0.

Isight Component Guide


Using the Optimization Component 137

„ Convergence Iterations. This parameter sets the number of iterations used in the
convergence check (see definition of Convergence Epsilon above). The type of
value is integer. The default value is 3. Other possible values are ≥ 1.

„ Binding Constraint Epsilon. This parameter sets the value of the threshold for
binding constraints. If a constraint is within this epsilon of its bound, it is assumed
to be binding. This parameter may have a strong effect on the speed of the
optimization convergence. Increasing it can sometimes speed convergence (by
requiring fewer Newton iterations during a one-dimensional search), while
decreasing it occasionally yields more accurate solution, or gets optimization
moving if the algorithm gets “stuck.” Values larger than 1e-2 should be treated
cautiously, as should values smaller than 1e-6. The type of the value is real. The
default value is 1.0E-4. Other possible values are > 0.

„ Phase 1 Objective Ratio. This parameter sets the ratio of the true objective value
to the sum of constraint violations to be used as the objective function during the
so-called Phase 1 of optimization. LSGRG2 uses the Generalized Reduced
Gradient method, which is designed to work in the feasible domain. If the initial
design is not feasible, the first step is to obtain a feasible point from which
feasibility is maintained thereafter. This is known as Phase 1 of optimization with
LSGRG2. The Phase 1 objective function is the sum of the constraint violations
plus, optionally, a fraction of the true objective. This optimization phase terminates
either with a message that the problem is infeasible or with a feasible solution. If
an infeasibility message is produced, the program may have become stuck at a
local minimum of the Phase 1 objective (or too large a part of the true objective
was incorporated), and the problem may actually have feasible solutions. The
suggested remedy, if you suspect that this is so, is to choose a different starting
point (or reduce the proportion of the true objective) and try again. The default
value is 1.0. Other possible values are > 0.
„ Max Failed Runs. This parameter is used to set the maximum number of failed
subflow evaluations that can be tolerated by the optimization technique. If the
number of failed runs exceeds this value, the optimization component will halt
execution.

„ Failed Run Penalty Value. This parameter represents the value of the Penalty
parameter that is used for all failed subflow runs. The default value is 1.0E30.

Isight Component Guide


138 Chapter 2 Using Process Components

„ Failed Run Objective Value. This parameter represents the value of the Objective
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Save Technique Log. Most optimization techniques create a log file of


information/messages as they run. This information can be useful for determining
why an optimizer took the path that it did or why it converged. Some of these log
files can get extremely large, so they are not stored with the run results by default.
Select this option if you want to store the log with the run results (as a file
parameter) for later viewing.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor.

Using Modified Method of Feasible Directions (MMFD)


Parameters
The following tuning parameters are available on the Technique tab when MMFD is
selected:

„ Max Number of Iterations. An iteration consists of two phases. In the first phase,
a plausible search direction is computed from the gradient of the objective function
and constraints at the current design point. In the second phase, new designs are
evaluated along the selected direction (cost: one run per design) until no
improvements are found, or until a constraint is violated. The two phases are
repeated until the specified convergence requirements are met. This option
controls how many of these pairs of phases will take place. The type of value is
integer. The default value is 40.

„ Relative Gradient Step. This parameter sets the relative finite difference step size
to be used by the optimizer, when calculating gradients using finite difference
techniques. The default value is 0.01 (1 percent).

„ Min Abs Gradient Step. This parameter sets the smallest (minimum) absolute
value of the finite difference step when calculating gradients. It prevents a step
from being too small when a parameter value is near zero. The default value is
0.001.

„ Abs Convergence Criterion. This parameter is a termination criterion. If the


objective does not change by more than this value in successive iterations, then
optimization is terminated. The type of value is real. The default value is 0.001.

Isight Component Guide


Using the Optimization Component 139

„ Rel Convergence Criterion. This parameter is a termination criterion. If the


fractional (relative) change in objective value is smaller than the value of this
criterion for several successive iterations, the optimization is terminated. The type
of value is real. The default value is 0.001 (0.1% of the objective value).

„ Failed Run Penalty Value. This parameter represents the value of the Penalty
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Failed Run Objective Value. This parameter represents the value of the Objective
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Save Technique Log. Most optimization techniques create a log file of


information/messages as they run. This information can be useful for determining
why an optimizer took the path that it did or why it converged. Some of these log
files can get extremely large, so they are not stored with the run results by default.
Select this option if you want to store the log with the run results (as a file
parameter) for later viewing.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor.

Using Multifunction Optimization System Tool (MOST)


Parameters
The following tuning parameters are available on the Technique tab when MOST is
selected:
„ Max iterations. An iteration consists of two phases. In the first phase, a plausible
search direction is computed from the gradient of the objective function and
constraints at the current design point. In the second phase, new designs are
evaluated along the selected direction (cost: one run per design) until no
improvements are found, or until a constraint is violated. The two phases are
repeated until the specified convergence requirements are met. This option
controls how many of these pairs of phases will take place. The type of value is
integer. The default value is 10.

„ Convergence Epsilon. This parameter sets the convergence criterion for MOST.
The necessary Kuhn-Tucker optimality conditions are satisfied to within
Convergence Epsilon, optimization is terminated. The default value is 1.0E-4.

Isight Component Guide


140 Chapter 2 Using Process Components

„ Rel Step Size. This parameter sets the relative finite difference Step size for the
creation of the linear model. The type of value is real. The default value is 1.0E-4.
Other possible values are > 0.0.

„ Min Abs Step Size. This parameter sets the minimum absolute finite difference
Step for the creation of the linear model. The type of value is real. The default
value is 1.0E-4. Other possible values are > 0.0.

„ Max Confirmation Runs. This parameter specifies the number of iterations that
must satisfy the objective convergence criterion before optimization is terminated.
The default is 5.

„ Acceptable Obj Change. This parameter specifies the acceptable value for
objective change for optimization termination. The default is 1.0E-10.

„ Constraint Tolerance. This parameter specifies the acceptable constraint


violation for feasible designs. The default is 1.0E-4. Other possible values are >0.
„ Max Failed Runs. This parameter is used to set the maximum number of failed
subflow evaluations that can be tolerated by the optimization technique. If the
number of failed runs exceeds this value, the optimization component will halt
execution.

„ Failed Run Penalty Value. This parameter represents the value of the Penalty
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Failed Run Objective Value. This parameter represents the value of the Objective
parameter that is used for all failed subflow runs. The default value is 1.0E30.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor.

Isight Component Guide


Using the Optimization Component 141

Using Multi-Island Genetic Algorithm Tuning Parameters


The following tuning parameters are available on the Technique tab when Multi-Island
GA is selected:

„ Sub-Population Size. Size of each island population. The total population is


spread out equally between the islands. The size of the total population depends on
the number of islands and the size of sub-population. The type of value is integer.
The default value is 10. Other possible values are ≥ 1.
„ Number of Islands. The number of islands. The type of value is integer. The
default value is 10. Other possible values are ≥ 1.
„ Number of Generations. Number of generations that will be evaluated by the
algorithm. Each generation includes sub-populations on all islands. The type of
value is integer. The default value is 10. Other possible values are ≥ 1.

„ Rate of Crossover. Percentage of designs (expressed as a fraction) in each


generation that will be subjected to the “crossover” operation. The type of value is
real. The default value is 1.0. Other possible values are ≥ 0 and ≤ 1.0.
„ Rate of Mutation. Probability of mutation of every gene (0 or 1 character within a
chromosome) of every individual. Mutation changes the value of the gene to the
opposite (0 becomes 1, and vice versa). The type of value is real. The default value
is 0.01. Other possible values are ≥ 0 and ≤ 1.0.

„ Rate of Migration. Percentage of designs (expressed as a fraction) of each island's


population that will be migrated to another island when migration occurs. The type
of value is real. The default value is 0.5. Other possible values are ≥ 0 and ≤ 0.5.
„ Interval of Migration. Number of generations between each migration. The
default value is 5.

„ Elite Size. Number of best individuals carried over from the parent generation to
the child generation in each subpopulation. The type of value is integer. The
default value is 1. Other possible values are ≥ 0.

„ Rel Tournament Size. Percentage of designs (expressed as a fraction of the


sub-population) randomly selected from each sub-population, from which the best
individual is then selected for the child generation. Tournament selection allows
for duplicate copies of individuals to be selected for the child generation.
Tournament size cannot be below 1, so if the relative tournament size is too small,
the resulting size of the design subset (tournament) will be adjusted to be at least 1.

Isight Component Guide


142 Chapter 2 Using Process Components

The tournament size of 1 means that the child generation is selected randomly: first
1 design is selected randomly to create the tournament, then the best (the only one)
individual is selected from the tournament. The maximum tournament size is equal
to the size of the sub-population. In this case, the child generation will consist
entirely of duplicates of the best individual from the parent generation. The type of
value is real. The default value is 0.5. Other possible values are ≥ 0 and ≤ 1.0.
„ Penalty Base. Multi-Island Genetic Algorithm evaluates the goodness of a design
point using the combined value of the objective function and penalty function.
When calculating the penalty function of the design, Penalty Base can be used for
all designs that violate at least one constraint. This option allows you to better
differentiate feasible designs with slightly higher objective function from
infeasible designs with a slightly lower objective function.

The total penalty function is calculated as follows:

Penalty = PenaltyBase + PenaltyMultiplier * Sum (VIOLATIONi * Wi / Si) ^


PenaltyExponent

where VIOLATIONi is the i-th constraint violation value, Wi is the corresponding


weight factor, and Si is the corresponding scale factor. PenaltyBase is set to zero if
no constraints are violated. The default value is 0.0.

„ Penalty Multiplier. Penalty Multiplier is used to increase or decrease the effect of


the total constraint violations on the measure of the design goodness. The default
value is 1000.0.
„ Penalty Exponent. Penalty Exponent can be used to increase or decrease the
non-linearity of the effect of the total constraint violations on the penalty function
value. The default value is 2.

„ Max Failed Runs. This parameter is used to set the maximum number of failed
subflow evaluations that can be tolerated by the optimization technique. If the
number of failed runs exceeds this value, the optimization component will halt
execution.
„ Failed Run Penalty Value. This parameter represents the value of the Penalty
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Failed Run Objective Value. This parameter represents the value of the Objective
parameter that is used for all failed subflow runs. The default value is 1.0E30.

Isight Component Guide


Using the Optimization Component 143

„ Default Variable Bound (Abs Val). This value will be used as the upper and
lower bound for all variables without bounds. For lower bound, this value will be
multiplied by -1 (negative value). It is important for MIGA to have bounds for all
variables because the algorithm works by dividing the range of each variable into a
very large number of steps.

„ Use fixed random seed. If this option is selected, the random number generator
used by the optimization algorithm is seeded using the value specified in the
corresponding text box. All executions of the Optimization component will use
exactly the same sequence of random numbers and, therefore, will produce exactly
the same design points. This arrangement is useful for debugging the optimization
process when it is necessary to reproduce the same sequence of design points.

If this option is not selected, the random number generator is seeded by using the
clock time at the moment of execution.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor.

Using Neighborhood Cultivation Genetic Algorithm (NCGA)


Tuning Parameters
The following tuning parameters are available on the Technique tab when NCGA is
selected:

„ Population Size. This parameter controls the number of individuals in each


generation during execution of the NCGA algorithm. The type of value is integer.
The default value is 10. Other possible values are ≥ 1.

„ Number of Generations. This parameter controls the number of generations to be


analyzed by the NCGA algorithm. The type of value is integer. The default value
is 20. Other possible values are ≥ 1.

„ Crossover Type. This parameter controls the type of crossover operation - one
point crossover or two point crossover. The default value is 1. Other possible value
is 2.

„ Crossover Rate. This parameter controls the probability of crossover operation for
each individual in every generation during execution of NCGA algorithm. The
type of value is real. The default value is 1.0. Other possible values are > 0 and ≤
1.0.

Isight Component Guide


144 Chapter 2 Using Process Components

„ Use Optimal Mutation Rate. This parameter controls whether or not NCGA will
use the optimum mutation rate value calculated internally. The default value is
false (no). Other possible value is true (yes).

„ Mutation Rate. This parameter specifies the probability of mutation for each
individual. The type of value is real. The default value is 0.01. Other possible
values are > 0 and ≤ 1.0.

„ Gene Size. This parameter controls the size of the gene used to represent each
individual. The type of value is integer. The default value is 20. Other possible
values are ≥ 1 and ≤ 63.

„ Save Technique Log. Most optimization techniques create a log file of


information/messages as they run. This information can be useful for determining
why an optimizer took the path that it did or why it converged. Some of these log
files can get extremely large, so they are not stored with the run results by default.
Select this option if you want to store the log with the run results (as a file
parameter) for later viewing.

„ Use initialization file. This parameter controls whether or not the algorithm will
use a data file for the initial generation. The default value is false (no). Other
possible value is true (yes).

„ Initialization File. This parameter specifies the name of the data file to be used for
initial generation. The following explains the requirements of the initialization file:

The first line must contain parameter names, separated by a space or tab; the
remaining lines must contain data values.

Each line must have the same number of values as the number of parameter names
in the header line. Only the input values are used from the initialization file; it is
not necessary to include output values. All design points read from the
initialization file will be sent for evaluation by the Optimization component, as if
they were randomly generated points.

Only the required number of data points will be used from the initialization file.
The NCGA technique always includes the starting point sent into the component
(or set manually in the Parameters table); the remaining initial population will be
read by NCGA from the initialization file, if configured to do so. This means that
NCGA will read one data point fewer than the size of the initial population.

If your data file contains more designs than necessary, then make sure that the
desired data points are located at the beginning of the file. If the number of

Isight Component Guide


Using the Optimization Component 145

solutions in the initialization file is more than the population size, extra solutions at
the end of the file are discarded (not read).

The rest of the design points will be generated randomly if the data file does not
contain enough data points to fill the initial population.

„ Iterations for Constraint Violations. This parameter specifies the number of


attempts that NCGA will make in order to satisfy constraints when any individual
in the offspring generation violates constraints. The design, in this case, is
gradually moved back to the previous design known to not violate any constraints.
The type of value is integer. The default value is 0. Other possible values are ≥ 0.

„ Use fixed random seed. If this option is selected, the random number generator
used by the optimization algorithm is seeded using the value specified in the
corresponding text box. All executions of the Optimization component will use
exactly the same sequence of random numbers and, therefore, will produce exactly
the same design points. This arrangement is useful for debugging the optimization
process when it is necessary to reproduce the same sequence of design points.

If this option is not selected, the random number generator is seeded by using the
clock time at the moment of execution.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor.

Using Sequential Quadratic Programming (NLPQL) Tuning


Parameters
The following tuning parameters are available on the Technique tab when NLPQL is
selected:

„ Max Iterations. This parameter sets the maximum number of design iterations
you want the optimizer to run. The type of value is integer. The default value is 10.
Other possible values are ≥ 1.

„ Termination Accuracy. This parameter sets the termination criterion for NLPQL.
The stopping algorithm of NLPQL uses several alternative convergence checks,
with the main convergence parameter based on the Karush-Kuhn-Tucker necessary
optimality condition and the complementary slackness. Termination accuracy is
applied in such a way that the scale of the objective and constraint parameters has
little or no effect on the convergence check.

Isight Component Guide


146 Chapter 2 Using Process Components

The accuracy of the gradients calculation must be considered when selecting the
value of Termination Accuracy. If the simcode outputs are accurate up to 8-10
digits, and the calculated gradients have at least 7 accurate digits, then the
recommended value for Termination Accuracy is 1.0E-7. If the gradient’s accuracy
is lower, the value of Termination Accuracy must be increased to 1.0E-5...1.0E-4.
The type of value is real. The default value is 1.0E-6. Other possible values are > 0
and ≤ 0.1.

„ Rel Step Size. This parameter sets the relative finite difference Step size for the
creation of the linear model. The type of value is real. The default value is 0.0010
(0.1 percent). Other possible values are > 0.0.

„ Min Abs Step Size. This parameter sets the minimum absolute finite difference
Step for the creation of the linear model. The type of value is real. The default
value is 1.0E-4. Other possible values are > 0.0.

„ Use Central Differences. This parameter allows you to determine whether or not
Isight will use the central difference method for calculating output derivatives.
When this option is not selected, the forward difference method is used. Using this
option will increase the accuracy of the gradient calculations at the expense of
double the number of design point evaluations.

„ Max Failed Runs. This parameter is used to set the maximum number of failed
subflow evaluations that can be tolerated by the optimization technique. If the
number of failed runs exceeds this value, the optimization component will halt
execution.

„ Failed Run Penalty Value. This parameter represents the value of the Penalty
parameter that is used for all failed subflow runs. The default value is 1.0E30.
„ Failed Run Objective Value. This parameter represents the value of the Objective
parameter that is used for all failed subflow runs. The default value is 1.0E30.
„ Save Technique Log. Most optimization techniques create a log file of
information/messages as they run. This information can be useful for determining
why an optimizer took the path that it did or why it converged. Some of these log
files can get extremely large, so they are not stored with the run results by default.
Select this option if you want to store the log with the run results (as a file
parameter) for later viewing.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor.

Isight Component Guide


Using the Optimization Component 147

Using Non-dominated Sorting Genetic Algorithm - NSGA-II


Tuning Parameters
The following tuning parameters are available on the Technique tab when NSGA-II is
selected:

„ Population Size (multiple of 4). This parameter controls the number of solutions
generated at each iteration (generation). The initial population is generated
randomly (or assigned from an external source) and is controlled by this parameter.
The minimum allowed value is 4 for this tuning parameter. There is no restriction
on the maximum allowed value for this parameter.

„ Number of Generations. This parameter controls the number of iterations


(evolutionary steps) that the algorithm will execute before termination. This value
must be a positive integer greater than one. The total number of function
evaluations exhausted by the algorithm equals the product of the population size
and the number of generations.

„ Crossover Probability. This parameter controls the probability with which parent
solutions should be recombined to generate the offspring solutions. This parameter
should be in the range of 0.5 and 1.0. In general, high probability of crossover
(0.0~1.0) is recommended.

„ Crossover Distribution Index. Generally, the numerical value of this control


parameter is inversely proportional to the amount of perturbation in the design
variables. The smaller the value of this control parameter, the larger the
perturbation and vice versa. A smaller value thus improves the resilience to
premature convergence at the cost of highly focused search. The default value 10.0
should work in most cases. If the obtained solution is far from the desired
optimum, the parameter may be reduced to a value as small as 0.5. If a good
solution is obtained, but the solution lacks accuracy, a value as large as 100.0 may
be used.

„ Mutation Distribution Index. Generally, the numerical value of this control


parameter is inversely proportional to the amount of perturbation in the design
variables. The smaller the value of this control parameter, the larger the
perturbation and vice versa. A smaller value thus improves the resilience to
premature convergence at the cost of highly focused search. The default value of
20.0 should work in most cases. If the obtained solution is far from the desired
optimum, the parameter may be reduced to a value as small as 0.5. If a good

Isight Component Guide


148 Chapter 2 Using Process Components

solution is obtained, but the solution lacks accuracy, a value as large as 100.0 may
be used.

„ Initialization Mode. The initialization mode can be used to specify how the initial
(starting) population (set of solutions) should be generated. The NSGA-II
algorithm incorporates three different methods for generating the initial
population:

„ randomly
„ seeded from a starting solution
„ read from a user-specified file

The default behavior is to generate the population randomly and is recommended.


The behavior of the algorithm for the three cases is as follows:

„ Random. This choice causes the algorithm to generate the initial population
randomly. This method is based on Latin-Hypercube sampling coupled with
unbiased Knuth Shuffling. It generates almost uniform distribution of points
inside the search space.

„ Starting Solution. If a starting solution is specified, the algorithm generates a


point cloud around the starting point. The density reduces exponentially as we
move away from the point. The probability density drops to zero at the
variable boundaries. The starting solution is always present as the first member
of the population.

„ Starting Population. If this option is selected, you must specify an input file
from which to read the initial population. The Pareto file output by the
algorithm can be used as the input file for a subsequent simulation. A file that
contains all the design variables can also be given as the input file. The column
headers identify the variables. All the design points read by the algorithm are
evaluated. The initialization file must contain at least one solution. If the
number of solutions in the initialization files is less than the population size,
the remaining solutions are generated randomly. If the number of solutions in
the initialization file is more than the population size, extra solutions at the end
of the file are discarded (not read).

„ Initialization Filename. This parameter is used only when the initialization mode
is Starting Population. The filename specified is read during the initialization
process. The location of the file is validated and checked only during runtime. The
following explains the requirements of the initialization file:

Isight Component Guide


Using the Optimization Component 149

The first line must contain parameter names, separated by a space or tab; the
remaining lines must contain data values.

Each line must have the same number of values as the number of parameter names
in the header line. Only the input values are used from the initialization file; it is
not necessary to include output values. All design points read from the
initialization file will be sent for evaluation by the Optimization component, as if
they were randomly generated points.

Only the required number of data points will be used from the initialization file.
This number equals the size of the population configured in the technique options
for your component.
If your data file contains more designs than necessary, then make sure that the
desired data points are located at the beginning of the file. If the number of
solutions in the initialization file is more than the population size, extra solutions at
the end of the file are discarded (not read).
The rest of the design points will be generated randomly if the data file does not
contain enough data points to fill the initial population.

„ Use fixed random seed. If this option is selected, the random number generator
used by the optimization algorithm is seeded using the value specified in the
corresponding text box. If this option is selected, the random number generator
used by the optimization algorithm is seeded using the value specified in the
Random seed value text box. All executions of the Optimization component will
use exactly the same sequence of random numbers and, therefore, will produce
exactly the same design points. This arrangement is useful for debugging the
optimization process when it is necessary to reproduce the same sequence of
design points.

If this option is not selected, the random number generator is seeded by using the
clock time at the moment of execution.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor.

Isight Component Guide


150 Chapter 2 Using Process Components

Using Pointer Automatic Optimizer Tuning Parameters


The following tuning parameters are available on the Technique tab when Pointer is
selected:

„ Maximum allowable job time (hr). This parameter represents the time that
Pointer has to complete a job. Pointer will use all the time you give it, even if it
finds the global optimum early on. The longer it is stuck without finding an
improvement, the more radical changes it will try. Accepts a real input greater than
0.0. The default value is 1.0.

„ Average analysis time (sec). This parameter is the average wall clock time it takes
to run a single simulation, including all Isight-related overhead (for file parsing,
etc.) Pointer takes the ratio of allowable job time and average simulation time to
estimate how many simulations it will be able to do and adjusts its search strategy
accordingly. Accepts a real input greater than 0.0. The default value is 1.0.

„ Topography type. The default value is nonlinear. The following options are
available:

„ linear. This option assumes that objectives and constraints are linear
combinations of the design variables.
„ smooth. Indicates that the function is differentiable everywhere and contains
no discrete steps, but could still contain multiple local minima.
„ rough. Indicates that the function is not necessarily smooth, but only contains
small scale discontinuities or noise.
„ discontinuous. Indicates that the design space could contain large scale
discrete steps, and points where the function is not differentiable.
„ nonlinear. The only assumption made is that objectives and constraints are not
linear combinations of the design variables (i.e., the problem is not a linear
one).
„ unknown. No assumptions have been made about the nature of the design
space.

„ Failed Run Penalty Value. This parameter represents the value of the Penalty
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Failed Run Objective Value. This parameter represents the value of the Objective
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Save Technique Log. Most optimization techniques create a log file of


information/messages as they run. This information can be useful for determining

Isight Component Guide


Using the Optimization Component 151

why an optimizer took the path that it did or why it converged. Some of these log
files can get extremely large, so they are not stored with the run results by default.
Select this option if you want to store the log with the run results (as a file
parameter) for later viewing.

„ Use fixed random seed. If this option is selected, the random number generator
used by the optimization algorithm is seeded using the value specified in the
corresponding text box. All executions of the Optimization component will use
exactly the same sequence of random numbers and, therefore, will produce exactly
the same design points. This arrangement is useful for debugging the optimization
process when it is necessary to reproduce the same sequence of design points.

If this option is not selected, the random number generator is seeded by using the
clock time at the moment of execution.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor.

Using Stress Ratio Tuning Parameters


The following tuning parameters are available on the Technique tab when Stress Ratio
is selected:

„ Max Iterations. The maximum number of simulations to be performed by the


optimizer. Integers greater than zero are accepted. Default value is 20.

„ Power. This is the parameter used to control convergence of the algorithm. This
should be a real value greater than zero and less than one. The default value is 0.4.

„ Constraint Critical Ratio. This parameter controls how satisfied constraints are
handled. A value of 1.0 means that the associated dimension for any satisfied
constraint is reduced according to the standard stress ratio equation. A value of 0.5
means that the dimension of a satisfied constraint will not be reduced until
(actual/allowable) is less than 0.5. A value of 0.0 means that the dimension of a
satisfied constraint will never be reduced.

„ Tolerance. This parameter represents the magnitude change in objective value


between successive iterations that will cause the algorithm to stop. Real inputs
greater than 0.0 are accepted. The default value is 0.0.

Isight Component Guide


152 Chapter 2 Using Process Components

„ Max Failed Runs. This parameter is used to set the maximum number of failed
subflow evaluations that can be tolerated by the optimization technique. If the
number of failed runs exceeds this value, the optimization component will halt
execution.

„ Failed Run Penalty Value. This parameter represents the value of the Penalty
parameter that is used for all failed subflow runs. The default value is 1.0E30.

„ Failed Run Objective Value. This parameter represents the value of the Objective
parameter that is used for all failed subflow runs. The default value is 1.0E30.

Return to step 1 on page 111 for information on using the other tabs on the
Optimization component editor

Setting Optimization Component Preferences


To set component preferences:

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.

2. Expand the Components folder on the left side of the dialog box; then, select
Optimization.

The following preference options are available with the Optimization component:

„ Default Technique. Determine which technique will automatically appear


every time the component editor for a newly inserted component is first
opened.

„ Use automatic variable scaling instead of user-specified scale factors.


Determine if you want to use the automatic method for handling scaling. If this
option is not selected, manual scaling is used.
3. Click OK to save your changes and close the Preferences dialog box.

Isight Component Guide


Using the SDI Component 153

Using the Optimization Component API


The Optimization component provides an API for programmatically configuring the
Optimization component using a Java program. For information about Component
APIs and how they use keywords on generic get/set/add/call methods, see “Editing
Component Properties,” on page 25.

The API for the Optimization component consists of the following method:
get("OptimizationPlan"). This returns an OptimizationPlan object from the
com.engineous.sdk.designdriver.plan package. From that entry point you have access
to numerous methods for setting/configuring the technique, adding/editing design
variables, constraints, and responses, and configuring execution options. For more
information on configuring the Optimization component, refer to the javadocs for the
OptimizationPlan interface in your <Isight_install_directory>/javadocs directory.

Using the SDI Component


The design driver capability available for Isight includes a SDI component. Stochastic
Design Improvement (SDI) is a Monte Carlo simulation-based iterative procedure for
improving a design. At each iteration step, a Monte Carlo sample including design
variables (controllable) and random variables (not controllable) is taken and an
improved design is chosen from among the Monte Carlo “cloud” of points. The
improved design is chosen based on defined response targets, with penalty associated
with violation of defined response limits. The number of iterative steps is
pre-specified, with a “termination threshold distance” allowing early termination if the
new design is within a threshold distance of the target.

This section is divided into the following topics:


„ “Opening the Editor and Using the General Tab,” on page 154

„ “Using the Design Variables Tab,” on page 157

„ “Using the Random Variables Tab,” on page 159

„ “Using the Responses Tab,” on page 163

Isight Component Guide


154 Chapter 2 Using Process Components

„ “Mapping Options and Attributes to Parameters,” on page 165

„ “Editing Attributes for Multiple Parameters,” on page 170

Opening the Editor and Using the General Tab


To access the SDI component editor and use the General tab:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide. The Component Editor dialog box appears.

The editor is divided into four tabs: General, Design Variables, Random Variables,
and Responses. The General tab offers execution options and a description of SDI.
The Design Variables tab allows for the selection and configuration of the design
variables. The Random Variables tab allows for the selection and configuration of
the random variables. The Responses tab allows for the selection and configuration
of the response parameters.

Isight Component Guide


Using the SDI Component 155

2. Set the execution mode in the Execution Options area:

„ Improve Design. This mode implements the Stochastic Design Improvement


algorithm to move the current design closer to the desired response targets.
Improve Design is the default mode.

„ Analyze Design. This mode simply performs a Monte Carlo simulation around
the current design point (current parameter values), varying only random
variables.

Note: The Design Variables tab is not displayed when the Analyze Design
option is selected.
3. Set the following execution options, if available:

„ Number of SDI Steps. Specify the number of new designs chosen and new
sample sets executed. Each step produces a new “best” design point unless no
improvement (no points closer to the target) greater than the Termination
Threshold Distance is identified. The default is five steps.

„ Number of Samples per Step. Specify the number of Monte Carlo samples to
be performed at each SDI iteration. The samples are taken across the
distributions of the random variables and local range of the design variables.
Since the goal is to find a design closer to the targets, not to calculate response
statistics, a large sample set is not necessary. The default is 16 samples.

„ Termination Threshold Distance. This option is the percent change in


distance below which the SDI process will terminate early (before all steps
executed). The default is 10%. If the difference between the previous distance
to the target and the new closest distance to the target is not more than 10% of
the previous distance, the SDI process is terminated. In this case, the change in
distance and associated change in performance cannot be distinguished from
the noise associated with uncontrollable, uncertain random variables. Caution
should be taken when reducing the value of this option.

„ (Analyze Design only) Number of Simulations. Determine the number of


simulations to be executed. The default number is 100. A higher number of
simulations specified generally results in an increase in the accuracy level of
statistical predictions.

Isight Component Guide


156 Chapter 2 Using Process Components

„ Execute sample points in parallel. Select this option of you’d like the sample
points for each SDI step or the complete sample set in Analyze Design mode to
be executed in parallel.

Note: The number of CPUs available may limit the number of sample points
that are actually executed in parallel.
„ Use a fixed seed. The seed can be fixed by clicking this check box and
specifying the seed manually in the corresponding text box. If this check box is
not activated, the seed is determined randomly.
Note: You can map the values of these settings (with the exception of Use a fixed
seed) to a parameter. For more information, see “Mapping Options and Attributes
to Parameters,” on page 165.

4. (optional) Click the Advanced Options... button; then, set either of the following
options:

„ Execute subflow only once. If selected, the subflow executes only one time.
This is useful in models that need to turn the driver logic on/off parametrically.
This option is also helpful in debugging the process.
Note: You can map this setting to a parameter. For more information, see
“Mapping Options and Attributes to Parameters,” on page 165.
„ Allow the following to be turned off by parameters. This option allows you
to de-activate (turn off) the selected types of design parameters (design
variables, random variables, responses) using input parameters to the SDI
component. If this option is selected, boolean input parameters will be created
in an Active Design Variables/Active Random Variables/Active Responses
aggregate under the Mapped Options and Attributes aggregate parameter. The
parameters are selected by default. If any of the parameters are not selected at
runtime, then those design parameters will not be used during execution.

5. Perform one of the following based on your component settings:

„ If you selected the Improve Design option, proceed to “Using the Design
Variables Tab,” on page 157.

„ If you selected the Analyze Design option, proceed to “Using the Random
Variables Tab,” on page 159.

Isight Component Guide


Using the SDI Component 157

Using the Design Variables Tab


This tab is only available if you selected the Improve Design option on the General tab
as described on page 155. If you selected the Analyze Design option, proceed to
“Using the Random Variables Tab,” on page 159.

To use the Design Variables tab:

1. Click the Design Variables tab. The contents of the tab appear.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.
3. Select the parameters you want to use as design variables by clicking the check
box that corresponds to the parameter. To select all parameters, click the Check
button at the bottom of the tab. To deselect all the parameters, click the Uncheck
button.

Isight Component Guide


158 Chapter 2 Using Process Components

4. Specify the lower and upper bounds and initial value for each design variable.
Unlike optimization, SDI requires lower and upper bounds for each design
variable. The sample ranges at each step for SDI are determined by the range of the
design variable, the number of steps, and the current value of the design variable.
The design variable bounds will first default to the problem formulation bounds
defined for the selected parameter on the Design Gateway Formulation tab. If no
problem formulation bounds are defined, the bounds will default to +/- 10% of the
current parameter value if the current parameter value is non zero. If there are no
problem formulation bounds and the current parameter value is 0, the bounds will
be 0.0 and 1.0. For more information on problem formulation, refer to the Isight
User’s Guide.

Note: You can also set variable options using the Edit... button at the bottom of the
editor. For more information, see “Editing Attributes for Multiple Parameters,” on
page 170.

5. (optional) If desired, map the lower and upper bound variable attributes to
parameters. For more information, see “Mapping Options and Attributes to
Parameters,” on page 165.

6. Proceed to “Using the Random Variables Tab,” on page 159.

Isight Component Guide


Using the SDI Component 159

Using the Random Variables Tab


To use the Random Variables tab:

1. Click the Random Variables tab. The contents of the tab appear.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

3. Select the parameters you want to use as random variables by clicking the check
box that corresponds to the parameter. To select all parameters, click the Check
button at the bottom of the tab. To deselect all the parameters, click the Uncheck
button.

Isight Component Guide


160 Chapter 2 Using Process Components

Once you select a random variable, its name is displayed in the Distribution
Information area, and the rest of the tab is activated.

4. Click the Correlation Matrix button if you want to use random variable
correlation to sample the random variable distributions. This feature induces the
required correlations on the given sample of random variables while preserving the
individual distributions.

The Linear Correlation Matrix for Random Variables dialog box appears.

5 Type the desired values (-1.0 to 1.0) in the white text boxes in the dialog box.

Note: To completely remove a number already present in a text box, press the
BACKSPACE key on your keyboard.

6. Click OK to accept your changes and return to the component editor.

Isight Component Guide


Using the SDI Component 161

7. Set any of the following options, some of which vary based on your distribution
selection:

„ Click the Distribution button to set the probability distribution option for the
random variable. Like sampling techniques, random variable distributions are
implemented as “plug-ins” used by the SDI component. They are extendable
by creating new “plug-ins” for new distributions.

The distribution plug-ins currently available in Isight are the following:


• Discrete-Uniform
• Exponential
• Gumbel - largest
• Gumbel - smallest
• Lognormal
• Normal
• Triangular
• Uniform
• Weibull
Note: For more information on these distribution options, see “Understanding
Distribution Types,” on page 519.
„ Mean. This distribution parameter represents the measure of central tendency
of a random variable. Its default setting is the current value of the parameter.

„ Standard Deviation. This distribution parameter represents the measure of


dispersion of a random variable. Its default setting is 10% of the mean value.

„ Coeff. of Variation. This distribution parameter is the value of the standard


deviation divided by the mean for the random variable. The default value
is 0.1.

„ Allowed Values. (Discrete-Uniform distribution only). This distribution


parameter is the discrete set of values that the random variable may take. Each
value has an equal probability (equal to 1/(number of values)).

„ Lambda (Exponential distribution only). This distribution parameter is the


scale parameter for the exponential distribution, and is equal to one over the
mean value and/or one over the standard deviation (mean and standard
deviation are equal for the exponential distribution).

Isight Component Guide


162 Chapter 2 Using Process Components

„ Alpha (Gumbel, Lognormal, and Weibull distributions). This distribution


parameter is the location parameter for the Gumbel and lognormal
distributions, and is the scale parameter for the Weibull distribution.

„ Beta (Gumbel, Lognormal, and Weibull distributions). This distribution


parameter is the scale parameter for the Gumbel distributions, and is the shape
parameter for the Lognormal and Weibull distributions.

„ Low (Triangular and Uniform distributions). This distribution parameter is the


lower limit for the triangular and uniform distributions.

„ Mode (Triangular distribution only). This distribution parameter is the shape


parameter of the triangular distribution, representing the peak of the triangle.

„ High (Triangular and Uniform distributions). This distribution parameter is


the upper limit for the triangular and uniform distributions.

„ Truncate Distribution Tail(s). Activate this option if you wish to truncate a


distribution tail, or both the lower and upper tail. Upon selection, entries
appear for Lower and Upper, referring to the lower tail and the upper tail.
Specify the location at which the distribution is to be truncated. Values of the
distribution below the Lower truncation value and above the Upper truncation
value will not be sampled. The distribution preview graphs are updated to
display the effects of truncation.

Note: You can also set variable options using the button at the bottom of
the editor. For more information, see “Editing Attributes for Multiple Parameters,”
on page 170.

Note: You can map any setting to a parameter. For more information, see
“Mapping Options and Attributes to Parameters,” on page 165.

8. Review the preview graphs on the right side of the tab. These graphs are
automatically updated based on changes made to the selected random variables
distribution properties. A legend below the graph explains the color coding. The
graphs display the following information:

„ Probability Density. This graph shows the actual shape of the selected
distribution with regard to the probability density function.

„ Cumulative Distribution. This graph shows the actual shape of the selected
distribution with regard to the cumulative distribution function.

Isight Component Guide


Using the SDI Component 163

9. Set the Update random variable mean values to current parameter values
before execution option. This option, at the bottom of the tab, allows for
automatic updating of mean values of all random variables to the current parameter
values in this component, prior to executing the SDI component. The default is to
have this option deactivated, and to retain settings. If you want to automatically
change the settings to the current point when the SDI component is executed, click
this check button to activate it. This option is useful if the SDI component is
executed after another component, and parameter values are taken from the
previous component.
10. Proceed to “Using the Responses Tab” on this page.

Using the Responses Tab


To use the Responses tab:

1. Click the Responses tab. The contents of the tab appear.

The output parameters are listed on this tab.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the

Isight Component Guide


164 Chapter 2 Using Process Components

preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

3. Select the output parameters you want to use as responses by clicking the
corresponding check boxes. To select all parameters, click the Check button at the
bottom of the tab. To deselect all the parameters, click the Uncheck button.

4. Set the response’s options, as necessary for your simulation:

„ Target. Specify the desired goal target value for all responses that define
performance of the system. The SDI process will attempt to move the design
towards the specified targets.

Note: The target is not needed when the execution mode is “Analyze Design”.
Additionally, for highly correlated responses, a target should only be defined
for one response in the correlated set so as not to over determine the problem.
„ Target Type. Select the type of the reponse goal for all responses with a
Target value defined (Target Type is required when a target value is entered).
The Target Type determines how the distance from the target is calculated and
how the SDI iterations proceed.
Three options are available for Target Type:
• Hard (= target). Select this target type if the goal is to keep the response as
close as possible to the specified target.
• Soft (<= target). Select this target type if the goal is to get the response
value equal to or below the target value. In this case, if the response value
goes below the target, the response will be removed from the distance
calculation; the response will not be moved back towards the target if it
goes below the target.
• Soft (>= target). Select this target type if the goal is to get the response
value equal to or above the target value. In this case, if the response value
goes above the target, the response will be removed from the distance
calculation; the response will not be moved back towards the target if it
goes above the target.
„ Lower Limit. If a response value is specified in the Lower Limit column for a
response, it will be used to assess penalty on the calculation of the distance
from the target. For all design points with response value below the lower

Isight Component Guide


Using the SDI Component 165

limit, the distance will be penalized, effectively removing the design point
from consideration as a new best design. Also, the probability of response
values greater than the lower limit will be calculated and reported after all
simulations are complete.

„ Upper Limit. If a response value is specified in the Upper Limit column for a
response, it will be used to assess penalty on the calculation of the distance
from the target. For all design points with response value above the upper
limit, the distance will be penalized, effectively removing the design point
from consideration as a new best design. Also, the probability of response
values less than the upper limit will be calculated and reported after all
simulations are complete.

Note: If both Lower and Upper limits are specified, then the Total probability
between the limits is also reported.
„ Percentile. If a percentile value (a value between 0 and 1) is specified in the
Percentile column for a response, the response value corresponding to that
percentile of the resulting response distribution will be reported after all
simulations are complete.

Note: You can also set response options using the Edit... button at the bottom of
the editor. For more information, see “Editing Attributes for Multiple Parameters,”
on page 170.
5. (optional) If desired, map any of the response attributes to parameters (with the
exception of Target Type). For more information, see “Mapping Options and
Attributes to Parameters” on this page.

6. Click OK to close the editor and save your changes. Click Apply to save your
changes, but keep the editor open.

Mapping Options and Attributes to Parameters


The configuration (technique options, execution options, and design parameter
attributes) of a design driver-type component is stored in the property information for
the component. However, you can drive these options and attributes by parameters. For
example, the standard deviation random variable attribute in a SDI component can be
driven by a parameter in a previous component.

Isight Component Guide


166 Chapter 2 Using Process Components

To map an option to a parameter:

1. Open the SDI component editor.

2. Perform one of the following actions:

„ To map an execution option to a parameter, proceed to step 3.

„ To map a random variable attribute to a parameter, proceed to step 7.


„ To map a design variable or response attribute to a parameter, proceed to
step 11.

3. Click the value in the Value text box for the execution option whose value you
want to map. The value is highlighted.
Note: You can also map the Execute subflow only once option. Click on
Advanced Options... to access this option.

4. Right-click the value; then, select the Map this value to a parameter option. The
Select a Parameter dialog box appears prompting you to enter the name of a
parameter to which you want to map.

Isight Component Guide


Using the SDI Component 167

5. Type a name for the parameter (by default, the execution option name is used);
then, click OK. Once mapped, the icon appears next to the execution option.
You can click this button to view or change the parameter name. You can also
right-click on the setting again to remove the mapping.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter.
6. Click Apply to save your changes; then, proceed to step 14.

7. Click the Random Variables tab.

8. Right-click in the Standard Deviation text box; then, click Map this value to a
parameter.

Note: Standard Deviation is the only random value attribute that can be mapped.

Isight Component Guide


168 Chapter 2 Using Process Components

The Select a Parameter dialog box appears prompting you to enter the name of a
parameter to which you want to map.

9. Type a name for the parameter (by default, the Standard Deviation attribute name
is used); then, click OK. Once mapped, the icon appears next to the tuning
parameter’s value. You can click this icon to view or change the parameter name.
You can also right-click on the setting again to remove the parameter name.

10. Click Apply to save your changes; then, proceed to step 14.

11. Determine if you want to map a Design Variable or a Response attribute; then,
click the appropriate tab on the component editor. In the example below, a Design
Variable is being mapped.

12. Right-click the variable you want to map. A menu appears.

Isight Component Guide


Using the SDI Component 169

13. Perform one of the following options:

„ If you want to apply the mapping to only the selected parameter, select the
Map <Attribute_Name>to a parameter for selected option.

„ If you want to apply the mapping to all the parameters, select the Map
<Attribute_Name> to a parameter for all option.

The icon appears next to the variable’s value. You can click this icon to view or
change the parameter name.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a member(s) of a special aggregate parameter called Mapped
Attributes and Options.

Note: You can remove these mappings at any time. Simply right-click the
appropriate parameter attribute; then, select the Remove mapping of
<Attribute_Name> to a parameter for selected or Remove mapping of
<Attribute_Name> to a parameter for all option, depending on how you
originally mapped the attribute.
Note: If an entire array is selected as a random variable/response (as opposed to
individual elements), a corresponding array will be created in the Mapped
Attributes and Options parameter with elements that will map to the

Isight Component Guide


170 Chapter 2 Using Process Components

corresponding elements of the random variable/response array during execution. If


the random variable/response is a dynamic array, make sure you construct the
model in such a way that the mapped attribute array parameter is resized in sync
with the random variable/response array. If this is not done, warning messages will
be sent to your job log.

14. Click OK to close the component editor and return to the Design Gateway.

15. Click the Parameters tab.


16. Locate the new aggregate parameter called Mapped Attributes and Options;
then, click the icon to expand the parameter. The new mappings appear.

Editing Attributes for Multiple Parameters


You can edit attributes for multiple design parameters (random variables, design
variables, responses, objectives, etc.) at the same time.

Isight Component Guide


Using the SDI Component 171

To edit attributes for multiple design parameters:

1. Select the parameter(s) you want to edit on the Design Variables, Random
Variables or Responses tab.

To select all parameters, click the Check button at the bottom of the tab. To
deselect all the parameters, click the Uncheck button.

2. Click the Edit... or button at the bottom of the component editor. The Edit
dialog box appears. In the following example, a parameter on the Random
Variables tab is being edited.

3. Update the listed values, as desired. Only options with defined values appear on
this dialog box.

4. Click OK. The values are updated for all the parameters that were selected.

Isight Component Guide


172 Chapter 2 Using Process Components

Using the Six Sigma Component


The design driver capability available for Isight includes a Six Sigma reliability and
robustness analysis component. Six Sigma is a probabilistic analysis process used to
measure the quality of a design given uncertainty or randomness (stochastic properties)
of a product or process. Using this component, a product or process is simulated
repeatedly, while varying the stochastic properties of one or more random variables, to
characterize the statistical nature of the responses (outputs) of interest. The “sigma
level”, or probability of satisfying design specifications is reported, along with
statistics of performance variation.

This section is divided into the following topics:

„ “Opening the Editor and Using the General Tab,” on page 173

„ “Using the Random Variables Tab,” on page 180

„ “Using the Factors Tab,” on page 185

„ “Using the Design Matrix Tab,” on page 188

„ “Using the Responses Tab,” on page 190

„ “Using the Options Tab,” on page 192


„ “Using the Optimization Tab,” on page 194

„ “Mapping Options and Attributes to Parameters,” on page 203

„ “Editing Attributes for Multiple Parameters,” on page 208

„ “Setting Six Sigma Component Preferences,” on page 210

„ “Using the Six Sigma Component API,” on page 210

Isight Component Guide


Using the Six Sigma Component 173

Opening the Editor and Using the General Tab


To open the Six Sigma component editor and use the General tab:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide.
The Component Editor dialog box appears.

The editor is divided into four or five tabs, depending on the analysis type selected.
If a Reliability Technique or Monte Carlo Sampling technique type is used, the
editor contains four tabs: General, Random Variables, Responses, and Options.
The General tab offers setup options, and analysis type and technique options. The
Random Variables tab allows you to select and configure the random variables.
The Responses tab allows you to select and configure the response parameters. The
Options tab allows you to select the Six Sigma outputs to be included in the Six
Sigma Results output parameter.

If the Design of Experiments analysis type is used for the probabilistic analysis, the
Random Variables tab is replaced by a Factors tab and a Design Matrix tab is

Isight Component Guide


174 Chapter 2 Using Process Components

added. The Factors tab allows you to select and configure the DOE factors. The
Design Matrix tab displays the matrix resulting from the DOE technique selected
and the selected/configured factors.

If Six Sigma Optimization is selected, the Options tab is replaced by the


Optimization tab. The Optimization tab allows you to select the optimization
technique, variables, constraints, and objectives.

2. Click the Six Sigma Analysis or Six Sigma Optimization radio button.
3. Click the Analysis Type button; then, select the analysis technique type you want
to use from the drop-down list that appears. The Six Sigma component can use
Reliability techniques, Monte Carlo Sampling techniques, and Design of
Experiments techniques for probabilistic analysis. The available techniques in the
Technique drop-down list change based on the Analysis Type selected. The tabs in
the editor may also change to reflect the selected Analysis Type.

Note: You can set default behavior for this option using the component preferences
as described in “Setting Six Sigma Component Preferences,” on page 210.

4. Click the Technique button; then, select the technique you want to use from the
drop-down list that appears. The technique's options appear in the Technique
Options area (below the Analysis Type button), and information about the
technique appears in the Technique Description area on the right side of the editor.
Techniques used in the Six Sigma component are implemented as “plug-ins”. As
such, they are extendable by creating new plug-ins for a given analysis type. For
more information, refer to the Isight Development Guide.

Note: You can set default behavior for this option using the component preferences
as described in“Setting Six Sigma Component Preferences,” on page 210.

The Reliability technique plug-ins currently available in Isight are the following:
„ FORM (First Order Reliability Method). The first order reliability method is
an MPP (Most Probable Point) search method. It uses an optimization strategy
to find the closest point on each constraint to the current design, the mean
value point, or MVP. FORM uses a first order analysis to determine the
probability of failure at the MPP.
„ Mean Value Method. This method is the default selection and can be the most
efficient method. The mean value method is based on a first or second order
Taylor's expansion to estimate response mean and standard deviation.

Isight Component Guide


Using the Six Sigma Component 175

For more detailed information on these sampling techniques, see “Six Sigma
Reference Information,” on page 534.

The Monte Carlo Sampling technique plug-ins currently available in Isight are the
following:

„ Simple Random Sampling. This method is the most commonly used


sampling method. Sample points for simulation are generated randomly and
independently.

„ Descriptive Sampling. This method is the default method and the


recommended method. Fewer simulations are generally required to estimate
the statistical characteristics of the system behavior.

For more detailed information on these sampling techniques, see “Monte Carlo
Reference Information,” on page 515.

The Design of Experiments technique plug-ins currently available in Isight are the
following (although all techniques listed below may not be included in your
installation):
„ Central Composite Design
„ Data File
„ Full Factorial
„ Latin Hypercube
„ Optimal Latin Hypercube
„ Orthogonal Array
„ Parameter Study

For more detailed information on these DOE techniques, see “DOE Reference
Information,” on page 508.

Note: Techniques can be added to the Six Sigma component by publishing new
technique plug-ins to the Library. For more information, refer to the Isight
Development Guide.

Isight Component Guide


176 Chapter 2 Using Process Components

5. Set the following options in the Technique Options area, which vary based on your
selected analysis type and technique:

„ FORM (First Order Reliability Method), Reliability Technique:

• MPP Maximum Iterations. This parameter's value represents the


maximum number of iterations that are run to search for the Most Probable
Point (MPP) for each response with limits defined.
Note: Most Probable Point (MPP) is the solution of the FORM
minimization (i.e., the most likely failure point for a given response).
• Finite Difference Step Size. This parameter sets the relative finite
difference step size to be used by the reliability method when calculating
gradients. The default value is 0.01 (1 percent).
• Min Finite Difference Step Size. This parameter represents the minimum
absolute finite difference step size to be used by the reliability analysis
method when calculating gradients. The default value is 0.001 (0.1
percent).
• MPP Abs Convergence. This parameter represents the maximum absolute
change in the value of the distance from a constraint surface between two
consecutive iterations of the MPP search. For example, if you wanted the
search process to stop if the change in the distance from a constraint went
below 0.01, you would enter 0.01. The default is 0.0001.
• MPP Rel Convergence. This parameter represents the maximum relative
change in the value of the distance from a constraint surface during MPP
search. The default is 0.001.
„ Mean Value Method, Reliability Technique:

• Taylor Series Order. Select First Order or Second Order analysis. The
first order analysis will require evaluation of the mean value point and one
finite difference step evaluation for each random variable gradient (n+1
total design evaluations, where n is the number of random variables). The
second order analysis will require 2n+1 evaluations (pure second order
terms included only, no mixed second order terms).
• Finite Difference Step Size. This parameter sets the relative finite
difference step size to be used by the reliability method when calculating
gradients. The default value is 0.01 (1 percent).
• Min Finite Difference Step Size. This parameter represents the minimum
absolute finite difference step size to be used by the reliability analysis

Isight Component Guide


Using the Six Sigma Component 177

method when calculating gradients. The default value is 0.001 (0.1


percent).
„ Monte Carlo Sampling Techniques:
• Number of Simulations. Determine the number of simulations to be
executed. The default number is 1000 for simple random sampling, and 100
for descriptive sampling. A higher number of simulations specified
generally results in an increase in the accuracy level of statistical
predictions.
• Use a fixed seed. The seed can be fixed by clicking this check box and
specifying the seed manually in the corresponding text box. If this check
box is not activated, the seed is determined randomly.
„ Design of Experiments Techniques:

• Set the options for your technique as desired in the Technique Options area.
For more information on these options, see “Setting Technique-Specific
Options,” on page 58.
6. Set the following options in the Execution Options area, which vary based on your
selected analysis type:

„ Reliability Technique - Execute Reliability points in parallel. Select this


option if you'd like the gradient sample points defined by the Reliability
technique to be executed in parallel. With the Mean Value Method, all points
are known in advance and can all be executed in parallel. With FORM, during
each step of MPP search, gradient points can be executed in parallel.

„ Monte Carlo Sampling:


• Execute Monte Carlo sample points in parallel. Select this option if
you'd like the sample points defined by the Monte Carlo simulation to be
executed in parallel. Note that the convergence check interval may limit the
number of sample points that are executed in parallel to batches that are the
size specified for this convergence check interval.
• After execution, reset to mean value point and run. With this option
selected (default), after execution of all Monte Carlo simulation points, the
random variables will be set to their mean values and the Monte Carlo
subflow will be executed one additional time. In this case, the Monte Carlo
parameters (inputs and outputs) will be left at the values calculated for this
“mean value point”. If this option is not selected, the Monte Carlo

Isight Component Guide


178 Chapter 2 Using Process Components

parameters after execution will be left at the values associated with the last
(random) Monte Carlo simulation point.
• Convergence Check Interval. This integer value specifies the frequency
at which the convergence of the Monte Carlo response statistics (low order
- mean and standard deviation) are checked. The default setting requires the
convergence of response statistics to be checked after every 25 sample
points. Decreasing this value may result in premature convergence; since
the sample points are random, or in random order/combinations, sufficient
sample points are needed to determine if the response statistics are
accurately estimated.
• Convergence Tolerance. This value is the Monte Carlo termination
criterion, which specifies the fractional change in response mean and
standard deviation that will allow the simulation to be terminated before
reaching the specified number of simulations. For example, if you want the
simulation process to stop if the change in the response statistics goes
below 5 percent, enter a value of 0.05 in the corresponding text box.
Convergence is checked after each set of simulations defined by the
Convergence Check Interval (by default, after each set of 25 simulations).
The default Convergence Tolerance is 0.001.
„ Design of Experiments:

• Execute DOE design points in parallel. If selected, all of the design


points defined by the design matrix will be submitted for execution
simultaneously. You may need to clear (deselect) this option if components
within the DOE subflow have license limitations or other requirements that
mandate only one execution at a time.
• Action when design point fails. If a design run fails during execution of
the DOE technique, you can choose to have Isight ignore the failed run, fail
the entire execution, retry the failed run (a specific number of times), or
replace the failed run by re-executing with a specified percentage
modification of the failed run.
Note: You can map these settings to parameters. For more information, see
“Mapping Options and Attributes to Parameters,” on page 203.

Isight Component Guide


Using the Six Sigma Component 179

7. (optional) Click the Advanced Options... button; then, set the following options,
depending on the analysis type selected:

„ Reliability and Monte Carlo Sampling Analysis Types:

• Execute subflow only once. If selected, the subflow executes only one
time. This is useful in models that need to turn the driver logic on/off
parametrically. This option is also helpful in debugging the process.
Note: You can map this setting to a parameter. For more information, see
Mapping Options and Attributes to Parameters.
• Allow the following to be turned off by parameters. This option allows
you to de-activate (turn off) the selected types of design parameters
(random variables, responses) using input parameters to the Six Sigma
components. If this option is selected, boolean input parameters will be
created in an Active Random Variables/Active Responses aggregate under
the Mapped Options and Attributes aggregate parameter. The parameters
are selected by default. If any of the parameters are not selected at runtime,
then those design parameters will not be used during execution.
„ Design of Experiments Analysis Type:
• Execute designs in random order. Select this option if you want the
design points defined by the design matrix to be executed in random order.
Note: For computer simulations, which are deterministic, the order of
execution should have no bearing on the results. This option is provided
primarily for cases in which the design matrix is going to be exported for
use in physical experiments where randomness can alter the results through
the influence of noise (unknown) effects.
• Execute subflow only once. If selected, the subflow executes only one
time. This is useful in models that need to turn the driver logic on/off
parametrically. This option is also helpful in debugging the process.
• Read response values from file (don't execute subflow). Select this
option if you do not want the DOE component to actually execute an Isight
subflow for each design point, but to instead read the response values for
each design point from a specified file. You can locate the file using the
Browse... button. The format of the file must be a first row with parameter
names and each subsequent row containing the values for the parameters
for that design point. This feature is useful for when you have a complete
data set (input and output values) already compiled and simply want to use
DOE as a post-processing tool. This capability is more directly accessible

Isight Component Guide


180 Chapter 2 Using Process Components

using the Data File technique and selecting the File contains responses
option. For more information on this technique, see “Setting
Technique-Specific Options,” on page 58.
• Allow the following to be turned off by parameters. This option allows
you to de-activate (turn off) the selected types of design parameters
(factors, responses) using input parameters to the DOE components. If this
option is selected, boolean input parameters will be created in an Active
Factors/Active Responses aggregate under the Mapped Options and
Attributes aggregate parameter. The parameters are selected by default. If
any of the parameters are not selected at runtime, then those design
parameters will not be used during execution.
8. Proceed to one of the following sections, based on the analysis type you are using:

„ Reliability Technique: “Using the Random Variables Tab” on this page

„ Monte Carlo Sampling: “Using the Random Variables Tab,” on page 180

„ Design of Experiments: “Using the Factors Tab,” on page 185

Using the Random Variables Tab


The Random Variables tab is used for the Reliability Technique and Monte Carlo
Sampling analysis types. If you are using the Design of Experiments analysis type, this
tab is not available and is replaced by the Factors tab. For more information, see to
“Using the Factors Tab,” on page 185.

Isight Component Guide


Using the Six Sigma Component 181

To use the Random Variables tab:

1. For Reliability or Monte Carlo Sampling analysis type, click the Random
Variables tab (for Design of Experiments, proceed to step 1 on page 185). The
contents of the tab appear.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

3. Select the parameters you want to use as random variables by clicking the check
box that corresponds to the parameter. To select all parameters, click the
button at the bottom of the tab. If no parameters are selected, you will be prompted
to add all parameters as random variables. To deselect all the parameters, click the

button.

Isight Component Guide


182 Chapter 2 Using Process Components

Once you select a random variable, its name is displayed in the Distribution
Information area, and the rest of the tab is activated.

4. Click the Correlation Matrix button if you want to use random variable
correlation to sample the random variable distributions.

Note: This button is only active if you have selected Monte Carlo Sampling from
the General tab on the Six Sigma editor.

This feature induces the required correlations on the given sample of random
variables while preserving the individual distributions.

The Linear Correlation Matrix for Random Variables dialog box appears.

5 Type the desired values (-1.0 to 1.0) in the white text boxes in the dialog box.

Note: To completely remove a number already present in a text box, press the
BACKSPACE key on your keyboard.

6. Set any of the following options, some of which vary based on your distribution
selection:

„ Click the Distribution button to set the probability distribution option for the
random variable. Like sampling techniques, random variable distributions are
implemented as plug-ins used by the Six Sigma component. They are
extendable by creating new plug-ins for new distributions.

The distribution plug-ins currently available in Isight are the following:


• Discrete-Uniform
• Exponential
• Gumbel - largest
• Gumbel - smallest
• Lognormal
• Normal

Isight Component Guide


Using the Six Sigma Component 183

• Triangular
• Uniform
• Weibull
Note: For more information on these distribution options, see “Understanding
Distribution Types,” on page 519.
„ Mean. This distribution parameter represents the measure of central tendency
of a random variable. Its default setting is the current value of the parameter.
„ Standard Deviation. This distribution parameter represents the measure of
dispersion of a random variable. Its default setting is 10% of the mean value. If
the mean value is 0, the default standard deviation is 1.0.

„ Coeff. of Variation. This distribution parameter is the value of the standard


deviation divided by the mean for the random variable. The default value is
0.1.

„ Allowed Values (Discrete-Uniform distribution only). This distribution


parameter is the discrete set of values that the random variable may take. Each
value has an equal probability (equal to 1/(number of values)).

„ Lambda (Exponential distribution only). This distribution parameter is the


scale parameter for the exponential distribution, and is equal to one over the
mean value and/or one over the standard deviation (mean and standard
deviation are equal for the exponential distribution).
„ Alpha (Gumbel, Lognormal, and Weibull distributions). This distribution
parameter is the location parameter for the Gumbel and lognormal
distributions, and is the scale parameter for the Weibull distribution.

„ Beta (Gumbel, Lognormal, and Weibull distributions). This distribution


parameter is the scale parameter for the Gumbel distributions, and is the shape
parameter for the Lognormal and Weibull distributions.

„ Low (Triangular and Uniform distributions). This distribution parameter is the


lower limit for the triangular and uniform distributions.

Isight Component Guide


184 Chapter 2 Using Process Components

„ Mode (Triangular distribution only). This distribution parameter is the shape


parameter of the triangular distribution, representing the peak of the triangle.

„ High (Triangular and Uniform distributions). This distribution parameter is


the upper limit for the triangular and uniform distributions.

„ Truncate Distribution Tail(s). Activate this option if you wish to truncate a


distribution tail, or both the lower and upper tail. Upon selection, entries
appear for Lower and Upper, referring to the lower tail and the upper tail.
Specify the location at which the distribution is to be truncated. Values of the
distribution below the Lower truncation value and above the Upper truncation
value will not be sampled. The distribution preview graphs are updated to
display the effects of truncation.

Note: You can use the button to edit the information for multiple
random variables. For more information, see “Editing Attributes for Multiple
Parameters,” on page 208.
Note: You can map any setting to a parameter. For more information, see
“Mapping Options and Attributes to Parameters,” on page 203.
7. Review the preview graphs on the right side of the tab. These graphs are
automatically updated based on changes made to the selected random variables
distribution properties. A legend below the graph explains the color coding. The
graphs display the following information:

„ Probability Density. This graph shows the actual shape of the selected
distribution with regard to the probability density function.

„ Cumulative Distribution. This graph shows the actual shape of the selected
distribution with regard to the cumulative distribution function.

8. Set the Update random variable mean values to current parameter values
before execution option. This option, at the bottom of the tab, allows for
automatic updating of mean values of all random variables to the current parameter
values in this component, prior to executing the Six Sigma component. If you want
to automatically change the settings to the current point when the Six Sigma
component is executed, click this check button to activate it. This option is useful
if the Six Sigma component is executed after another component, and parameter
values are taken from the previous component.

Isight Component Guide


Using the Six Sigma Component 185

Note: If the Six Sigma component is driven by an Optimization component to


perform robust optimization (Six Sigma Optimization run mode is selected), this
option will not be available. Random variable mean values will automatically be
updated for parameters that are also optimization design variables.

9. Proceed to “Using the Responses Tab” on this page.

Using the Factors Tab


The Factors tab is used for the Design of Experiments analysis type. If you are using
the Reliability Technique or Monte Carlo Sampling analysis types, this tab is not
available and is replaced by the Random Variables tab. For more information, see to
“Using the Random Variables Tab,” on page 180.

To use the Factors tab:

1. For Design of Experiments analysis type, click the Factors tab (for Reliability or
Monte Carlo Sampling, proceed to step 1 on page 181). The contents of the tab
appear.

Isight Component Guide


186 Chapter 2 Using Process Components

The tab presents a table of available input parameters to select as factors to study,
along with columns for attributes to specify for each factor. The attributes to
specify are determined by the DOE technique being used.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

3. Select the parameters you want to define as factors to study by clicking the check
box that corresponds to the parameter. To add all the selected parameters as
factors, click the Check button at the bottom of the tab. If no parameters are
selected, you will be prompted to add all parameters as factors. To deselect all the
parameters, click the Uncheck button. Note that arrays and aggregates themselves
cannot be selected. You must open them (click the ) and select scalar members.

4. Change any of the default values, which are provided for all attributes for a
selected factor, as desired.
Note: Depending on the technique, a change in one of the columns might
automatically update any other columns that are related.
Although each technique defines the appropriate set of attributes for a factor, the
following set of attributes are common among many of the techniques.

„ # Levels. This attribute is the number of levels at which you wish to study the
factors. A change to this attribute will automatically re-adjust the Levels for
this factor.

„ Levels. This attribute is a space-separated list of the levels at which to study


the factor. The related attributes are updated once you click in a different cell.

„ Lower/Upper. These attributes are lower/upper levels for the factor. A change
to one of these attributes will automatically calculate new levels evenly
distributed between the Lower and Upper values.

„ Relation. This attribute specifies whether the Levels should be interpreted as


values or as %/difference (diff.) from a specified Baseline.

Isight Component Guide


Using the Six Sigma Component 187

„ Baseline. This attribute is the value to be used for converting Levels into
values when the Relation is “%” or “diff”. This attribute is set to the current
parameter value by default.

„ Alpha. The Lower and Upper levels specify the two levels at which a 2-level
full-factorial study is performed. The center point is also studied. The Alpha
option is a ratio defining two other points (also known as “star points”) at
which to study the given factor. For example, Alpha set to 0.25 indicates the
factor is to be studied at points 1/4 of the way from the baseline to the lower
and upper levels. Alpha set to 1.6 indicates the factor is to be studied 50%
beyond the lower and upper levels. For example, Lower = 5, Upper = 20,
Baseline = 10, and Alpha = 0.25 results in Levels = {5, 8.75, 10, 12.5, 20}.

Other factor attributes specific to individual techniques can be found in


“Setting Technique-Specific Options,” on page 58.

5. Select the Update factor baselines to current values when executing option at
the bottom of the tab if you want the baseline values updated to the current
parameter values before executing. If Isight previously modified a parameter, this
option allows for automatic updating of the baseline of all factors to the current
parameter values in Isight, prior to executing the DOE technique, which will
re-adjust the values to be studied appropriately. The default is to have this option
deactivated, retaining user-defined settings. This option is useful if the DOE
technique is executed after another element of the workflow that might change the
parameter values (for example, after an Optimization component), so that the DOE
study can be performed around the new design point.

Note: You can also set factor attributes for one or multiple factors using the Edit...
button at the bottom of the editor. For more information, see “Editing Attributes
for Multiple Parameters,” on page 208.

Note: If the Six Sigma component is driven by an Optimization component to


perform robust optimization (Six Sigma Optimization run mode is selected), this
option will not be available. Factor baselines will automatically be updated for
parameters that are also design variables.
6. Proceed to “Using the Design Matrix Tab,” on page 188.

Isight Component Guide


188 Chapter 2 Using Process Components

Using the Design Matrix Tab


The Design Matrix tab is used for the Design of Experiments analysis type. If you are
using the Reliability Technique or Monte Carlo Sampling analysis types, this tab is not
available.

To use the Design Matrix tab:

1. For Design of Experiments analysis type, click the Design Matrix tab. The
contents of the tab appear.

This tab displays the design matrix generated for the technique selected on the
General tab and the factors selected and attributes specified on the Factors tab.

Note: If an array was selected as a factor, only a single item will be displayed in
the design matrix for the entire array. At runtime, the individual elements of the
array will be assigned to columns of the design matrix, as necessary.

2. (Optimal Latin Hypercube technique only). Click the Generate button to create
your design matrix. This ability to manually generate your matrix is present since
this process can take a significant amount of time.

The Design Matrix Generation Status dialog box appears, showing you how the
matrix generation is progressing.

Note: If you do not manually generate the design matrix in the component editor, it
will automatically be generated as part of the execution.

3. (Optimal Latin Hypercube technique only) Examine the information displayed on


the Status dialog box; then, click the Close button once the matrix has been
created. If you click the Close button before the optimization of the design matrix
is complete, the resulting design matrix will be the last one generated during the
optimization process.

4. (Orthogonal Arrays technique only) Click the Options... button to display any
options available for generating the design matrix. When using Orthogonal Arrays,
the factors are automatically assigned to columns in a way that minimizes
confounding with interaction effects. Preference is given to factors in the order
they were defined.

5. Select how you want the design matrix displayed using the Show button. You can
display the design matrix as values (the actual values to be set at execution) or
levels (the level number as generated by the technique algorithm).

Isight Component Guide


Using the Six Sigma Component 189

6. Perform any of the following actions, as desired, to manipulate the design matrix:

„ Deactivate a single design point. Click any row number to deactivate that
design point so that it will not be executed (the icon appears). You can
also click the button at the top of the design matrix, or right-click the
design matrix and select the Skip selected design point(s) option from the
menu that appears.

„ Deactivate all design points. To deactivate all design points in the design
matrix, highlight all of the design points and click the button. You can
also right-click the design matrix and select Skip all design points from the
menu that appears.

Note: Deactivating design points is useful when it is known that a specific set
of values in the design matrix represents a design that cannot be evaluated for
whatever reason.

„ Activate a design point. To activate a design point that has been set to be
skipped, click the icon that represents the design point. The row number
reappears. You can also click the button at the top of the design
matrix, or right-click the design point and select Activate selected design
point(s) from the menu that appears.

„ Activate all design points. To activate all of the design points in the design
matrix, highlight all of the design points and click the button. You can
also right-click the design matrix and select Activate all design points from the
menu that appears.

Isight Component Guide


190 Chapter 2 Using Process Components

„ Copy the design matrix. This option copies the design matrix to the clipboard
so that is can be pasted elsewhere (for example, in a text file). This option can

be accessed using the Copy button above the design matrix or by


right-clicking the design matrix and selecting Copy design matrix from the
menu that appears.
„ Save the design matrix. Saves the design matrix to a file. This option can be

accessed by clicking the Save button above the design matrix or by


right-clicking the design matrix and selecting Save... from the menu that
appears.

7. Proceed to “Using the Responses Tab” on this page.

Using the Responses Tab


To use the Responses tab:

1. Click the Responses tab. The contents of the tab appear.

Isight Component Guide


Using the Six Sigma Component 191

The output parameters are listed on this tab.

2. Select the output parameters you want to use as responses by clicking the
corresponding check boxes. To select all parameters, click the Check button at the
bottom of the tab. If no parameters are selected, you will be prompted to add all
parameters as responses. To deselect all the parameters, click the Uncheck button.

3. Set the response's options, as necessary for your simulation:

„ Lower Limit. If a response value is specified in the Lower Limit column for a
response, the probability of response values greater than that lower limit will
be calculated and reported after all simulations are complete.
„ Upper Limit. If a response value is specified in the Upper Limit column for a
response, the probability of response values less than that upper limit will be
calculated and reported after all simulations are complete.

Note: If both Lower and Upper limits are specified the Total probability between
the limits is also reported. This response probability can be used to characterize the
reliability of that response with respect to remaining between the limits. The total
probability of failure with respect to the specified limits can be determined by
subtracting the total probability from one.

„ Percentile. If a percentile value (a value between 0 and 1) is specified in the


Percentile column for a response, the response value corresponding to that
percentile of the resulting response distribution will be reported after all
simulations are complete.

Note: When you move your mouse pointer over or click a specific column, the
graph that represents that value is outlined on the right side of the tab. The graph
not only gives you a visual aid, but provides text information about the individual
settings.

Note: You can also set response options using the Edit... button at the bottom of
the editor. For more information, see “Editing Attributes for Multiple Parameters,”
on page 208.

Isight Component Guide


192 Chapter 2 Using Process Components

4. (optional) If desired, map any of these response attributes to parameters. For more
information, see “Mapping Options and Attributes to Parameters,” on page 203.

5. Proceed to one of the following sections, based on your component settings:

„ If you are using Six Sigma Analysis, proceed to “Using the Options Tab” on
this page.

„ If you are using Six Sigma Optimization, proceed to “Using the Optimization
Tab,” on page 194.

Using the Options Tab


This tab is available if you selected Six Sigma Analysis on the General tab (as
described on page 174). If you are using Six Sigma Optimization, the Options tab is
replaced by the Optimization tab. For more information, see “Using the Optimization
Tab,” on page 194.

To use the Options tab:

1. Click the Options tab. The contents of the tab appear.

Isight Component Guide


Using the Six Sigma Component 193

The calculated results that can be included in a Six Sigma Results output aggregate
parameter are displayed on this tab.

2. Select the Six Sigma outputs to be included in the Six Sigma Results output
aggregate parameter if desired. Selecting results to be included in this parameter is
useful for mapping from these values, or for selection as output in a process
component placed above the Six Sigma component.

For example, the Six Sigma component can be placed under the Optimization
component to formulate a process to improve the quality level (robust and/or
reliability optimization), as shown below.

In this example, an optimization problem is configured to ensure that constraints


are satisfied at least to the 4.5 sigma level, while minimizing mean and standard
deviation of Total Cost as well as minimizing the standard deviation of the
constraint outputs. This formulation incorporates the concepts of reliability and
robustness within the Six Sigma context.

Isight Component Guide


194 Chapter 2 Using Process Components

3. (optional) If desired, map any of these objective attributes to parameters. For more
information, see “Mapping Options and Attributes to Parameters,” on page 203.

4. Click OK to close the editor and save your changes. Click Apply to save your
changes, but keep the editor open.

Using the Optimization Tab


This tab is available if you selected Six Sigma Optimization on the General tab (as
described on page 174). If you are using Six Sigma Analysis, the Optimization tab is
replaced by the Options tab. For more information, see “Using the Options Tab,” on
page 192.

To use the Optimization tab:

1. Click the Optimization tab. The contents of the tab appear.

2. Verify that the General sub-tab is selected; then, select the technique you want to
use from the Optimization Technique drop-down list. The technique’s tuning

Isight Component Guide


Using the Six Sigma Component 195

parameters appear directly below the Technique list, and information about the
technique appears in the Technique Description area on the right side of the editor.

3. Review the information in the Optimization Technique Description area. For


additional information on the technique, see “Optimization Reference
Information,” on page 575.

4. Set the tuning parameter values for your technique in the Optimization Technique
Options area.

Note: You can map tuning parameter settings to parameters. For more information,
see “Mapping Options and Attributes to Parameters,” on page 203.

For more information on these options, see one of the following sections:

„ “Using Adaptive Simulated Annealing Tuning Parameters,” on page 130

„ “Using Downhill Simplex Tuning Parameters,” on page 134

„ “Using Hooke-Jeeves Tuning Parameters,” on page 134

„ “Using Generalized Reduced Gradient Tuning (LSGRG2) Parameters,” on


page 136
„ “Using Modified Method of Feasible Directions (MMFD) Parameters,” on
page 138
„ “Using Multifunction Optimization System Tool (MOST) Parameters,” on
page 139

„ “Using Multi-Island Genetic Algorithm Tuning Parameters,” on page 141

„ “Using Neighborhood Cultivation Genetic Algorithm (NCGA) Tuning


Parameters,” on page 143

„ “Using Sequential Quadratic Programming (NLPQL) Tuning Parameters,” on


page 145

„ “Using Non-dominated Sorting Genetic Algorithm - NSGA-II Tuning


Parameters,” on page 147

„ “Using Pointer Automatic Optimizer Tuning Parameters,” on page 150

„ “Using Stress Ratio Tuning Parameters,” on page 151

Isight Component Guide


196 Chapter 2 Using Process Components

5. Set the following execution options, if available, in the Execution Options area:

„ Execute in parallel. This option controls how the design points will be
executed during optimization. (This option is not available for all techniques.)
If selected, design points will be executed in parallel, in small batches. The
size of the batch depends on the number of selected Design Variables for
numerical techniques or the size of the population for exploratory techniques.

„ Restore optimum design point after execution. If this option is selected,


optimization will set parameters to the best design point after execution. If this
option is not selected, the optimization will keep all parameters at their last
values (last execution of the subflow) after execution.

„ Re-execute optimum design point. This option forces the optimization


component to re-execute the optimum design point after the end of
optimization. Re-executing is recommended if there are some output
parameters that are not directly involved in optimization, but their values
depend on the values of Design Variables (for example, output file
parameters).

„ Use automatic variable scaling. If this option is selected, Design Variables


will be scaled using their respective ranges (i.e., distances between their upper
and lower bounds). The Scale Factor column will be removed from the
Variables page of the dialog, since the values of scale factors will be
automatically calculated.

Note: You must define all upper and lower bounds (or allowed values) for all
design variables when this option is selected. If some design variables do not
have bounds, you will not be able to use this option.
6. (optional) Click the Advanced Options... button; then, set the following options:

„ Execute subflow only once. If selected, the subflow executes one time, and
constraints, objectives, and penalty values are calculated. This is useful in
models that need to turn the driver logic on/off parametrically. This option is
also helpful in debugging the process.

Note: You can map this setting to a parameter. For more information, see
“Editing Attributes for Multiple Parameters,” on page 208.
„ Allow the following items to be turned off by parameter. This option allows
you to disable some design parameters at runtime by using parameters. When
this option is selected, a set of special “switch” variables are created. By

Isight Component Guide


Using the Six Sigma Component 197

changing the values of these special variables, you can disable their
corresponding design parameters.

You can select the any of the following:


• Design Variables
• Constraints
• Objectives
7. Click the Variables tab. The contents of the tab appear.

The list of parameters on this tab includes all parameters of modes Input and
In/Out from the Six Sigma component, and also parameters of the same modes
from the subflow components, if they are not mapped to any parameters of the Six
Sigma component.

Isight Component Guide


198 Chapter 2 Using Process Components

8. Perform any of the following actions, which vary based on your model design:

„ Determine which parameters you wish to use as variables by selecting the


corresponding check boxes in the first column. Selecting a subflow parameter
as a variable will, at a later time, create a corresponding parameter in the Six
Sigma component. Only parameters of type real, integer, and string can be
variables.

You can also select all of the listed variables (including array elements) using
the Check button at the bottom of the tab.
„ Specify the lower bound for the variables in the corresponding column. This
setting is required if you are using the automatic scaling component
preference. For more information, see “Setting Optimization Component
Preferences,” on page 152.

„ Alter the initial value in the Value column.

Note: This column is not available for Multi-Island Genetic Algorithm, since
the initial design point is not used by this algorithm.
Warning: The initial values of the variables will be overridden at the
execution time if the Six Sigma component is a child component of another
process component (for example, a Task component). Therefore, to change the
initial values of variables, you must change the corresponding parameter
values in the parent (Task) component.
Warning: Changing initial values of variables essentially changes their values
in the main Design Gateway window. These changes are immediate and
cannot be reversed by clicking Cancel on the Six Sigma component editor.
„ Specify the upper bound for the variables in the corresponding column. This
setting is required if you are using the automatic scaling component
preference. For more information, see “Setting Optimization Component
Preferences,” on page 152.

„ Type a list of allowed values in the Allowed Values column, separated by a


semicolon. If you enter allowed values, the lower and upper bounds are erased,
and vice versa. Entering a list of allowed values creates a discrete variable, and
tells the Six Sigma component that only these values can be used during
optimization. The optimization algorithm will view this variable as an integer
parameter with the range of values 0,1,2,...,N-1, where N is the length of the
allowed values list.

Isight Component Guide


Using the Six Sigma Component 199

„ Set the scale factor for the variable in the corresponding column. Scale factors
are used to bring variable values to the same order of magnitude to improve the
efficiency of the optimizers.

Note: This column does not appear if you use the automatic scaling component
preference. For more information, see “Setting Optimization Component
Preferences,” on page 152.
„ (Multi-Island Genetic Algorithm technique only) Set the value in the Gene
Size column. This value controls the number of bits N in all genes used for
encoding the value of each variable. Every bit of the gene can change its value
between 0 and 1. The total number of possible combinations in every gene is
then 2^N. This number of combinations determines the minimum change in
the value of any design variable during all genetic operations - take the
allowed range of values for a design variable, and divide it by the total number
of combinations. To increase the minimum change in design variable values
(i.e., to decrease the number of possible bit combinations when the allowed
range of design variable values is small), decrease the gene size.

Note: You can also set variable options using the Edit... button at the bottom of the
editor. For more information, see “Editing Attributes for Multiple Parameters,” on
page 208.

9. (optional) If desired, map any of these variable attributes to parameters. For more
information, see “Mapping Options and Attributes to Parameters,” on page 203.

Isight Component Guide


200 Chapter 2 Using Process Components

10. Click the Constraints tab. The constraints for your problem are displayed.

The list of parameters on this tab includes all parameters of mode Output from the
Six Sigma component, and also parameters of mode Output from the subflow
components, if they are not mapped to any parameters in the Six Sigma
component. When any subflow parameter is selected as a constraint, a
corresponding parameter is created in the Six Sigma component.

11. Perform any of the following options, which vary based on your model design:

„ Determine which parameters you wish to use as constraints by selecting the


corresponding check boxes in the first column. You can also select all of the
listed constraints (including array elements) using the Check button at the
bottom of the tab.

„ Set the lower and upper bound of a constraint in the corresponding columns.
„ Set the constraint’s target in the corresponding column.

„ Set the constraint’s scale and weight factors in the corresponding columns.
Scale factors are used to bring constraint values to the same order of

Isight Component Guide


Using the Six Sigma Component 201

magnitude to improve the efficiency of the optimizers. Weight factors are used
to change the importance of various constraints.

Note: You can also set constraint options using the Edit... button at the bottom of
the editor. For more information, see “Editing Attributes for Multiple Parameters,”
on page 208.

12. (optional) If desired, map any of these constraint attributes to parameters. For more
information, see “Mapping Options and Attributes to Parameters,” on page 203.

The value of each constraint is calculated as follows:

„ Constraint Value (Lower Bound) = (LB-Parm)*W/S


„ Constraint Value (Upper Bound) = (Parm-UB)*W/S
„ Constraint Value (Target) = (Parm-T)*W/S

where LB is the lower bound value, UB is the upper bound value, T is the target
value, Parm is the parameter value, W is the weight factor, and S is the scale factor.

13. Click the Objectives tab. The contents of the tab appear.

The list of parameters on this tab includes all parameters of mode Output from the
Six Sigma component, and also parameters of the same modes from the subflow

Isight Component Guide


202 Chapter 2 Using Process Components

components, if they are not mapped to any parameters in the Six Sigma
component. Also, design variables (selected on the Variables tab) are included in
the list of parameters.

14. Perform any of the following actions, which vary based on your model design:

„ Determine which parameters you wish to use as objectives by selecting the


corresponding check boxes in the first column. You can also select all of the
listed objectives (including array elements) using the Check button at the
bottom of the tab.

When a subflow parameter is selected as an objective, a corresponding


parameter is created in the Six Sigma component.
The value of the objective function is calculated as a sum of all objective
components with corresponding weight and scale factors:
Objective = Sum (+/-OBJi * Wi / Si)

where OBJi is the i-th objective component (parameter), Wi is the


corresponding weight factor, and Si is the corresponding scale factor. Plus (+)
is used for minimization and minus (-) is used for maximization of the
objective component.
„ Click the Direction column to specify whether or not you want to minimize or
maximize the objective. A drop-down list appears, allowing you to alter the
specification.

„ Set the objective’s target in the corresponding column.

„ Set the objective’s scale and weight factors in the corresponding columns.

Note: You can also set objective options using the Edit... button at the bottom of
the editor. For more information, see “Editing Attributes for Multiple Parameters,”
on page 208.

15. (optional) If desired, map any of these objective attributes to parameters. For more
information, see “Mapping Options and Attributes to Parameters,” on this page.

16. Click OK to close the editor and save your changes. Click Apply to save your
changes, but keep the editor open.

Note: When Six Sigma Optimization is chosen and the OK or Apply button are
clicked for the first time, the model is modified by embedding the Six Sigma
component under an Optimization component. All optimization criteria will be

Isight Component Guide


Using the Six Sigma Component 203

copied to the Optimization component and all selected parameters will be mapped
up. The optimization criteria can still be changed in the Six Sigma editor.

Mapping Options and Attributes to Parameters


The configuration (technique options, execution options, and design parameter
attributes) of a design driver-type component is stored in the property information for
the component. However, you can drive these options and attributes by parameters. For
example, the number of simulations in the Six Sigma component when a Monte Carlo
Sampling Technique is employed can be driven by a parameter in a previous
component.

To map an option to a parameter:

1. Open the Six Sigma component editor.

2. Perform one of the following actions:

„ To map a technique option value to a parameter, proceed to step 3.

„ To map an execution option to a parameter, proceed to step 7.


„ To map a random variable attribute to a parameter, proceed to step 11.

„ To map a factor or response attribute to a parameter, proceed to step 15.

3. Click the value in the text box for the technique option whose value you want to
map. The value is highlighted.

4. Right-click the value; then, select Map this value to a parameter option. The
Select a Parameter dialog box appears prompting you to enter the name of a
parameter to which you want to map.

Isight Component Guide


204 Chapter 2 Using Process Components

5. Type a name for the parameter (by default, the technique option name is used);
then, click OK. Once mapped, the icon appears next to the technique option's
value. You can click this icon to view or change the parameter name. You can also
right-click on the setting again to remove the parameter name.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter.
6. Click Apply to save your changes; then, proceed to step 18.

7. Right-click any of the execution options in the bottom left corner of the editor to
map that execution option to a parameter. The available execution options depend
on the Analysis Type selected. Click the Advanced Options... button to map
additional parameters.

8. Select the Map this value to a parameter option. The Select a Parameter dialog
box appears prompting you to enter the name of a parameter to which you want to
map.

Isight Component Guide


Using the Six Sigma Component 205

9. Type a name for the parameter (by default, the execution option name is used);
then, click OK. Once mapped, the icon appears next to the execution option.
You can click this button to view or change the parameter name. You can also
right-click on the setting again to remove the mapping.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter.

10. Click Apply to save your changes; then, proceed to step 18.

11. Click the Random Variables tab.


12. Right-click in the Standard Deviation text box; then, click Map this value to a
parameter. The Select a Parameter dialog box appears prompting you to enter the
name of a parameter to which you want to map.

Isight Component Guide


206 Chapter 2 Using Process Components

13. Type a name for the parameter (by default, the Standard Deviation option name is
used); then, click OK. Once mapped, the icon appears next to the tuning
parameter's value. You can click this icon to view or change the parameter name.
You can also right-click on the setting again to remove the parameter name.

14. Click Apply to save your changes; then, proceed to step 18.

15. Click the Factors or Responses tab.

16. Right-click the attribute you want to map. A menu appears.

17. Perform one of the following options:

„ If you want to apply the mapping to only the selected parameter, select the
Map <Attribute_Name>to a parameter for selected option.

„ If you want to apply the mapping to all the parameters, select the Map
<Attribute_Name> to a parameter for all option.

Isight Component Guide


Using the Six Sigma Component 207

The icon appears next to the tuning parameter's value. You can click this icon
to view or change the parameter name.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a member(s) of a special aggregate parameter called Mapped
Attributes and Options.

Note: You can remove these mappings at any time. Simply right-click the
appropriate parameter attribute; then, select the Remove mapping of
<Attribute_Name> to a parameter for selected or Remove mapping of
<Attribute_Name> to a parameter for all option, depending on how you
originally mapped the attribute.

Note: If an entire array is selected as a random variable/factor (DOE)/response, or


for Optimization, design variable/constraint/objective (as opposed to individual
elements), a corresponding array will be created in the Mapped Attributes and
Options parameter with elements that will map to the corresponding elements of
the variable/factor (DOE)/response or variable/constraint/objective array during
execution. If the variable/factor (DOE)/response or variable/constraint/objective is
a dynamic array, make sure you construct the model in such a way that the mapped
attribute array parameter is resized in sync with the variable/factor (DOE)

Isight Component Guide


208 Chapter 2 Using Process Components

/response or variable/constraint/objective array. If this is not done, warning


messages will be sent to your job log.

18. Click OK to close the component editor and return to the Design Gateway.

19. Click the Parameters tab.

20. Locate the new aggregate parameter called Mapped Attributes and Options;
then, click the icon to expand the parameter. The new mappings appear.

Editing Attributes for Multiple Parameters


You can add, remove, and edit attributes for multiple design parameters (factors,
random variables, responses, etc.) at the same time.

Isight Component Guide


Using the Six Sigma Component 209

To edit attributes for multiple design parameters:

1. Select the parameter(s) you want to add/remove/edit on either the Random


Variables/Factors or Responses tab.

To select all parameters, click the button (Check button on the Responses

tab) at the bottom of the tab. To deselect all the parameters, click the
button (Uncheck button on the Response tab).

2. Click the button (Edit... button on the Response tab) at the bottom of the
component editor. The Edit dialog box appears. In the following example, a
parameter on the Random Variables tab is being edited.

3. Update the listed values, as desired. Only options with defined values appear on
this dialog box.

4. Click OK. The values are updated for all the parameters that were selected.

Isight Component Guide


210 Chapter 2 Using Process Components

Setting Six Sigma Component Preferences


To set component preferences:

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.

2. Expand the Components folder on the left side of the dialog box; then, select Six
Sigma.

The following preference options are available with the Six Sigma component:

„ Default Six Sigma Analysis Type. Determine which analysis type will
automatically appear every time the component editor for a newly inserted
component is first opened.

„ Default Six Sigma Technique. Determine which technique will automatically


appear every time the component editor for a newly inserted component is first
opened.

3. Click OK to save your changes and close the Preferences dialog box.

Using the Six Sigma Component API


The Six Sigma component provides an API for programmatically configuring the Six
Sigma component using a Java program. For information about Component APIs and
how they use keywords on generic get/set/add/call methods, see “Editing Component
Properties,” on page 25.

The API for the Six Sigma component consists of the following method:
get("SixSigmaPlan"). This returns a SixSigmaPlan object from the
com.engineous.sdk.designdriver.plan package. From that entry point you have access
to numerous methods for setting/configuring the sampling technique, setting the run
mode, adding/editing random variables and responses, and configuring execution
options. For more information on configuring the Six Sigma component, refer to the
javadocs for the SixSigmaPlan interface in your <Isight_install_directory>/javadocs
directory.

Isight Component Guide


Using the Taguchi Robust Design Component 211

Using the Taguchi Robust Design Component


The design driver capability available for Isight includes a Taguchi Robust Design
component. This section is divided into the following topics:

„ “Opening the Editor and Using the P-Diagram Tab,” on this page

„ “Setting Factor Information,” on page 214

„ “Defining Responses,” on page 223

„ “Defining Post Processing Options,” on page 226

„ “Mapping Options and Attributes to Parameters,” on page 228

„ “Editing Attributes for Multiple Parameters,” on page 233


„ “Setting Taguchi Robust Design Component Preferences,” on page 234

„ “Using the Taguchi Component API,” on page 235

Opening the Editor and Using the P-Diagram Tab


To access the Taguchi Robust Design component editor and use the P-Diagram tab:
1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide.

Isight Component Guide


212 Chapter 2 Using Process Components

The Component Editor dialog box appears with the P-Diagram selected.

The P-Diagram tab displays the following information:


„ The selected system type: static system, dynamic system, or
dynamic-standardized system.
„ The control factor information. The control factors that represent design
parameters under the designer's control which are fixed after design time (for
example, dimensions). The control array represents the combinations of values
of each control factor to be executed as design points. The control array DOE
technique, as well as the number of experiment points, is displayed.
„ The noise factor information. The noise factors represent design parameters
not under the designer's control, varied to simulate/measure their effects on
system variability (for example, environment temperature). The noise array
represents the combinations of values of each noise factor to be executed as
system variation points. The noise array DOE technique, as well as the number
of experiment points, is displayed.

„ The signal factor and number of levels. The signal factor represents a
parameter set by the user when the product/process is being used (for example,
thermostat setting, accelerator pedal position, etc.). A signal factor is defined

Isight Component Guide


Using the Taguchi Robust Design Component 213

only for dynamic systems. The number of levels for the signal factor is
displayed when a signal factor is selected.

„ The total number of experiments, which is equal to the number of control


experiments multiplied by the number of noise experiments multiplied by the
number of signal levels (if the system type is dynamic and a signal factor is
included).

„ The responses. When the responses are selected and defined on the Responses
tab of this editor, this information is added to the response block to complete
the P-Diagram.

2. Set the system type by selecting the Static System, Dynamic System, or
Dynamic-Standardized System radio button. Changing the system type will
determine whether or not the signal tab is displayed (dynamic and
dynamic-standardized systems only) and will change the response options on the
Responses tab. The system type also determines the post-processing approach.
3. Set the following option in the Execution Options area of the P-Diagram tab:

„ Execute design points in parallel. If selected, all of the design points defined
by the design matrices will be submitted for execution simultaneously. You
may need to clear (deselect) this option if components within the subflow have
license limitations or other requirements that mandate only one execution at a
time.

Note: You can map this setting to a parameter. For more information, see
“Mapping Options and Attributes to Parameters,” on page 228.
4. (optional) Click the Advanced Options... button. The Advanced Execution
Options dialog box appears.

„ Execute subflow only once. If selected, the subflow executes only one time.
This is useful in models that need to turn the driver logic on/off parametrically.
This option is also helpful in debugging the process.

Note: You can map this setting to a parameter. For more information, see
“Mapping Options and Attributes to Parameters,” on page 228.
„ Allow the following to be turned off by parameters. This option allows you
to de-activate (turn off) the selected types of design parameters (factors,
responses) using input parameters to the Taguchi components. If this option is
selected, boolean input parameters will be created in an Active Factors/Active
Responses aggregate under the Mapped Options and Attributes aggregate

Isight Component Guide


214 Chapter 2 Using Process Components

parameter. The parameters are selected by default. If any of the parameters are
not selected at runtime, then those design parameters will not be used during
execution.

5. Proceed to “Setting Factor Information,” on this page.

Setting Factor Information


There are three options when setting factor information: Control, Noise, and Signal.
Factors can be defined as both control and noise at the same time. The simultaneous
control/noise assignment case is necessary when a noise effect (parameter variation)
cannot be separated from a design parameter (Control) nominal setting. For example,
in a shape optimization problem, which has a sizing parameter as a design variable,
you may want to introduce geometric tolerance as a noise factor. In that case, the
tolerances are not independent from the nominal design and they should be entered as a
relative value (for example, +/-0.001). Only one input can be selected as the signal
factor. The input selected as the signal factor cannot be selected as a control or noise
factor.

1. Click the tab for the type of factor you want to set: Control, Noise, or Signal.

2. (Control and Noise tabs) Click the Technique tab.; then, select the Technique by
using the Technique button.

Isight Component Guide


Using the Taguchi Robust Design Component 215

The technique’s options appear in the Technique Options area, and information
about the technique appears in the Technique Description area on the right side of
the tab.

Note: You can set default behavior for this option using the component preferences
as described in “Setting Taguchi Robust Design Component Preferences,” on
page 234.
The following Design of Experiments techniques are available in Isight (although
all techniques listed below may not be included in your installation):
„ Central Composite Design
„ Data File
„ Full Factorial
„ Latin Hypercube
„ Optimal Latin Hypercube
„ Orthogonal Arrays
„ Parameter Study

For more detailed information on these techniques, see “DOE Reference


Information,” on page 508.

Isight Component Guide


216 Chapter 2 Using Process Components

Note: DOE Techniques can be added to the Taguchi Robust Design component by
publishing new “DOE Technique” plug-ins to the Library. For more information,
refer to the Isight Development Guide.

3. (Control and Noise Factors only) Set the Technique Options. For more
information on using the options available on the Technique sub-tab for Taguchi
Robust Design Factor tab, see “Setting Technique-Specific Options,” on page 58.

Note: You can map these settings to a parameter. For more information, see
“Mapping Options and Attributes to Parameters,” on page 228.

4. Click Apply.
5. Click the Factor(s) tab. The contents of the tab appear.

The tab presents a table of available input parameters to select as factors to study,
along with columns for attributes to specify for each factor. The attributes to
specify are determined by the technique being used.

6. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose

Isight Component Guide


Using the Taguchi Robust Design Component 217

to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

7. Select the parameters you want to use as factors by clicking the check box that
corresponds to the parameter. To select all parameters, click the Check button at
the bottom of the tab. If no parameters are selected, you will be prompted to add all
parameters as factors. To deselect all the parameters, click the Uncheck button.

Note: Since there can be only one signal factor, there are no Select All/Deselect
All buttons, and the factor check boxes are replaced with single select radio
buttons.

8. Change any of the default values, which are provided for all attributes for a
selected factor, as desired.

Note: Depending on the technique, a change in one of the columns might


automatically update any other columns that are related.
Although each technique defines the appropriate set of attributes for a factor, the
following set of attributes are common among many of the techniques.
„ # Levels. This attribute is the number of levels at which you wish to study the
factors. A change to this attribute will automatically re-adjust the Levels for
this factor.

„ Levels. This attribute is a space-separated list of the levels at which to study


the factor. The related attributes are updated once you click in a different cell.

„ Lower/Upper. These attributes are lower/upper levels for the factor. A change
to one of these attributes will automatically calculate new levels evenly
distributed between the Lower and Upper values.

„ Relation. This attribute specifies whether the Levels should be interpreted as


values or as %/difference (diff.) from a specified Baseline.

„ Baseline. This attribute is the value to be used for converting Levels into
values when the Relation is “%” or “diff”. This attribute is set to the current
parameter value by default.

„ Alpha. The Lower and Upper levels specify the two levels at which a 2-level
full-factorial study is performed. The center point is also studied. The Alpha
option is a ratio defining two other points (also known as “star points”) at
which to study the given factor. For example, Alpha set to 0.25 indicates the
factor is to be studied at points 1/4 of the way from the baseline to the lower

Isight Component Guide


218 Chapter 2 Using Process Components

and upper levels. Alpha set to 1.6 indicates the factor is to be studied 60%
beyond the lower and upper levels. For example, Lower = 5, Upper = 20,
Baseline = 10, and Alpha = 0.25 results in Levels = {5, 8.75, 10, 12.5, 20}.

Other factor attributes specific to individual techniques can be found in


“Setting Technique-Specific Options,” on page 58.
9. (Dynamic-Standardized System only). On the Noise tab, determine the
Standardized S/N Noise Approach setting. The following options are available:
„ Noise Matrix (the default option)

„ 3 Noise Condition (negative side, reference, positive side)

If the Noise Matrix option is selected, noise factors are defined exactly as defined
in step 8 - factor attributes available are based on the noise technique selected.

If the 3 Noise Condition option is selected, the Technique and Matrix tabs under
the Noise tab are removed; no technique is selected for the noise factors and no
matrix is generated. In this case, three noise experiments are fully defined in the
noise factors table based on a specified negative noise condition, a reference noise
condition, and a positive noise condition. The noise condition refers to the overall
combined effect of the noise factors at each condition on the response values. The
negative and positive side noise conditions can be defined relative to the reference
condition using the Relation attribute, by setting this attribute to % or diff.

For more information about the 3 noise condition, see “Taguchi


Dynamic-Standardized Analysis,” on page 565.

Isight Component Guide


Using the Taguchi Robust Design Component 219

The Noise tab with the 3 Noise Condition setting selected is shown below.

10. Select the Update factor baselines to current values when executing option at
the bottom of the tab if you want the baseline values updated to the current
parameter values before executing. If Isight previously modified a parameter, this
option allows for automatic updating of the baseline of all factors to the current
parameter values in Isight, prior to executing the DOE technique, which will
re-adjust the values to be studied appropriately. The default is to have this option
deactivated, retaining user-defined settings. This option is useful if the DOE
technique is executed after another element of the workflow that might change the
parameter values (for example, after an Optimization component), so that the DOE
study can be performed around the new design point.

Note: You can also set factor attributes for one or multiple factors using the Edit...
button at the bottom of the editor. For more information, see “Editing Attributes
for Multiple Parameters,” on page 233.

Note: You can map these settings to parameters. For more information, see
“Mapping Options and Attributes to Parameters,” on page 228.

Once you select a factor, it appears in the P-Diagram tab.

11. Click Apply.

Isight Component Guide


220 Chapter 2 Using Process Components

12. Click the Matrix tab. The contents of the tab appear.

This tab displays the design matrix generated for the technique selected and the
factors selected and attributes specified on the Factors tab.
Note: Since there can be only one signal factor, the signal factor matrix has only
one column, with each level of the signal factor listed exactly once.

Note: If an array was selected as a control or noise factor, only a single item will be
displayed in the design matrix for the entire array. At runtime, the individual
elements of the array will be assigned to columns of the design matrix, as
necessary.

13. (Optimal Latin Hypercube technique only). Click the Generate button to create
your design matrix. This ability to manually generate your matrix is present since
this process can take a significant amount of time.

Isight Component Guide


Using the Taguchi Robust Design Component 221

The Design Matrix Generation Status dialog box appears, showing you how the
matrix generation is progressing.

Note: If you do not manually generate the design matrix in the component editor, it
will automatically be generated as part of the execution.

14. (Optimal Latin Hypercube technique only) Examine the information displayed on
the Status dialog box; then, click the Close button once the matrix has been
created. If you click the Close button before the optimization of the design matrix
is complete, the resulting design matrix will be the last one generated during the
optimization process.

15. (Orthogonal Arrays technique only) Click the Options... button to display any
options available for generating the design matrix. When using Orthogonal Arrays,
the factors are automatically assigned to columns in a way that minimizes
confounding with interaction effects. Preference is given to factors in the order
they were defined.

16. Select how you want the design matrix displayed using the Show button. You can
display the design matrix as values (the actual values to be set at execution) or
levels (the level number as generated by the technique algorithm).

17. Perform any of the following actions, as desired, to manipulate the design matrix:

„ Deactivate a single design point. Click any row number to deactivate that
design point so that it will not be executed (the icon appears). You can

also click the button at the top of the design matrix, or right-click the
design matrix and select the Skip selected design point(s) option from the
menu that appears.

„ Deactivate all design points. To deactivate all design points in the design

matrix, highlight all of the design points and click the button. You can
also right-click the design matrix and select Skip all design points from the
menu that appears.

Isight Component Guide


222 Chapter 2 Using Process Components

Note: Deactivating design points is useful when it is known that a specific set
of values in the design matrix represents a design that cannot be evaluated for
whatever reason.
„ Activate a design point. To activate a design point that has been set to be
skipped, click the icon that represents the design point. The row number
reappears. You can also click the button at the top of the design
matrix, or right-click the design point and select Activate selected design
point(s) from the menu that appears.

„ Activate all design points. To activate all of the design points in the design
matrix, highlight all of the design points and click the button. You can
also right-click the design matrix and select Activate all design points from
the menu that appears.

„ Copy the design matrix. This option copies the design matrix to the clipboard
so that is can be pasted elsewhere (for example, in a text file). This option can

be accessed using the Copy button above the design matrix or by


right-clicking the design matrix and selecting Copy design matrix from the
menu that appears.
„ Save the design matrix. Saves the design matrix to a file. This option can be

accessed by clicking the Save button above the design matrix or by


right-clicking the design matrix and selecting Save... from the menu that
appears.
18. Click Apply.

19. (optional) Repeat step 1 through step 18 for any other factor types you want to set.

20. Click the P-Diagram tab. Note that the factors you selected now appear in the
P-Diagram.

21. Proceed to “Defining Responses,” on page 223.

Isight Component Guide


Using the Taguchi Robust Design Component 223

Defining Responses
To define responses for your plan:

1. Click the Responses tab. The contents of the tab appear.

2. (optional) Right-click in the table, and then select Group Parameters. This action
sorts the parameters in the table by component. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You may also choose
to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

3. Select the parameters you want to use as responses by clicking the check box that
corresponds to the parameter. To select all parameters, click the Check button at
the bottom of the tab. If no parameters are selected, you will be prompted to add all
parameters as responses. To deselect all the parameters, click the Uncheck button.

Once you select a response, it appears in the P-Diagram tab.

When an output is selected for use, the remaining columns automatically display
any related information.

Isight Component Guide


224 Chapter 2 Using Process Components

Note: You can map these settings to parameters. For more information, see
“Mapping Options and Attributes to Parameters,” on page 228.

The following columns display information about the responses:

„ (Static and Dynamic Systems only) Type. This column defines the response
type, which, in turn, determines what formulation is used for the S/N Ratio and
Loss Function calculations. To change the response type, click the current
setting in the cell.
The following options are available:
• Nominal is Best. For static system, values as close as possible to a
specified target are preferred. For dynamic system, the slope of the linear
relationship between the response and the signal levels is preferably as
close to the specified target slope as possible.
• Lower is Better. For static system, values as low as possible are preferred.
For dynamic system, the slope of the linear relationship between the
response and the signal levels is preferably as low as possible.
• Higher is Better. For static system, values as high as possible are
preferred. For dynamic system, the slope of the linear relationship between
the response and the signal levels is preferably as high as possible.
„ (Dynamic System only) Dynamic Quality Characteristic. For Dynamic
system, the following quality characteristics determine how the dynamic
response is analyzed for linearity with respect to the signal factor:

• Zero Point Proportional. The relationship between the signal factor and
response passes through zero (zero input leads to zero output). One good
example of this relationship is a weighing system to be designed and
calibrated. If no weight is on the scale, the measurement should read zero.
• Reference Point Proportional. The relationship between the signal factor
and the response passes through a reference point. This type is used when
the relationship does not pass through zero or when the signal values are far
from zero. This type can be used if the relationship can be calibrated to a
known standard, as with oven controls where one setting is calibrated to a
specific temperature.
• General Linear Equation. This type is used when the relationship
between the signal factor and response is not known to pass through zero
and no reference point is known, which is the most general case. The other
types should be used whenever possible. This type can be useful, however,

Isight Component Guide


Using the Taguchi Robust Design Component 225

when signal levels are close together and far from zero, with no known
reference point. With this type, a linear fit to the data will be used to assess
the signal factor / response relationship.
„ (Static and Dynamic Systems only) Target. This column displays information
pertaining to the desired response target value. The target column is used only
when working with a Nominal is Best response type. For dynamic system, this
value defines the target slope of the linear relationship between the response
and the signal levels. To enter a target value, simply click in the appropriate
cell in the target column, and make any necessary changes.

„ (Static System only) Loss Constant. This column displays the loss constant,
which is a scale factor used to convert the loss function to a desired
measurement or unit (for example, $/part). If no existing data/analysis is
available to set this constant, the default of 1.0 can be used to assess relative
quality loss between design alternatives (to compare designs defined by the
control array). If domain information is available to set this constant, the value
can be changed by clicking on it, and making any edits at the cursor that
appears.

„ (Dynamic-Standardized System only) Reference Response Targets. This


column displays target response values for each defined signal factor level. If
five signal factor levels are defined, five reference targets must be defined for
each selected response. These reference response targets are used when
calculating the standardized S/N ratio. For more information regarding the use
of these targets and calculation of the standardized S/N ratio, see “Taguchi
Dynamic-Standardized Analysis,” on page 565.

Note: You can also set variable options using the Edit... button at the bottom of the
editor. For more information, see “Editing Attributes for Multiple Parameters,” on
page 233.

4. Click Apply.

5. Proceed to “Defining Post Processing Options,” on page 226.

Isight Component Guide


226 Chapter 2 Using Process Components

Defining Post Processing Options


To define post processing options:

1. Click the Post Processing tab. The contents of the tab appear.

Best and worst factor levels are estimated based on main effect calculations. The
combination of best or worst levels may not be a combination that was included in
the control experiment and hence no metric (e.g., S/N ratio) value is available. The
metric value is automatically estimated, again based on main effect information.
Choosing one or both of these options will allow the estimated response metric
values to be verified with actual executions of the noise array and signal levels.

2. Select a response; then, in the Confirm drop-down list choose one of the following:

„ Best Levels
„ Worst Levels
„ Best and Worst Levels

Note: You can also set options using the Edit... button at the bottom of the editor.
For more information, see “Editing Attributes for Multiple Parameters,” on
page 233.

Isight Component Guide


Using the Taguchi Robust Design Component 227

3. Select the desired performance metrics to be confirmed by clicking the appropriate


check button next to the metric value. For each selected response, any or all of the
following estimated metric values (at best and/or worst factor levels) can be
confirmed:

„ S/N Ratio
„ (Static or Dynamic only) Sensitivity
„ (Static only) Mean
„ (Static only) Variance
„ (Static only) Loss Function
„ (Dynamic-Standardized only) Beta 1
„ (Dynamic-Standardized only) Beta 2
„ (Dynamic-Standardized only) Beta 3

As shown, confirmation of Mean, Variance, and Loss Function only applies to


static systems. Also, confirmation of Beta 1, Beta 2, and Beta 3 only applies to
dynamic-standardized systems. The runs for each best/worst, response, metric, and
combination are performed independently, each requiring full execution of the
noise array (times the number of signal factor levels for the dynamic case).

4. (Dynamic-Standardized System only) Determine the Standardized S/N Ratio


setting. The following options are available:

„ Generic formulation

„ Taguchi formulation
This option determines how the S/N Ratio is calculated. For more information
regarding the standardized S/N Ratio calculation, see “Taguchi
Dynamic-Standardized Analysis,” on page 565.

5. Click the Run baseline design point (all noise/signal experiments will be
executed) check box to specify an evaluation of robustness at baseline design, if
necessary. After execution of the designed experiments, Isight executes the
noise/signal combinations at the baseline design, and performs Taguchi post
processing on that point to calculate the values of the Taguchi metrics for the
baseline design. These values are then used for comparison with metric values at
identified best/worst levels to calculate benefit/loss achieved through the
performed experimentation and post processing.

6. Click OK to close the editor and save your changes. Click Apply to save your
changes, but keep the editor open.

Isight Component Guide


228 Chapter 2 Using Process Components

Mapping Options and Attributes to Parameters


The configuration (technique options, execution options, and design parameter
attributes) of a design driver-type component is stored in the property information for
the component. However, you can drive these options and attributes by parameters. For
example, the levels of a factor in the Taguchi Robust Design component can be driven
by a parameter in a previous component.

To map an option to a parameter:

1. Open the Taguchi Robust Design component editor.

2. Perform one of the following actions:

„ To map an execution option value to a parameter, proceed to step 3

„ To map a technique option value to a parameter, proceed to step 7.

„ To map a factor attribute to a parameter, proceed to step 12.

„ To map a response or post processing attribute to a parameter, proceed to


step 16.

3. Right-click the Execute design points in parallel option in the upper left corner of
the editor to map that execution option to a parameter. Click the Advanced
Options... button to map the Execute subflow only once option.
4. Select the Map this value to a parameter option. The Select a Parameter dialog
box appears prompting you to enter the name of a parameter to which you want to
map.

Isight Component Guide


Using the Taguchi Robust Design Component 229

5. Type a name for the parameter (by default, the execution option name is used);
then, click OK. Once mapped, the icon appears next to the execution option.
You can click this button to view or change the parameter name. You can also
right-click on the setting again to remove the mapping.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter.

6. Click Apply to save your changes; then, proceed to step 19.

7. Click the Control or Noise tab; then, click the Technique tab.

8. Click the value in the text box for the technique option whose value you want to
map. The value is highlighted.

9. Right-click the value; then, select Map this value to a parameter option. The
Select a Parameter dialog box appears prompting you to enter the name of a
parameter to which you want to map.

Isight Component Guide


230 Chapter 2 Using Process Components

10. Type a name for the parameter (by default, the technique option name is used);
then, click OK. Once mapped, the icon appears next to the technique option's
value. You can click this icon to view or change the parameter name. You can also
right-click on the setting again to remove the parameter name.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter.

11. Click Apply to save your changes; then, proceed to step 19.

12. Click the Control, Noise, or Signal tab; then, click the Factor(s) tab.

13. Right-click the attribute you want to map. A menu appears.


14. Perform one of the following options:

„ If you want to apply the mapping to only the selected parameter, select the
Map <Attribute_Name>to a parameter for selected option.

„ If you want to apply the mapping to all the parameters, select the Map
<Attribute_Name> to a parameter for all option.

Isight Component Guide


Using the Taguchi Robust Design Component 231

The icon appears next to the tuning parameter's value. You can click this icon
to view or change the parameter name.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a special aggregate parameter.

Note: You can remove these mappings at any time. Simply right-click the
appropriate parameter attribute; then, select the Remove mapping of
<Attribute_Name> to a parameter for selected or Remove mapping of
<Attribute_Name> to a parameter for all option, depending on how you
originally mapped the attribute.

15. Click Apply to save your changes; then, proceed to step 19.

16. Click the Responses or Post Processing tab.

17. Right-click the attribute you want to map. A menu appears.


18. Perform one of the following options:

„ If you want to apply the mapping to only the selected parameter, select the
Map <Attribute_Name>to a parameter for selected option.

„ If you want to apply the mapping to all the parameters, select the Map
<Attribute_Name> to a parameter for all option.

Isight Component Guide


232 Chapter 2 Using Process Components

The icon appears next to the tuning parameter's value. You can click this icon
to view or change the parameter name.

The parameter(s) you have just created will appear in the Design Gateway
Parameters tab as a member(s) of a special aggregate parameter called Mapped
Attributes and Options.

Note: You can remove these mappings at any time. Simply right-click the
appropriate parameter attribute; then, select the Remove mapping of
<Attribute_Name> to a parameter for selected or Remove mapping of
<Attribute_Name> to a parameter for all option, depending on how you
originally mapped the attribute.

Note: If an entire array is selected as a control or noise factor/response (as opposed


to individual elements), a corresponding array will be created in the Mapped
Attributes and Options parameter with elements that will map to the
corresponding elements of the control or noise factor/response array during
execution. If the control or noise factor/response is a dynamic array, make sure you
construct the model in such a way that the mapped attribute array parameter is
resized in sync with the control or noise factor/response array. If this is not done,
warning messages will be sent to your job log.

19. Click OK to close the component editor and return to the Design Gateway.

Isight Component Guide


Using the Taguchi Robust Design Component 233

20. Click the Parameters tab.

21. Locate the new aggregate parameter called Mapped Attributes and Options;
then, click the icon to expand the parameter. The new mappings appear.

Editing Attributes for Multiple Parameters


You can add, remove, and edit attributes for multiple design parameters (factors,
responses, etc.) at the same time.

To edit attributes for multiple design parameters:


1. Select the parameter(s) you want to add/remove/edit on the Control (Factors tab),
Noise (Factors tab), or Responses tab.

To select all parameters, click the Check button at the bottom of the tab. To
deselect all the parameters, click the Uncheck button.

2. Click the Edit... button at the bottom of the component editor.

Isight Component Guide


234 Chapter 2 Using Process Components

The Edit dialog box appears. In the following example, a parameter on the
Responses tab is being edited.

3. Update the listed values, as desired. Only options with defined values appear on
this dialog box.

4. Click OK. The values are updated for all the parameters that were selected.

Setting Taguchi Robust Design Component


Preferences
To set component preferences:

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.

2. Expand the Components folder on the left side of the dialog box; then, select
Taguchi RD. The following preference options are available:

„ Default Control Technique. Determine which DOE technique will


automatically appear for control factors every time the component editor for a
newly inserted component is first opened.

„ Default Noise Technique. Determine which DOE technique will


automatically appear for noise factors every time the component editor for a
newly inserted component is first opened.

3. Click OK to save your changes and close the Preferences dialog box.

Isight Component Guide


Using the Task Component 235

Using the Taguchi Component API


The Taguchi component provides an API for programmatically configuring the
Taguchi component using a Java program. For information about Component APIs and
how they use keywords on generic get/set/add/call methods, see “Editing Component
Properties,” on page 25.

The API for the Taguchi component consists of the following method:
get("TaguchiPlan"). This returns a TaguchiPlan object from the
com.engineous.sdk.designdriver.plan package. From that entry point you have access
to numerous methods for setting/configuring the DOE control and noise plans,
adding/editing control and noise factors and responses, and configuring execution
options. For more information on configuring the Taguchi component, refer to the
javadocs for the TaguchiPlan interface in your <Isight_install_directory>/javadocs
directory.

Using the Task Component


The Task Component is a simple component that always executes a subflow once,
unlike other process components that may execute a subflow numerous times. It also
allows you to create a Task Plan to execute a sequence of process components on the
subflow.

For more information on using the Task Plan, refer to the Isight User’s Guide.

Isight Component Guide


236 Chapter 2 Using Process Components

Isight Component Guide


237

3 Using Activity Components

This chapter describes the usage of the Engineous-supplied activity components that
are included with a standard Isight installation. It is divided into the following topics:

„ “Introduction,” on page 238

„ “Using the Approximation Component,” on page 238

„ “Using the Calculator Component,” on page 255

„ “Using the COM Component,” on page 261

„ “Using the Data Exchanger Component,” on page 266


„ “Using the Database Component,” on page 326

„ “Using the Excel Component,” on page 343

„ “Using the Fast Parser Component,” on page 366


„ “Using the iSIGHT Component,” on page 378

„ “Using the iSIGHT File Parser Component,” on page 392

„ “Using the Mail Component,” on page 408


„ “Using the MATLAB Component,” on page 412

„ “Using the OS Command Component,” on page 426

„ “Using the Pause Component,” on page 455

„ “Using the Reference Component,” on page 464

„ “Using the Script Component,” on page 477

„ “Using the Simcode Component,” on page 485

„ “Using the Word Component,” on page 496

Isight Component Guide


238 Chapter 3 Using Activity Components

Introduction
Components are an essential part of model construction. Numerous components have
been developed by Engineous and are included with Isight. These components are
accessed using the Design Gateway, but each has a different editor and options that can
be configured.

All Isight components can be divided into two types: process and activity.

An activity component is a component designed to perform some end functionality,


sometimes invoking and interacting with an external application that is completely
external and unknown to Isight. Approximation, Data Exchanger, and Excel are all
examples of applications that would comprise activity components.

For more information on process components, see “Using Process Components,” on


page 39.

Using the Approximation Component


The Approximation component in Isight is a means of creating an analysis component
based on the data generated previously either by Isight or by an external tool and saved
in a data file. Using the Approximation component, you can generate a mathematical
model of your data, which can then be used for quick and efficient design studies or
optimization in Isight. The complexity and sophistication of the mathematical model
can be controlled by choosing the desired approximation technique and its options. The
following two approximation techniques are available in Isight:

„ RBF Model - a neural network-based approximation technique


„ Response Surface Model - a polynomial-based approximation technique

For detailed information on each of these techniques, as well as their parameters, see
the remaining parts in this section.

Isight Component Guide


Using the Approximation Component 239

This section is divided into the following topics:

„ “Selecting the Technique and Specifying the Data File” on this page

„ “Defining Input and Output Parameters,” on page 243

„ “Setting Technique Options,” on page 246

„ “Setting Error Analysis Options,” on page 251


„ “Viewing Coefficients Data,” on page 252

Selecting the Technique and Specifying the Data


File
To configure the Approximation component:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide. The Component Editor dialog box appears.

The editor is divided into six tabs: Technique, Data File, Parameters, Technique
Options, Error Analysis Options, and View Data.

Isight Component Guide


240 Chapter 3 Using Activity Components

2. Verify that the Technique tab is selected; then, choose the technique you want to
use from the Approximation technique drop-down list. Information about the
technique appears in the Technique Description area.

Note: This component has default preferences which can be set based on your
needs. For more information, refer to the Isight User’s Guide.
3. (optional) Review the information in the Technique Description area.

4. Click the Data File tab. The contents of the tab appear.

The Data File type is Sampling Points by default. You may also use a previously
saved coefficients data file from another approximation with the same number of
input and output parameters. Proceed to one of the following sections:

„ To use a sampling points data file, proceed to step 5.


„ To use a coefficients data file, proceed to step 8.

5. Type the name and path of the data file directly into the corresponding text box, or
click the Browse... button and navigate to the file with data for approximation
construction.

Isight Component Guide


Using the Approximation Component 241

The file must contain parameter names on the first line, and data points on each
line after that.

6. After entering the data file, determine how Isight will handle the file using one of
the following options:

„ Static file. When this option is selected, the data in the file never changes.
Isight will read it once and save in memory for future use. However, if the
contents of the file change, you can instruct Isight to re-read the file using the
Re-read File button.
„ Dynamic file. When this option is selected, the data in the file can change.
Isight will read it every time before initialization. This option is only available
in Isight standalone. It is not supported in a Fiper environment.

„ File parameter. When this option is selected, Isight will create a file
parameter in the component, which can be mapped to receive data from
another file parameter at the time of execution.

7. Proceed to step 10.

Isight Component Guide


242 Chapter 3 Using Activity Components

8. Select Coefficients Data from the Data File Type drop-down list. The options for
the Coefficients Data File appear.

9. Type the name and path of the data file directly into the corresponding text box, or
click the Browse... button and navigate to the file with data for approximation
construction.
Note: If you use a coefficients data file, the Technique Options tab is not available.

10. Click Apply to save your changes.

11. Proceed to “Defining Input and Output Parameters,” on page 243.

Isight Component Guide


Using the Approximation Component 243

Defining Input and Output Parameters


To define input and output parameters for your approximation:

1. Click the Parameters tab. The contents of the tab appear.

This tab allows you to set the list of input and output parameters of the
approximation by selecting them from the list of available parameters. If you
previously created parameters for this component using either the Design Gateway
or this editor, the parameters will appear in the two lists on this tab. You can add
new parameters to your component by scanning the first line of the data file.

Isight Component Guide


244 Chapter 3 Using Activity Components

2. Click the Scan... button. The Parameters in Data File dialog box appears.

All parameter names found on the first line of the data file are displayed in the
table on this dialog box. You can select any number of parameters to be used as
inputs or outputs. You do not have to select all of the parameters in the data file.

3. Determine if the parameters will be input or output parameters using either of the
following options, as desired:

„ Select parameters individually using the check boxes in the corresponding


columns.

„ Select multiple parameters by first highlighting several rows in the parameter


list; then, click the appropriate Check all selected rows check box at the
bottom of the dialog box.

Isight Component Guide


Using the Approximation Component 245

4. Click OK. You are returned to the Parameters tab, and the selected parameters are
displayed as specified (input or output).

5. Verify that the correct parameters are selected for use with your approximation.
You can choose individual parameters, or use the Check button to use all of the
listed input or output parameters.

6. Click Apply to save your changes.

7. Perform one of the following actions:


„ Proceed to “Setting Technique Options,” on page 246 if you wish to define
specific options. This tab is not available if you selected the Coefficient Data
option on the Data File tab. For more information on where to set this option,
see “Selecting the Technique and Specifying the Data File,” on page 239.

„ Proceed to “Setting Error Analysis Options,” on page 251 if you wish to set a
particular option (other than the default) for the error analysis.

„ Proceed to “Viewing Coefficients Data,” on page 252 if you wish to view the
approximation’s internal coefficient data.

„ Click OK to close the editor.

Isight Component Guide


246 Chapter 3 Using Activity Components

Setting Technique Options


The Response Surface Model and RBF Model techniques have unique technique
options. Proceed to one of the following steps based on the technique you are using:

„ To set technique options for RBF Model, proceed to step 1.

„ To set technique options for Response Surface Model, proceed to step 4.

1. Click the Technique Options tab. The contents of the tab appear:

2. Set the Smoothing Filter option. This option allows you to relax the requirement
that the RBF approximation pass through every single data point. Its primary
purpose is to smooth out noisy data. By not going through every point, Isight can
effectively smooth noisy functions and provide an approximation that may be
easier to optimize. The value specified by this option averages the output values of
points that are clustered in the normalized filter domain.

The filter operates in normalized Euclidian space, in normalized domains ranging


from 0 to 1. Clustering is performed with respect to that range. For example,
consider that you have a single domain x, where 0<x<10. For a value of x=7.2, you
set a smoothing filter value of 0.001, then the procedure clusters and averages all

Isight Component Guide


Using the Approximation Component 247

points in the range of 0.719<x<0.721 (remember that the space is normalized over
the range 10).

The maximum allowed value for the smoothing filter is 0.1. Mathematically, this
means you have a maximum of 10 clustered sample points across. (Through
research, it has been determined that at higher values it does not make sense to
perform an RBF.) With 10 clustered sample points, you can do a maximum of four
local minima (sine wave) across one dimension. With quartic RSM you can do
three local minima across one dimension. Therefore, if you have to smooth more
than 0.1 it is better to switch to the RSM technique.

Note that there is no theoretical basis to distinguish between signal and noise in the
data used for approximation. We recommend that you evaluate the resultant RBF
to determine if this option is appropriate for your application.

3. Proceed to “Setting Error Analysis Options,” on page 251.

4. Click the Technique Options tab. The contents of the tab appear.

Isight Component Guide


248 Chapter 3 Using Activity Components

5. Set the Polynomial Order option. This option controls the order of the
polynomials used by the Response Surface Model. The following options are
available:

„ Linear. This option makes all outputs linear functions with respect to inputs.
This option is recommended if you want to study first order (linear) effects of
the inputs on the outputs.

„ Quadratic. If this option is selected, the polynomials for all outputs will
contain linear terms, as well as all quadratic terms and all two-way interactions
of the inputs. This option is the recommended choice unless you know that the
outputs are either linear or highly non-linear with respect to the inputs.
Quadratic polynomials also behave well in optimization.

„ Cubic. If this option is selected, the polynomials for all outputs will contain, in
addition to all linear and quadratic terms, all pure cubic terms. No three-way
interactions are included. Cubic polynomials require more design points in the
data file. They are recommended only for highly non-linear output functions,
when it is known that quadratic polynomials do not provide an accurate
approximation of the outputs.
„ Quartic. If this option is selected, the polynomials for all outputs will contain,
in addition to all linear and quadratic terms, pure cubic terms and pure 4-th
order terms. No three-way or four-way interactions will be included. The same
recommendations that apply to cubic polynomials also apply to quartic ones.
In practice, it is rarely necessary to use quartic polynomials. Cubic and quartic
polynomials may inhibit the optimization process by creating numerous false
local minima.

6. You can use Term Selection to remove some polynomial terms with low
significance, which can improve reliability for your approximation and reduce the
number of required design points. Perform one of the following actions:
„ To use Term Selection: Click the Use term selection to select the most
significant terms from the polynomial check box.
„ If you do not want to use term selection for your approximation, proceed to
“Setting Error Analysis Options,” on page 251.

Isight Component Guide


Using the Approximation Component 249

7. Select one of the following options from the Term selection method drop-down
list:

„ Sequential Replacement. This method of polynomial term selection starts


with the constant and then adds polynomial terms one at a time so that the
fitting errors of the RSM are minimized at every step. After adding a new
polynomial term, Isight will try to find a replacement for each of the selected
terms that can reduce the fitting errors further. The fitting errors are checked
via the Residual Sum of Squares (sum of squared errors at all design points):

Here are exact output values, are approximate output values, n is the
number of design points used for RSM.
„ Stepwise(Efroymson). This method of polynomial term selection starts with
the constant and then adds polynomial terms one at a time so that the fitting
errors of the RSM are minimized at every step. A new term is added if the
following condition is satisfied:

After adding a new term, Isight will examine all selected terms and will delete
one or more terms for which the following condition is satisfied:

In these formulae, p is the number of polynomial terms, n is the number of


designs used for RSM, is the F-ratio to add a term, and is the
F-ratio to drop a term.

Isight Component Guide


250 Chapter 3 Using Activity Components

The latter two values can be controlled using the text boxes that appear under
the Term Selection Method menu when Stepwise (Efroymson) is selected:
• F-ratio to drop term. This is the maximum value of F-ratio to drop a
polynomial term from RSM.
• F-ratio to add term. This is the minimum value of F-ratio to add a new
polynomial term to RSM.
„ Two-At-A-Time Replacement. This method of polynomial term selection
starts with the constant and then adds polynomial terms one at a time so that
the fitting errors of the RSM are minimized at every step. After adding a new
polynomial term, Isight will consider all possible replacements for 1 or 2 of the
selected terms that can reduce the fitting errors further. Then the best
replacement combination is found and the terms are replaced and the next best
term is selected and added. The process is repeated at every step until the
maximum number of terms is selected. This method has a better chance of
finding the best approximation than the two previous methods, but it is more
expensive computationally.

„ Exhaustive Search. This method generates all possible combinations of


polynomial terms and then finds the best combination that produces the
minimum fitting errors. This method is the most expensive computationally
and can take a very long time for a large number of design points and large
numbers of inputs and outputs. This method is only recommended for
approximations with very few inputs and very few coefficients.
8. Perform one of the following actions, based on your term selection method:

„ Click the Specify number of selected terms check box; then, enter the
number you want selected in the corresponding text box.

„ (Stepwise (Efroymson) only) Click the Specify maximum number of selected


terms check box; then, enter the maximum number you want selected in the
corresponding text box.

9. Click Apply to save your changes.

10. (optional) Proceed to “Setting Error Analysis Options,” on page 251.

Isight Component Guide


Using the Approximation Component 251

Setting Error Analysis Options


The Error Analysis Points tab allows you to determine the type of error analysis
method used for the current approximation.

To set the error analysis method:


1. Click the Error Analysis Options tab. The contents of the tab appear.

2. Select one of the following from the Error Analysis Method drop-down list:
„ No Error Analysis. No error analysis will be performed on the current
approximation. Proceed to step 8.
„ Separate Datafile. This method compares exact and approximate output
values for each data point. Proceed to step 3.
„ Cross-Validation. This method selects a subset of points from the main data
set, removes each point one at a time, re-calculates co-efficients, and compares
exact and approximate output values at each removed point. Proceed to step 6.

3. Type the name and path of the data file directly into the corresponding text box, or
click the Browse... button and navigate to the file with data for approximation

Isight Component Guide


252 Chapter 3 Using Activity Components

construction. The file must contain parameter names on the first line, and data
points on each line after that.

4. After entering the data file, determine how Isight will handle the file using one of
the following options:

„ Static file. When this option is selected, the data in the file never changes.
Isight will read it once and save in memory for future use. However, if the
contents of the file change, you can instruct Isight to re-read the file using the
Re-read File button.

„ Dynamic file. When this option is selected, the data in the file can change.
Isight will read it every time before initialization. This option is only available
in Isight standalone. It is not supported in a Fiper environment.

5. Proceed to step 8.

6. In the text box, type the number of points from the total number of sampling points
you want to use for cross-validation error analysis.

7. Click the Use a fixed random seed for selecting points check box and specify a
seed value to use for the random generator when determining the set of sample
points to be executed. This option allows you to reproduce the approximation with
the same set of points later, if desired.

8. Click Apply to save your changes.


9. (optional) Proceed to “Viewing Coefficients Data” on this page.

Viewing Coefficients Data


If your approximation is initialized, you can access its internal data using the View
Data tab. Otherwise, you must first initialize your approximation before viewing the
internal data.

Isight Component Guide


Using the Approximation Component 253

To access the approximation’s coefficients data:

1. Click the View Data tab. The contents of the tab appear.

Note: You may see a message stating that changes have been made to your
configuration. Click Yes to save the changes.

If the approximation is not initialized upon opening this tab, your tab will appear as
shown above. If your approximation is initialized, internal data appears on the tab,
as shown after step 2 below.

2. If desired, click the Initialize Now... button to initialize the approximation


immediately, which will allow you to view coefficient data for your
approximation. This action initializes the approximation using the settings you
have specified.

Note: You can click OK to save the configuration of your Approximation


component without initializing it. If you then submit your Isight model for
execution, the Approximation component will be initialized automatically before
the first evaluation.

Isight Component Guide


254 Chapter 3 Using Activity Components

Once your approximation is initialized, its internal data (coefficients, design


points, etc.), which vary depending on the type of approximation you selected, are
displayed on the tab.

3. Perform any of the following options, as desired:

„ Click the Export... button if you want to save the internal approximation data
to a file. Specify the name and location of the file using the Select File dialog
box that appears.
„ Click the Clear Data button if you want to reset your approximation (clear all
internal data from the approximation); then, click Yes to verify the data
removal. The approximation will become uninitialized, and the initialization
message and button reappear on the tab. Return to step 2 to initialize the
approximation again.

Isight Component Guide


Using the Calculator Component 255

„ Click the Error Analysis... button to open the Approximation Error Analysis
tool. The Error Analysis button is only available if error analysis was
performed on the approximation. For more information on using this interface,
refer to the Isight User’s Guide.

„ Click the Visualize... button to open the Approximation Viewer tool. For more
information on using this interface, refer to the Isight User’s Guide.

4. Click OK to close the editor and save your changes. Click Apply to save your
changes, but keep the editor open.

Using the Calculator Component


The Calculator component is used to define computations that are not provided by a
separate part of your model. It can be used to solve mathematical expressions, and it
supports all major mathematical operations. This section is divided into the following
topics:
„ “Creating a Calculation,” on this page

„ “Using Undeclared Parameters,” on page 258

„ “Using Array Parameters,” on page 259

„ “Understanding Limitations,” on page 260

„ “Using the Calculator Component API,” on page 260

Creating a Calculation
To use the Calculator component:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide.

Isight Component Guide


256 Chapter 3 Using Activity Components

The Component Editor dialog box appears.

The editor is comprised of the following components:


„ Expression text box. This item is the large text box that occupies the top half
of the editor. It is where expressions are displayed and edited. Each expression
must occupy a single line of text.

„ Parameters list. This area, on the bottom left half of the dialog box, contains a
list of available parameters. You can select parameters from this area to use in
your expressions. You can use the drop-down list at the top of the area to
determine what parameters are displayed in the list. All parameters are
displayed by default.

You can sort the parameters in the list by component. Right-click in the list,
and then select Group Parameters. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You can also
choose to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.
„ Calculator buttons. These buttons, in the middle of the bottom half of the
dialog box, are arranged to resemble a standard calculator.

Isight Component Guide


Using the Calculator Component 257

„ Functions list. This list, on the bottom right half of the dialog box, contains a
list of functions that may be helpful in defining your expressions. You can use
the drop-down list at the top of the area to determine what functions are
displayed in the list. Also, if you place your mouse pointer over a function,
information about the function is displayed in a pop-up tool tip.

„ Status bar. This item, at the bottom of the dialog box, just above the OK
button, displays messages associated with using the Calculator component.

The calculation can be as long as necessary. However, if your calculation exceeds


the viewable area, you must scroll sideways or up and down to view all of the
calculation.
2. Enter your calculations by typing the calculation in the expression text box or by
using any of the following methods:

„ To insert a declared parameter: Double-click the parameter in the Parameters


list to add it to the Expression text box. You can also select the parameter and
click the Add button beneath the Parameters list. (You can also use
undeclared parameters in your expression. For more information, see “Using
Undeclared Parameters,” on page 258.)

Note: Array variables can also be used with statistical functions. For more
information, see “Using Array Parameters,” on page 259.
„ To insert a function call: Double-click a function in the Functions list to add it
to the Expression text box. You can also select the item and click the Add
button.

„ To insert a number or an operator: Use the Calculator buttons or the number


buttons on your keyboard to enter expression information.

„ If you are entering multiple expressions, each expression must be placed on a


separate line in the Expression text box.

Important: There are some limitations with regard to variable names in


calculations. For more information, see “Understanding Limitations,” on page 260.

3. If necessary, edit the calculation directly in the editing text box.

Note: You can add comments to your calculations by starting the line with the #
symbol or the // symbol. You can change selected single or multiple lines into
comments by pressing the CTRL key and the # key (be sure to hold the SHIFT key

Isight Component Guide


258 Chapter 3 Using Activity Components

also) or the / key. The same action on lines that are already commented will
remove the comment symbols from those lines.

4. Once the calculation is finalized, you can choose one of the following options, if
desired:

„ Click the Calculate Now button to execute the calculation and display the
result at the bottom of the dialog box, unless an error exists in the expression.
To view a more detailed result, click the Show Results button next to the
result or double-click the result itself to open the Calculation Results dialog
box. Click OK to close this dialog box.

„ Click the Clear button to remove all of the contents in the Expression text box;
then, click Yes to verify the action.

5. Perform one of the following options:

„ Press ENTER; then, return to step 2 to add additional expressions to this


component.

„ Click OK to close the editor.

Using Undeclared Parameters


Any undeclared parameter on the right side of an expression is created as an Isight
input parameter when OK or Apply is clicked. Any undeclared parameter on the left
side of an expression is created as an Isight output parameter.

If an undeclared array parameter element is added to the expression (for example,


outvar = invar[1][2], where invar is not a declared array parameter), a new
array parameter is created dynamically when OK or Apply is clicked. The size of the
new array parameter is the maximum size of the individual element used in any
expression.

If an array parameter already exists, and you enter an array element that is outside the
bounds of the existing array parameter, you will be prompted to confirm the recreation
of the array parameter when OK or Apply is clicked.

Isight Component Guide


Using the Calculator Component 259

Using Array Parameters


While individual array elements can always be used as single quantities within
calculations, you can also use entire array parameters themselves with statistical
functions. In the following example, a parameter called dy is used in the calculation:

The following limitations/behaviors should be noted with respect to using array


parameters in calculations:

„ Array functions do not support array slices.

„ You can only pass one array parameter, such as sum(dy). You can pass multiple
scalar variables, such as sum(s1,s2,s3,…).
„ Only arrays of numeric datatype (real, integer) are available for use in calculations.

„ Only the following statistics functions are supported when using arrays:

„ sum - the sum of all elements of the arrays


„ min - the minimum value of all elements in the array
„ max - the maximum value of all elements in the array
„ mean - the mean value of all elements in the array
„ stddev - the standard deviation of all array elements from the mean

Isight Component Guide


260 Chapter 3 Using Activity Components

„ absSum - the sum of the absolute values of all elements in the array
„ absMax - the maximum of the absolute values of all elements in the array
„ absMin - the minimum of the absolute values of all elements in the array

Understanding Limitations
The following limitations exist for variables used in Calculator component
expressions:

„ Invalid characters in the variable names: ~,`, !, @, #, %, ^, &, *, -, +, =, {, }, [, ], \,


|, \\, /, <, >, . (period), , (comma), / , ?, “
„ No parameters can be used whose names contain any special characters. For more
information on changing parameter names, refer to the Isight User’s Guide.

„ The variable name must start with a non-numeric character. For example, a
parameters named “3var” is invalid. Instead, the variable should be called “var3”
or just “variable.” Any Isight variable that does not conform to this format is not
displayed in the available list of parameters.

„ A variable that contains a space in its name must be surrounded by single quotes in
the expression. For example, a parameter called variable one would have to be
entered in the expression as 'variable one'.

„ Using array variables: For more information on the limitations associated with
array variables, see “Using Array Parameters,” on page 259.

Using the Calculator Component API


The Calculator component provides an API for programmatically configuring the
Calculator component using a Java program. For information about Component APIs
and how they use keywords on generic get/set/add/call methods, see “Editing
Component Properties,” on page 25.

Isight Component Guide


Using the COM Component 261

The API for the Calculator component consists of the following methods:

„ getString("expression"), set("expression",
myExpression). This method allows you to get/set the value of the expression
as a string. When setting, this overwrites the previous value. To add to the existing
expression use the add("calculation") method. This new expression is not
yet stored in the component; you must call the apply() method on the Calculator
API to store this expression permanently.

„ add("calculation", oneCalculation). This method adds a new


calculation to the end of the current expression. This new expression is not yet
stored in the component; you must call the apply() method on the Calculator
API to store this expression permanently.

Using the COM Component


The purpose of the COM component is to interact with COM (Component Object
Model) objects that have been registered to the Windows operating system.

Important: Using this component requires an understanding of COM objects, which


are not covered in this book. In particular, you must know the name of the COM object
you want to interact with and the properties and functions that it provides. For more
information on COM objects, refer to your Windows operating system documentation.

This component allows you to perform the following operations:

„ Set COM object property. This operation allows you to set a COM object property
value from an Isight parameter value.

„ Get COM object property. This operation allows you to set an Isight parameter
value from a COM object property value.

„ COM object method / function execution. This operation allows you to execute
functions provided by the COM object and map the return values to Isight
parameters.

Isight Component Guide


262 Chapter 3 Using Activity Components

To use the COM component:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide. The Component Editor dialog box appears.

2. Type the COM object name in the COM Object text box. You must know the
name of the object you are going to use. There is currently no way to browse the
set of registered COM objects for selecting.

3. Proceed to one of the following sections based on the operation you want to
perform:

„ Get (proceed to step 4)

„ Method/Function (proceed to step 8)

„ Set (proceed to step 15)

Isight Component Guide


Using the COM Component 263

4. Verify that Get is selected from the Operation drop-down list. The Get editor
appears as shown below.

5. Specify the Property to get in the corresponding text box; then, select the Isight
parameter whose value you want to set from this property from the Parameter to

set return value to drop-down list or specify a new parameter using the
button. For more information on creating parameters, refer to the Isight User’s
Guide.

6. Click the button to add the new operation to the list in the Operations area.
7. Proceed to step 19.

Isight Component Guide


264 Chapter 3 Using Activity Components

8. Select Method/Function from the Operation drop-down list. The


Method/Function editor appears as shown below.

9. Specify the Method/Function to call in the corresponding text box.

10. Select the Isight Parameter to set the return value to from the corresponding
drop-down list.

Note: You can create a new parameter in which to store this value using the
button. For more information on creating parameters, refer to the Isight User’s
Guide.

11. Define arguments to pass to the function in the Arguments area.

„ If you select Constant: Specify the constant in the text box below the

drop-down list; then, click the button. The argument is added to the small
list in the Arguments area.

„ If you select Parameter: Select the parameter you want to use from the second

drop-down list, or create a new parameter using the button; then, click the

button. The argument is added to the small list in the Arguments area.

Isight Component Guide


Using the COM Component 265

12. Customize the list of arguments using the following methods:

„ Use the buttons in the Arguments area to rearrange the order of the
arguments.

„ Use the button in the Arguments area to delete an argument.

13. Click the button at the bottom of the left side of the editor. The specified
operation is added to the list in the Operations area.
14. Proceed to step 19.

15. Select Set from the Operation drop-down list. The Set editor appears as shown
below.

16. Specify the COM Property to set in the corresponding text box.
17. Specify whether you are setting the COM property from an Isight parameter value
or from a constant using the Value to set to drop-down list; then, select the
parameter from the drop-down list or type the value of the constant in the text box.

Note: You can create a new parameter in which to store this value using the
button. For more information on creating parameters, refer to the Isight User’s
Guide.

Isight Component Guide


266 Chapter 3 Using Activity Components

18. Click the button to add the new operation to the list in the Operations area.

19. (optional) Click Apply at any time to save your changes. Repeat the appropriate
previous steps to add more operations as desired.

20. Use the buttons in the Operations area to specify the order of the list of
operations.

Note: You can delete an operation by highlighting it and clicking the button
below the operations list.

21. Click OK to close the editor.

Using the Data Exchanger Component


The Data Exchanger allows you to move data between Isight parameters and text files
easily and efficiently. The value of a parameter can be written into the file, or data in
the file can be read and used to set the value of a parameter. There are many options for
how the data to be read or written is located, and for automatically handling structured
data: vectors and tables of numbers, and name/value lists. One and two dimensional
array parameters can be read or written using a single operation.

The Data Exchanger can process multiple files at one time, allowing data to be copied
directly from one file to another, or to use a read-only file to look up reference data.
Data can be read from and written to the same file when necessary. General
programming commands written in Java can be inserted between the data exchanger
actions in order to perform a calculation, loop over multiple data items, and even to
recover from processing errors.

The Data Exchanger is most frequently used to prepare input files for external
programs and to extract data from program output files. It can be used by itself in an
Isight workflow, and is also included as part of the Simcode component. The Simcode
component consists of an input Data Exchanger to prepare input for the command, an
OS Command to execute the command, and an Output Data Exchanger to extract data
from the program's output files. One advantage of the Simcode component is that the
files are prepared, processed, and read in the same step, avoiding any need to transfer
files over the network during distributed processing.

Isight Component Guide


Using the Data Exchanger Component 267

This section is divided into the following topics:

„ “Overview of the Editor,” on page 268

„ “Understanding Terminology,” on page 278

„ “Creating a New Data Exchanger Program,” on page 279

„ “Editing an Existing Data Exchanger Program,” on page 287


„ “Adding a Read or Write Statement,” on page 287

„ “Updating a Read or Write Operation,” on page 294

„ “Editing a Read or Write Statement,” on page 296


„ “Removing a Read or Write Operation,” on page 297

„ “Formatting Numbers During a Write Operation,” on page 298

„ “Changing the Format of a Section of a Data Source,” on page 299

„ “Updating an Existing Section Format,” on page 301


„ “Navigating Between Section Formats,” on page 302

„ “Editing Java Code Directly,” on page 303

„ “Using the General Text Format Option,” on page 304


„ “Using the Name Value Format Option,” on page 311

„ “Using the Table Format Option,” on page 312

„ “Using the Vector Format Option,” on page 315


„ “Searching a Data Source,” on page 317

„ “Creating Markers,” on page 317

„ “Using Advanced Action Types,” on page 319

„ “Filtering Parameters,” on page 322

„ “Deleting a Data Source,” on page 323

„ “Setting Data Exchanger Preferences,” on page 324


„ “Using the Database Exchanger Component API,” on page 324

Isight Component Guide


268 Chapter 3 Using Activity Components

Overview of the Editor


This section is divided into the following topics:

„ “Understanding the Main Interface Layout,” on this page

„ “Understanding Secondary Interfaces,” on page 276

Understanding the Main Interface Layout


A sample Data Exchanger editor is displayed below, with the main sections labeled.

The Data Exchanger is divided into the following major areas:

„ Toolbar (page 269)

„ Actions List (page 270)

„ Data Source Area (page 271)

Isight Component Guide


Using the Data Exchanger Component 269

„ Parameter Read/Write Area (page 274)

„ Swipe Details Area (page 274)

„ Parameter List (page 275)

„ Status Bar (page 276)

Toolbar
The toolbar located at the top of the editor displays buttons for most of the actions
available from the right-click menus. Some actions can be accessed only from the
toolbar.

„ . Opens a Find dialog to search for a string in the data source (file).

„ . Edits the selected action.

„ . Deletes the selected action(s).

„ . Closes the current data source.

„ . Opens a new data source (file).

„ . Creates a new section from the selected lines.

„ . Marks a location in a General Text region. Searches for the currently selected
text, or prompts for a search string if no text is selected. For more information, see
“Creating Markers,” on page 317.

„ . Inserts a calculation action. Calculations evaluate expressions and assign the


value to a parameter. For more information, see “Using the Calculation Editor,” on
page 319.

„ . Inserts a conditional action (if/else statement).

„ . Inserts a For Loop action. For more information, see “Using the For Loop
Editor,” on page 321.

„ . Inserts a While Loop action.

„ . Inserts a comment into the list of actions.

Isight Component Guide


270 Chapter 3 Using Activity Components

„ . Inserts arbitrary Java statements as an action. These statements are


immediately executed. The next time the actions are reset, the Java code may be
split into multiple actions if the editor recognized some of the statements.

„ . Edits full Java source of the actions. Opens a text area where the full Java text
of all the actions is displayed. You can edit this Java code, including
cut/copy/paste using the standard keyboard actions. When the edit dialog is closed,
the Java code is split into actions and re-executed.

The List of Actions


The Actions List shows the actions the Data Exchanger will take. Each action is shown
in a shorthand notation for the actual Java code that is executed. (The Full Java Code
view shows the actual Java code.)

The first entry in the list is always a comment (cannot be deleted or edited). The
purpose of this comment is to select it in order to insert an action before all the other
actions.

There are up to three distinguished actions, each marked differently:


„ The currently selected statement is shown with a blue background. This is the
statement associated with the last parameter or highlight clicked, and is the
statement associated with the Swipe editor. Almost any selection anywhere in the
editor changes the currently selected statement.
Note: Multiple actions may be selected by holding the SHIFT key and clicking or
holding the CTRL key and clicking in the Actions List. The only actions you can
take when multiple actions are selected is to delete the action by clicking the
button or cut/copy the actions using CTRL-X or CTRL-C.

„ The point where new actions will be inserted is indicated with a red line. New
statements are inserted between existing actions. Selecting an action in the list sets
the insertion point to be just after that action. Selecting parameters or highlights
does not change the insertion point.

„ The next action to be executed is indicated with a blue arrow in the right margin.
This arrow is only visible when single-stepping through the actions.

Right-clicking an action displays a menu that allows you to edit, cut, copy, or delete
the action(s). If you cut/copy an action, there will also be a Paste entry for re-inserting

Isight Component Guide


Using the Data Exchanger Component 271

the action(s). You can also cut/copy/paste actions with the standard keyboard actions:
CTRL-X, CTRL-C, and CTRL-V.

There is also a Run to this statement entry that is useful when debugging the actions.
Selecting this entry single-steps the list of actions until the current statement is at or
after the selected action.

Executing Actions
Typically, an action is executed as soon as it is inserted. Changing the value of a
parameter that is used in the Data Exchanger causes the whole list of actions to be
re-executed.

There are controls at the bottom of the Actions List for controlling execution. The
controls include the following:

„ . Stops execution. This button is only enabled when actions are being executed.

„ . Re-executes all actions

„ . Executes only the next action (the one with the blue arrow).

„ . Resets the program and sets the Next Action arrow to the top of the list. You
have to reset the actions before you can single-step.

It can be useful to reset the list of actions and step through them one at a time to see
what each action does. When single-stepping, read or calculation actions will
immediately update the value of the affected parameter. You can also step through a
Loop to see what happens each time through.

The Data Source Area


This area displays the contents of the file being processed. There is a separate tab for
each file, allowing multiple files to be open at once. There is also a tab labeled <New>,
which, when clicked, allows you to create a new data source.

You must select text from the file and then a parameter in order to define a read or
write action. The action is executed as soon as it is created: the value of the parameter
is updated with the text read, or the file is updated with the parameter value written,
allowing you to see how the file and parameters will look when the Data Exchange is
run.

Isight Component Guide


272 Chapter 3 Using Activity Components

The text is highlighted in various colors to indicate how the text is to be processed. The
following color scheme is used:

„ Green: data being read into a parameter.

„ Pink: data being written from parameters.

„ Orange: the string found using the Mark command.

„ White: the current section. This is initially the whole file.

„ Yellow: sub-sections of the current section. If you format part of a file as a table
and click outside the table, the table will be yellow and the rest of the file will be
white.

„ Gray: the area outside of the currently selected section. If you format part of a text
file as a table and then select the table, the table will be white and everything
outside the table will be gray.

Clicking a gray or yellow section navigates through the sections. Clicking in a green or
pink highlighted area selects the read or write action and the parameter. Right-clicking
in the data area displays a menu of actions as shown below.

Isight Component Guide


Using the Data Exchanger Component 273

The area selected determines the actions that are available. All actions except Load
Sample File and Edit Format are also available on the toolbar.

„ Load Sample File. Loads a new data file to test how the parsing instructions will
act on it.

„ Edit Section Details. Changes the details of how the section (or whole file) is
parsed. This is mostly used to change the delimiters that separate words.

„ Edit Selected Statement. Edits the currently selected statement. This is usually a
read or write statement. If no read/write is selected, then it can be the section.

„ Edit Format. Allows you to set a format to control how a number is printed.

„ Find (General text format only). Opens a find dialog to search for text.
„ Marker (General text format only). Opens a find dialog to search for a string, and
remembers where it was found. This marker can then be used as an anchor for
subsequent read/write operations.

„ Insert Read. Creates a read action. This action works in the same manner as the

read button on the command bar. If a read action is currently selected, this
action converts the read into a write action.

„ Insert Write. Creates a write action. This action works in the same manner as the

write button on the command bar. If a write action is currently selected, this
action converts the write to a read action.
„ New Section. Creates a new section from the currently selected text.

„ Remove read/write instruction. Removes the selected read or write instruction.

This is the same as the button.

„ Delete Section. Deletes the currently selected section, or the whole file if the
current selection is the whole file.

„ Close Data Source. Removes the whole file, regardless of the section currently
selected.

Isight Component Guide


274 Chapter 3 Using Activity Components

The Parameter Read/Write Area


This area allows you to type a new parameter name or select an existing parameter
using the Parameter text box and corresponding drop-down list. You can use the
drop-down list to select an existing parameter, array parameter element, or member of
an aggregate parameter. You can also type the name of an existing or new parameter,
or of an existing array element.

The background of the parameter area changes to indicate the status of the parameter:

„ White: the box is empty or contains the name of an existing, unused parameter.

„ Yellow: the box contains the name of a new parameter that does not exist yet.

„ Green: the box contains an existing parameter that is being read from the file.

„ Pink: the box contains an existing parameter that is being written to the file.

Also, buttons are present that allow you to create a read or write operation.
The button for the default operation for this file is highlighted with a black border.
Read is the default operation for files that are being read (“Output parse”), and Write is
the default operation for files being written (“Input parse”). The current operation (read

or write of a parameter) can be removed by clicking the Unbind button .

The Swipe Details Area


This area contains all of the information required to describe the current selection in
the Data Source area. The swipe details data is live; any change to the data is reflected
immediately by the Data Source area selection, and any change to the selection
immediately updates the details. The type of Swipe Details area (general text, name
value, table, or vector) is determined by the currently selected section type.

The swipe area is always displayed. You can hide it by clicking the down arrow
located below the Parameter Read/Write area.

Changes to text fields in the swipe area do not take effect until after you press the
ENTER key on your keyboard.

Isight Component Guide


Using the Data Exchanger Component 275

The List of Parameters


This list, on the right side of the editor, shows parameter names, an icon to indicate if
the parameter was used for a read or write operation, and the parameter value.

This list contains all parameters for the Data Exchanger, all parameters for the simcode
the data exchanger is part of, and also all parameters from the parent and sibling
components that could be mapped to this component. Using a parameter from a parent
or sibling component automatically maps it to the data exchanger component when the
editor is closed.

Clicking the icon in the Op (operation) column is a shortcut to read or write that
parameter. The button cycles through the available options. You cannot delete the
parameter binding by simply using the operation column, you must use the right-click

menu or click the Unbind button in the Parameter Read/Write area.

Right-clicking a parameter opens the standard Parameter menu, with entries for editing
the parameter details, and cut/copy/paste parameters options.

You can also use the List of Parameters to create new parameters (the button), add a
member to an aggregate parameter (the button), or delete a parameter (the
button).

You can change the name, mode, value, or data type of an existing parameter by
clicking in the appropriate cell of the List of Parameters table.

The List of Parameters behaves similarly to the Parameters tab on the main Design
Gateway interface. However, you cannot select multiple parameters on the Data
Exchanger editor. Additionally, parameters do not appear on the Parameters tab until
the OK or Apply button on the Data Exchanger editor is clicked.

Isight Component Guide


276 Chapter 3 Using Activity Components

Status Bar
The status bar at the bottom of the interface displays various messages about the status
of the Data Exchanger editor. General progress messages are in gray, and warning
messages, especially about invalid data during a read, are in yellow. Error messages
are in red (or pink).

Note: When the Full Java Code view is open and there is an error in the Java code, the
error message is displayed on the Status Line of the main editor interface. Because of
this, when you open the Java Code view, you should position it above the editor
interface so the status line is still visible.

Understanding Secondary Interfaces


The following secondary interfaces are present in the Data Exchanger editor:

„ “Full Java Code View” on this page


„ “New Data Source Wizard,” on page 277

„ “Section Format Wizard,” on page 277

Full Java Code View


This interface is accessed using the Java Source button. It consists of a text edit
dialog box that allows you to view or edit the full Java source code for the Data
Exchanger program. When this Java code viewer is opened, the main Data Exchanger
editor is inaccessible. When this dialog box is closed, the Java code is completely
re-parsed, as you may have made major changes to the code. You can use this view to
add Java programming statements to the program executed by the Data Exchanger. The
normal cut, copy, and paste keys work, allowing Java code to be copied to/from a Java
Development environment. Any errors in the Java code will be highlighted in pink, and
an error message will be displayed on the Status Line of the main Data Exchanger
editor.

Isight Component Guide


Using the Data Exchanger Component 277

The image below displays the full Java code view.

Note: The Javadocs that are shipped with Isight are located in the javadocs folder in the
Isight installation directory.

New Data Source Wizard


This interface is accessed by clicking the large button in the center of the Data Source
area, clicking the New tab, or clicking the New Data Source button . It provides
options for defining a data source. For more information on this wizard, see “Creating
a New Data Exchanger Program,” on page 279.

Section Format Wizard

This interface is accessed by clicking the New Section Format button in the
Parameter Read/Write area. It allows you to adjust the selection, and then apply a
formatter to the selection. For more information on this wizard, see “Changing the
Format of a Section of a Data Source,” on page 299.

Isight Component Guide


278 Chapter 3 Using Activity Components

Understanding Terminology
Two terms are used throughout this component description to describe actions taken by
the user of the component. Both of these terms are used when describing the
highlighting of data in the Data Source area. These terms are:

„ swipe. This action involves highlighting data by clicking your mouse button,
dragging it across the desired data, and then releasing the mouse button. The
behavior of swiping text depends on the current section format. For the General
Text format (the most common one), swiping across several columns selects
exactly those characters (fixed column, fixed length). Swiping down selects
multiple whole lines. For the Vector format, a swipe selects multiple elements of
the vector. For the Table format, a swipe may select all or part of a row, a column,
or a sub-table.

„ click. This action involves placing your mouse pointer on a particular location in
the Data Source area and clicking the button a set number of times (single-clicking,
double-clicking, and triple-clicking). For the General Text format, a single click
selects the current word or item, a double-click selects the current word, and a
triple-click selects the whole line. For all other formats, a click selects the current
item and double and triple-clicks have no additional effect.
Note: For the general text tool, selecting a word with a click and selecting
characters with a swipe results in very different behaviors. When a word is
selected, the data will be located at runtime by counting the number of words from
the beginning of the line, no matter how long those words may be. When
characters are selected, the characters at exactly those positions on the line will be
used - if something earlier on the line became longer, the data will no longer fit
within the swipe. It is not recommended that you swipe characters of text except
when reading or writing data to be processed by a FORTRAN formatted read or
write operation. The Swipe Details area tells you if the data was selected by word
or by characters.

Isight Component Guide


Using the Data Exchanger Component 279

Creating a New Data Exchanger Program


The first step in using the Data Exchanger is to open a file to work with. Additional
files can be opened later using the same process.

To start the editor and open a file:


1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide. The Component Editor dialog box appears.

2. Click the large button in the center of the dialog box to begin the process of
defining a data source.

Isight Component Guide


280 Chapter 3 Using Activity Components

The Exchanger Wizard appears with the Select File screen displayed.

Note: The Exchanger Wizard is different for the input and output parses of the
Simcode component, even though the rest of the Data Exchanger editor is the same
for Data Exchanger and Simcode components.

3. Determine how the file is to be used. The following two options are available:

„ Read a File (proceed to step 4). This is used to read data from a file output by
an external program, and is sometimes called an Output Parse because an
output file is being read.

„ Write a File (proceed to step 7). Writes parameter values to a file that will be
used as Input to an external program. This is sometimes referred to as an Input
Parse.
4. Specify the sample file that will be used in the Sample file to use when designing
Data Exchange text box. You can type the name of this file directly, or navigate to
it using the Browse... button. This file must already exist.

5. Specify the name of the file to read at runtime in the second text box. Simply enter
the name of the file. If you browsed to the file in step 4, this text box is
automatically filled using the name of the specified file. Instead of typing a file
name, you can select an existing file parameter. The file specified by the parameter
will be used.

Note: If you type the name of a file, an Input file parameter is created that
references the named file. This file parameter can be mapped from an earlier
component in the workflow that produces the file.

Isight Component Guide


Using the Data Exchanger Component 281

6. Proceed to step 9.

7. (optional) Specify the template file to update. The Template file is optional; if no
template is given, the Data Source area will initially be blank. The whole file will
be created by writing parameter values.

Note: An Input file parameter is created for the Template file. This parameter has
the same name as the file being written, with “Tmpl” appended. While the
template file is usually fixed, it is possible to map another file parameter to the
Template file parameter, allowing the Template to vary at runtime.

8. Specify the file to write at runtime, or select an existing file parameter. If you
browsed to the file in step 7, this text box is automatically filled using the name of
the specified file.

Note: If a file name was typed, an Output file parameter is created. The parameter
name is the same as the name of the file being written, but with periods converted
to underscores. This file parameter can be mapped to subsequent components in
the workflow. For the Input Data Exchanger of a Simcode component, only one
file parameter is created, since the OS Command part of the simcode directly reads
the file from the working directory. In this case, the file parameter has the same
name as the sample file, and has mode input.

9. Set the Encoding option using the corresponding drop-down list. This option
allows you to explicitly specify the encoding the file parameter is to use when
converting between bytes and characters. In a Locale (a system setting that
includes the language, number formats, and character set in use) that uses
multi-byte characters (Japanese, Chinese, Korean), there is a default encoding used
to convert bytes into characters. Most text files will be written using this encoding,
but sometimes it is necessary to specify this encoding. For additional information
on encoding, refer to the Isight Development Guide.

Note: This setting is visible only if the Show File Type Encoding option on the
Files tab is selected on the Parameters preference dialog. For more information
about this option, refer to the Isight User’s Guide.

Isight Component Guide


282 Chapter 3 Using Activity Components

10. (Write to File only) Set the Line Ending option. The available choices are as
follows:

„ Default. This setting leaves the line endings as they were found in the input
file. Isight does not attempt to change the line endings. If the file has to be
copied for some reason, local line endings are used. Since the Data Exchanger
always copies the file, this setting is similar to selecting Local.

„ Local. This setting writes the file with the local line endings for the machine
on which the model is running. This is the location of the Isight Gateway and
Fiper Station. This means CR-LF on Windows and LF on Unix. The file will
always be copied in text mode and the line endings updated, even if the line
endings already appear to be correct.

„ Unix. This setting always separates lines with LF, even if the model is running
on Windows.

„ Windows. This setting always separates lines with CR-LF, even if the model
is running on Unix.

11. Click Next. The File Format screen appears.

Isight Component Guide


Using the Data Exchanger Component 283

Select the general layout of the text in the file. The following options are available:

„ General Text. This format is for text with no particular structure. Fields are
located by searching for words or phrases. For more information on using this
format option, see “Using the General Text Format Option,” on page 304.

„ Name/Value. This format is for data that is organized as a list of Name/Value


pairs where the name is the first word on the line and there is a delimiter (space
or some punctuation) between the name and the value. Fields are located by
matching names. This option is used only with specially formatted data;
however it does allow the variable names to be automatically selected based on
the field names. For more information on using this format option, see “Using
the Name Value Format Option,” on page 311.

„ Table. This format is for tables and lists of numbers. Fields are addressed by
row number (line) and column number. This option can be used with files in
any format as long as the line numbers never change; the number of entries on
each line does not have to be the same. The cells in the table may be separated
by delimiters (usually space or comma), or the table columns can be defined
by absolute character position (sometimes useful for reading packed
FORTRAN formatted data). The Table format allows whole columns, rows
and arrays to be read into Array parameters in one operation. For more
information on using this format option, see “Using the Table Format Option,”
on page 312.

„ Vector. This format is for data organized as a list of values separated by


spaces or punctuation. Fields are numbered sequentially through the whole
section. The Vector format allows one-dimensional arrays to be read in one
operation. The values can span multiple lines. This option is often used for
FORTRAN list-directed input. For more information on using this format
option, see “Using the Vector Format Option,” on page 315.

Isight Component Guide


284 Chapter 3 Using Activity Components

12. Select the option that is best suited to the file you are using; then, perform one of
the following options:

„ For General Text, Table, and Vector formats: Click Finish. The file is
displayed in the Data Source area as a new tab. Proceed to the section that
describes the usage of the format you selected (these sections are identified in
the previous step of this procedure).

„ For the Name Value format: Click Next. The Name/Value format requires
additional configuration, but allows all items to be automatically read into
similarly named parameters.

The Name/Value Delimiter screen appears.

13. Select the delimiter that you want to use for your file.

Once a selection is made, the highlighted information in the Sample Text area is
updated, if necessary. The name fields are highlighted in orange, and the value
fields in green.
Note: The wizard attempts to select the best delimiter automatically. For this
reason, the highlighted screen often appears immediately after clicking the Next
button from the File Format screen (step 12).

Isight Component Guide


Using the Data Exchanger Component 285

The following information should be considered when selecting the delimiter:

„ Verify that only the data you want is included in the Value field. Sometimes it
is necessary to use a multi-character delimiter (such as “:=”) to make sure that
the right data is in the values.

„ Empty lines and lines that do not have the delimiter are ignored.

14. Click Next. The Map Item Names to Parameters screen appears. This screen
allows all of the entries in the Name/Value file to be automatically read or written
to/from parameters with the same name as the Name field of the item.

15. Edit the parameter information, as desired. The following options are available:

„ Select parameters that will be read from or written to using the Op column.
You can select or de-select individual parameters by clicking the Op column
for that parameter, or you can select all of the listed parameters using the Read
All or Write All buttons. You can also clear the selection of every parameter
using the Clear All button.

If the file is open for reading, the Op column toggles between Read and No
Operation (an empty box). If the file is open for writing, you have the option
to read or write the item, and the Op column toggles through the sequence
Write ( ), Read, and No Operation.
When the Op column is empty (No Operation), no parameter is created and no
data is read or written. The name/value item is ignored (though you can
operate on it later using the main Data Exchanger editor).

Isight Component Guide


286 Chapter 3 Using Activity Components

„ Change the name of a parameter.

Note: Changing the name of a parameter does not change the name of the
name/value field it will be read from or written to.
„ When writing, you can change the initial value of the parameter by editing the
Value column of the table.

„ Change the mode of a parameter (the available options are Input, Output,
In/Out, and Local).
„ Change the type setting of the parameter. The Wizard guesses at the data type
based on the data in the Template or Sample file. This is sometimes wrong: If
the sample file contains a number without a fractional part, the Wizard guesses
it is of type Integer, when it perhaps should be type Real.

If the value is not a single number or word, the Wizard assumes it is text data and
selects the data type String. Often such entries actually contain a number followed
by a comment, or a vector of numbers. Such items can be handled by creating a
General Text or Vector section on top of the value. For now, de-select the
name/value item by clicking in the Op column until it is blank. The read/write for
that item will have to be set up later using the main Data Exchanger editor. For
additional information on setting parameter information, refer to the Isight User’s
Guide.
16. Click Finish. The file is loaded into the Data Exchanger component.

17. Proceed to one of the following sections:

„ “Creating a Top-Down Data Exchange,” on page 288


„ “Creating a Bottom-Up Data Exchange,” on page 292

Isight Component Guide


Using the Data Exchanger Component 287

Editing an Existing Data Exchanger Program


To edit an existing data exchanger program:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide.
The Component Editor dialog box appears, and the existing data exchanger
program is loaded. The program is executed, displaying the data sources in tabs in
the Data Source area. The code insertion point is left at the end of the program, the
last section referenced is selected in the Data Source area, and the Swipe Details
area (if open) shows the selection details for this section. The GUI is left as it was
after the last read or write was created. This controls the selected parameter, the
contents of the Swipe Details panel, and the selected File tab.

Note: If the program is no longer correct (usually because a parameter used by the
program has been deleted), the Java code view (described on page 303) will open,
and the first error will be highlighted in pink.

2. Proceed to one of the following sections:


„ “Updating a Read or Write Operation,” on page 294

„ “Updating an Existing Section Format,” on page 301

Adding a Read or Write Statement


The main operation for the Data Exchanger is reading or writing a parameter. This
section describes how a Read or Write is created. Setting up a Read or a Write requires
that the parameter and the data be selected. The data is selected by clicking or swiping
in the Data Source area, or by entering details in the Swipe Details area. The parameter
can be selected using the Parameter List or the drop-down list in the Parameter
Read/Write area. A new parameter can be created by typing its name in the Parameter
Read/Write area and then creating a Read or Write operation. The Read or Write
operation is then created by clicking on the Read ( ) or Write ( ) Button.

In general, the data and parameter selections are independent, and can be selected in
either order. See below for some special-case details, however. The read or write
button is not enabled until both a Parameter and some Data have been selected. There

Isight Component Guide


288 Chapter 3 Using Activity Components

are several shortcuts for creating Read or Write operations to speed up the process.
These are described in detail below.

The same parameter can be read or written more than once. While reading into a
parameter several times is rarely useful, writing the same value in multiple places is
often required. To write the same parameter value more than once:

1. Select the location to write the data to.


2. Select the parameter in the Parameter text box. Do not select the parameter in the
parameter list. Doing so will move the selection to the other location the parameter
is written.

3. Click the button.

There is no limit to the number of places a parameter can be read/written, including


reading a parameter in one data source and writing it in another in the same data
exchanger.

The process for creating a Read or Write is slightly different depending on whether the
parameters are created before the Data Exchanger editor is opened (Top Down) or are
created by the Data Exchanger editor (Bottom Up).

„ “Creating a Top-Down Data Exchange” on this page. This type of exchange


assumes that your parameters have already been created in Isight before the Data
Exchanger editor is opened. There is also a shortcut method for this type of
exchange, which is described in “Creating a Top-Down Data Exchange
(Shortcut),” on page 291.

„ “Creating a Bottom-Up Data Exchange,” on page 292. This type of exchange


assumes that no parameters exist, and that they will be created as the data exchange
program is created.

Creating a Top-Down Data Exchange


This type of exchange assumes that all required parameters have already been created
in Isight prior to the Data Exchanger editor being opened.

Note: A file opened as read-only supports only read operations, not write operations. In
this case, the Write button is disabled on the editor, and it is not a selectable option in

Isight Component Guide


Using the Data Exchanger Component 289

the Op column in the Parameter List area. On the other hand, a file opened for writing
supports both read and write operations.

Important: The Parameter List will show all parameters that belong to the Data
Exchanger component itself, the Parent component of the Data Exchanger, and any
Sibling components that are before or after the Data Exchanger in the workflow. When
a parameter from the Parent or Sibling components is read or written, a parameter with
the same name is created in the Data Exchanger component and the appropriate
parameter mappings are created. The parameters and mappings are not created until the
OK or Apply button on the editor is clicked. If the Cancel button is clicked, no
parameters are created and all work done since the editor was opened is discarded. To
create a top-down data exchange:

1. Select some data in the data source viewer using one of the following methods:

„ Single-clicking. The single-click action has different functionality based on the


format your data source is using. For the General Text format, a single-click
selects an entire item, word, or number, including any leading spaces. For
example, clicking a number that is preceded by five spaces would highlight the
spaces and the number. For Name Value, Table, and Vector formats, a
single-click selects the entire item clicked. Double-clicking these sections is
identical to single-clicking.

„ Triple-clicking. The triple-click action selects the entire line that currently
contains the cursor.
„ Swiping. This option allows for the selection of an item or a range of data. The
selected item or range is displayed in the Swipe Details area at the bottom of
the editor.

2. (optional) Adjust the swipe details. For more information on using the swipe
details options, see one of the following sections:

„ “Using the General Text Format Option,” on page 304

„ “Using the Name Value Format Option,” on page 311

„ “Using the Table Format Option,” on page 312

„ “Using the Vector Format Option,” on page 315

Isight Component Guide


290 Chapter 3 Using Activity Components

3. Select the parameter to represent the data using one of the following methods:

„ Select a parameter from the Parameter drop-down list or type the name of an
existing parameter.

„ Click a parameter in the Parameter List area. The parameter name appears in
the Parameter text box.

Note: If the chosen parameter is already used in a read or write statement, the
selected data will be un-selected and the Data Source area will be scrolled to
show where the parameter is used. In this case, it is necessary to select a
parameter and then select the data.
„ Type the name of an existing parameter in the Parameter text box. You can
type the name of a scalar parameter, the name of an aggregate member, or the
name of an array element. For more information, see “The Parameter
Read/Write Area,” on page 274.

4. Apply the new read or write statement using one of the following methods:

„ Click the Read or Write button adjacent to the Parameter text box.

„ Right-click in the Data Source area; then, select Insert Read or Insert Write
from the menu that appears.

„ Click in the Parameter box and press the ENTER key on your keyboard.

„ Click the Op column in the parameter list until the desired option appears.
This option defaults to read-only for a read-only data source, and toggles from
write to read for read/write data sources. The correct default operation is
always initially displayed.

The statement is executed. If this is a Read operation, the data is highlighted in


green and the parameter's value is updated. If this is a Write operation, the data is
replaced with the value of the parameter and the result is highlighted in pink.
5. Perform one of the following actions:

„ Proceed to “Updating a Read or Write Operation,” on page 294 for


information on altering an existing statement.

„ Return to step 1 to define more data source information.

Isight Component Guide


Using the Data Exchanger Component 291

Creating a Top-Down Data Exchange (Shortcut)


It is possible to read or write using an existing parameter with only two mouse clicks.
To perform this shortcut:

1. Single-click on the word to read/write in the Data Source View area.


2. Click the Op column in the Parameter List that corresponds to the parameter you
want to use. The default behavior is to cycle through the options, where the first
choice in the cycle sequence is based on how the source is opened. Clicking on the
Op column will select the parameter and create the Read or Write operation in one
action. If the File is open for reading, a Read operation will be created. If the File is
open for writing, a Write operation will be created.

Note: This procedure only works if the parameter has not been previously used in a
Read or Write operation. If the parameter has already been used, clicking on the
Op column will select the location originally read/written, and then attempt to
change a write to a read (a read is not changed). To create a second read/write for a
parameter already used once, you must:

„ Select the parameter from the Parameter List or the drop-down list in the
Parameter Read/Write area.

„ Select the data to read/write.

„ Click on the Read/write button.


3. Perform one of the following actions:

„ Proceed to “Creating a Top-Down Data Exchange,” on page 288 for


information on the full process for creating a statement.

„ Proceed to “Updating a Read or Write Operation,” on page 294 for


information on altering an existing statement.

„ Return to step 1 to define more data source information using this shortcut
method.

Isight Component Guide


292 Chapter 3 Using Activity Components

Creating a Bottom-Up Data Exchange


Note: A file opened for read-only supports only read operations. A file opened for
write supports both read and write operations.

This type of data exchange assumes that no parameters exist, and the parameters will
be created as the data exchange program is created. The Data Type and Default Value
of the parameter (as well as the size of an Array parameter) is determined by
examining the data that was selected.

To create a bottom-up data exchange:

1. Select some data in the data source viewer using one of the following methods:
„ Single-clicking on the Word (General Text format) or item (Table, Vector,
Name/Value formats).

„ Triple-clicking. The triple-click action selects the entire line that currently
contains the cursor.

„ Swiping. This option allows for the selection of an item or a range of data. The
selected item or range is displayed in the Swipe Details area at the bottom of
the editor (if it is displayed).

2. (optional) Adjust the swipe details. For more information on using the swipe
details options, see one of the following sections:

„ “Using the General Text Format Option,” on page 304

„ “Using the Name Value Format Option,” on page 311

„ “Using the Table Format Option,” on page 312

„ “Using the Vector Format Option,” on page 315

Type the name of the parameter in the Parameter text box. The parameter text box
will switch to a yellow background to indicate that this is the name of a new
parameter.

You can create a member of new or existing aggregate parameters by typing a


parameter name containing a period. For example, typing “a.b” will create the
aggregate parameter “a” with member “b”. Subsequently typing “a.c” will add
member “c” to the aggregate “a”.

Isight Component Guide


Using the Data Exchanger Component 293

You cannot create an array by typing the name of an array element (for example,
x[5]). If you attempt to do so, a warning message will be displayed in the Status
Line. If you need to create an array, click on the Create Parameter button ( )
below the Parameter List and fill out the Create Parameter dialog.

Note: When using the Table or Vector tool, you can create an entire array by
selecting multiple numbers and typing a parameter name into the Parameter text
box.
Shortcut: Normally you would click in the Parameter text box before typing the
parameter name. This step is not necessary. Instead, after clicking in the Data
Source area, press the TAB key to move to the Parameter text box. Even pressing
the TAB key is optional; if you start typing after clicking or swiping in the Data
Source area, the cursor will automatically jump to the Parameter text box.

3. Apply the new read or write statement using one of the following methods:

„ Click the Read or Write button adjacent to the Parameter text box.

„ Press the ENTER key on your keyboard after typing a new name in the
Parameter text box. This option uses the default read/write operation for the
exchanger.

The parameter is created and selected, the read or write is created, the statement is
executed, and the data is highlighted. Note that only one mouse click (to select the
data) and one extra keystroke (the ENTER key) is required to create the parameter
and read or write it. Of course, this is in addition to typing the parameter name.
4. Adjust the Parameter settings. The parameter is created using default settings
based on the type of operation (read or write) and the selected data. The
fundamental rules are:

„ If the operation is a READ, the parameter has mode OUTPUT; if the operation
is a WRITE, the parameter has mode INPUT.

„ If one word, cell, or item is selected, the parameter is Scalar. If multiple values
are selected with the Table or Vector formats, an Array parameter is created.
The size of the array will exactly match the size of the selection. See “Using
the Table Format Option,” on page 312 below for more information.

Isight Component Guide


294 Chapter 3 Using Activity Components

„ The data type is selected to match the type of data selected. If the selection
includes only one block of digits (and leading or trailing spaces), the data type
is Integer. If the selection looks like a real number (-99.99e-99]), the data type
is Real. In all other cases the data type is String.

Note: Selecting data such as “12 34” will use the data type String, not an array
of 2 integers as you might hope.
„ The initial value of the parameter is the same as the selected data (with leading
and trailing spaces removed).
After creating the read or write, you can edit the parameter settings in the
Parameter List. The setting most likely to need changing is the Data Type, though
sometimes the Mode may need to be changed to INOUT.

To edit the parameter settings, click in the Name, Value, Mode, or Type column to
enable editing (for the name or value) or to show a drop-down list of choices
(Value and Type).
To change the operation from a write to a read, click in the Op column of the
Parameter list, or click the Read button next to the Parameter name box.
Note: You can change the size of an array parameter (or make any other change to
any parameter) by right-clicking on the parameter and selecting Edit Selected
from the menu.

5. Perform one of the following actions:


„ Proceed to “Updating a Read or Write Operation” on this page for information
on altering an existing statement.
„ Return to step 1 to define more data source information.

Updating a Read or Write Operation


Editing the swipe for an existing statement is performed using the Swipe Details area.
When the swipe for an existing Read or Write is changed, the new data will be
immediately highlighted in blue in the Data Source area. The read or write operation
will not be updated until you press ENTER in the Swipe Details area.

Isight Component Guide


Using the Data Exchanger Component 295

Note: You can also update a read/write statement, including setting the format and
selecting a different parameter, by using one of the following methods:

„ Click the Edit Statement button on the toolbar

„ Right-click in the Actions or Data viewer; then, select Edit Selected Statement

„ Double-click the read/write action in the actions view

To change the read/write operation:

1. Select a read or write operation by clicking on the parameter in the parameter list,
or by clicking on the highlighted data (pink or green) in the Data Source area.
Clicking on a Parameter scrolls the Data Source area so the first read or write of
the Parameter is visible. The data read or written (already highlighted in green or
pink) is then emphasized by a blue border.

Clicking on Read or Write data similarly highlights the data with a blue border.
The associated parameter is then selected in the Parameter List.

In either case, the details of the Data selection are displayed in the Swipe Details
area.

2. Perform one of the following options to change the operation:

„ Click the Read button or Write button in the Parameter Read/Write


area to change a read operation to a write or a write to a read. This option is
only available if the Data Source is open for writing. If the Data Source is open
for reading, then Read is the only available operation.

„ Click the Op column in the Parameter to toggle between read and write
operations. Again, this only works if the Data Source is open for Writing.

„ Right-click the Op column in the Parameter List; then, select Read Parameter
or Write Parameter from the menu that appears.

To change the data being read or written:

1. Select the Read or Write by clicking on the highlight in the Data Source area or by
clicking on the Parameter in the Parameter List.

2. Edit the Swipe details in the Swipe Details area. Any change to the swipe location
will immediately be displayed as a blue box in the Data Source area. The Read or

Isight Component Guide


296 Chapter 3 Using Activity Components

Write operation will not be updated until you press ENTER in the Swipe Details
area.

The most common reason to change the Swipe Details is to alter the search string used
to locate the data in the General Text format. For more information, see “Using the
General Text Format Option,” on page 304.

Editing a Read or Write Statement


To edit a read or write statement:
1. Select a data highlight in the Data Source area, or click an action from the Actions
List to select the statement you want to edit.

2. Right-click on the data highlight or action; then, select Edit Selected Statement
from the menu that appears. Depending on the type of statement selected, the Read
or Write Parameter dialog box appears.

Isight Component Guide


Using the Data Exchanger Component 297

The dialog box is divided into three tabs: Parameter, General Text Swipe, and Edit
Read/Write Format.

„ Parameter. Allows you to select a different parameter to change a write to a


read statement (or a read to a write statement).

„ General Text Swipe. Allows you to edit the swipe information. The swipe
information is different for each section format. For more information on
editing the swipe information, see “Adjusting a Basic Swipe,” on page 306.

„ Edit Read/Write Format. Allows you to change how the data is formatted.
For more information, see “Formatting Numbers During a Write Operation,”
on page 298.

3. Click OK to save your changes and return to the editor.

Removing a Read or Write Operation


To remove a read or write operation, select the operation by clicking on the highlight in
the Data Source area or by selecting the Parameter in the Parameter List. Then do one
of the following:

„ Click on the button in the Parameter Read/Write Area.

„ Right-click on the highlight in the Data Source area and select the last menu item
Remove Read/Write Instruction from the pop-up menu.

„ Select the read/write action in the Actions List, then click the button on the
toolbar.

„ Select the read/write action; right-click, then select Delete Statement.

Note: Deleting a parameter using the button below the Parameter List will also
remove all read/write instructions involving that parameter.

Isight Component Guide


298 Chapter 3 Using Activity Components

Formatting Numbers During a Write Operation


The Data Exchanger has the ability to format numbers during a Write Operation. The
Formatting abilities of the FORTRAN, C, and Java languages are all supported.

To format a number being written:


1. Select the Write operation by clicking on the Pink highlight in the Data Source
area or by selecting the Parameter in the Parameter List, or by selecting the action
in the Actions List. If you select the Parameter, verify that the correct Write
operation is selected; it will be surrounded by a blue line.

2. Right-click on the Highlight in the Data Source area; then, select Edit Format
from the pop-up menu. This will open the Edit Read/Write Format dialog box.

Note: Do not select the menu item Edit Section Details; its function is described
below. You can also access the Editor format dialog by double-clicking the action
to open the Read/Write editor, and then clicking the Format tab.

3. Select the type of format from the pull-down on the Edit Read/Write Format
dialog box. The following types of formats are supported:

„ <No Format>: Used to remove a format from an existing formatted write


statement. The data will be read or written using the default Java rules for
numbers. The Java rules always use a period as the decimal point and do not
allow thousands of separators.

„ DecimalFormat: Uses the Java class java.text.DecimalFormat to format the


number. This is (broadly) similar to COBOL pictures: # for an optional digit, 0
for a required digit, “,” for a thousands separator, “.” for the decimal point.
Extra text before or after the number format is included in the output.

„ FORTRAN: Enters one format specifier as would be used in a FORTRAN


formatted WRITE statement. Some examples are “F5.3”, “I10”, or “E12.4”.
The numeric format may be preceded by a text string (enclosed in single
quotes) or by a spacing “X” specifier.

Isight Component Guide


Using the Data Exchanger Component 299

„ C printf: Enters a C-language printf format string that contains one format
specifier (“%4d”, “%5.2f”, or “%12.5e”). Extra characters before or after the
format specifier are included in the output.

„ Boolean Format: Allows control over how Boolean values are printed.
Specify values for true and false separated by a comma. For example “T, F” or
“.TRUE., .FALSE.”.

„ Java Code: Enters a Java expression with a type of java.text.Format. The


value of the parameter will be passed to the “format(Object)” method of this
object. This option is for very advanced users.

Note: Setting a write format when writing an Array using the Vector or Table
format, the output format is applied separately to each element of the array.

While it is possible to set a format on a Read operation, doing so almost never works as
desired and is strongly discouraged.

Changing the Format of a Section of a Data


Source
You can change the format of a section of the data you are using for your data
exchange. For example, if you created a data exchange using the General Text format,
you can then specify a small section of that data using the Vector format, if desired.

To format a section:

1. Select the data to be formatted in the Data Source area. Usually this involves
selecting several lines. This can be done easily by dragging the mouse down the
page. You can also select multiple lines by clicking on the first line and
shift-clicking on the last line.

2. Click the New Section Format button .

Isight Component Guide


300 Chapter 3 Using Activity Components

The New Section Format Chooser Wizard appears.

Applying a formatter is very similar to adding a data source (as described in


“Creating a New Data Exchanger Program,” on page 279). Again, there are two
independent groups of data: the section (the swipe) and the formatter details. The
swipe settings are taken from the Swipe Details area of the Data Exchanger editor.
The format options are identical to those in the wizard used for creating a data
source. For more information, see “Updating an Existing Section Format,” on
page 301.

3. Select the new format from the Formats area. The General Text, Table, and Vector
formats do not have any additional options to set. The Name/Value option has
additional options that can be defined. For more information on these options, see
“Using the Name Value Format Option,” on page 311.

4. Click Finish. The wizard is closed, and a new format is colored white in the Data
Source area. You can now insert Read and Write statements using the new format.

5. Proceed to one of the following sections, based on the type of statement you are
creating in the section:

„ “Creating a Top-Down Data Exchange,” on page 288

„ “Creating a Bottom-Up Data Exchange,” on page 292

Isight Component Guide


Using the Data Exchanger Component 301

Updating an Existing Section Format


To update an existing section format:

1. Select the data to be updated in the Data Source area, or click a bound parameter in
the Parameter List to select the corresponding data.

2. Right-click the Data Source area; then, select Edit Section details from the menu
that appears. The Edit Section Format dialog box appears. It is divided into three
tabs.

Note: This dialog box differs (the tab contents are altered) based on the current
format selected.
3. Edit the details used to construct the format using the first tab. This step is most
often used to change the delimiters between elements.

The options in the Grouping Characters area allow you to control which delimiters
cause a value containing punctuation to be treated as a single Vector element,
Table cell, or name/value Value. By default, all of the standard ASCII quote and
bracket characters are recognized, and the following string is treated as a vector of
length 3, where the 3rd element is 3 lines:

1.23, “a quoted value”, (table inside vector


2, 3, 4
5, 6, 7)

Isight Component Guide


302 Chapter 3 Using Activity Components

The Escape Character option removes any special meaning of the character that
follows it (such as a space, comma, quote, or bracket character). The escape
character itself (default is backslash (\)) is always removed from the value.

Normally a quote inside a quoted string is allowed, if the quote is preceded by the
escape character. Activating the Double quotes inside of quotes check box allows
the quote to be doubled (as it is in CSV format). With this check box activated, the
following text is a single string containing one double quote:

“this is a single quote”” inside a quoted string”

To remove all special processing and have all characters (except the separators
listed above) be treated as normal text, clear (uncheck) all of the check boxes in the
Grouping Characters area and delete the default escape character.

4. Click the Advanced tab; then, set the mode to either RANDOM or
SEQUENTIAL. The default is always RANDOM. Using SEQUENTIAL mode
on large files is more efficient, but may interfere with how the editor operates.

5. Click the third tab. This tab changes the file if the top-level section (the whole file)
is selected. If a sub-section is selected, this tab lets you update the boundaries of
the section.

Navigating Between Section Formats


When the data exchange program contains multiple nested section formatters, it will be
necessary to navigate between these in order to select the parent formatter for a new
statement.

This task is accomplished by navigating directly in the Data Source area.

There are tabs at the top of the Data Source area for each data source. Selecting a tab
will switch the display to that data source. Selecting a tab also displays the section of
that data source that was most recently used.

Once the correct data source is selected, you can navigate by clicking on the data.

The current section is always highlighted in white. Any sub-sections are highlighted in
yellow. Read and Write statements are colored in green/pink. Any text outside the
current section (in a parent section) is highlighted in gray. Clicking a yellow highlight
will move the focus to the sub-section, turning the yellow area white, and the previous

Isight Component Guide


Using the Data Exchanger Component 303

white area gray. Clicking the gray area will navigate to the parent section, turning the
gray area white and the previous white area yellow.

Editing Java Code Directly


You can edit the java code directly using the Java Source Code dialog box. To access
this interface and manually edit the java code:

1. Click the Java Source button on the end of the tool bar. The Java Source Code
dialog box appears.

The full Java source code is generated and displayed in this dialog box, and the
code can be edited directly.

2. Edit the code, as desired. You can copy and paste text between this dialog box and
an external Java development tool using the standard keyboard commands
(CTRL-X, CTRL-C, and CTRL-V).

3. Click OK to save your changes and close the dialog box. The Java code is checked
for errors while it is being saved. If there are any errors, the first error is
highlighted in pink, a description of the error is displayed on the status bar at the
bottom of the Data Exchanger editor, and the Java Source Code dialog will not
close. You must either correct the error, or click Cancel to discard all changes.

Isight Component Guide


304 Chapter 3 Using Activity Components

Using the General Text Format Option


There are three ways of swiping information using the general text format:

„ New basic swipe. This type of swipe involves highlighting a portion of text in your
file and then mapping it to a parameter. It does not involve the usage of the Swipe
Details section of the Data Exchanger component. For more information, see
“Performing a Basic Swipe” on this page.

„ Adjust a basic swipe. This type of swipe requires the use of the Swipe Details area,
and involves only one line in your file (whether it is the whole line or only part of
the line). For more information, see “Adjusting a Basic Swipe,” on page 306.

„ Advanced swipe of a group of lines. This type of swipe requires the use of the
Swipe Details area, and involves using more than one line in your text file. For
more information, see “Performing an Advanced Swipe,” on page 308.

Performing a Basic Swipe


The following example shows a simple file that has been loaded into the Data
Exchanger component. It has been specified as a file to be read by the component.

Isight Component Guide


Using the Data Exchanger Component 305

To perform a basic swipe:

1. Click or swipe the desired data in the text file. For more information on the
differences between these two ways to select data, see “Understanding
Terminology,” on page 278.

2. Specify the parameter that will correspond to this information from the text file
using one of the following methods:

„ Type a new parameter name in the Parameter text box.

„ Use the Parameter drop-down list (to the right of the Parameter text box) to
select an existing parameter.

3. Click the Read or Write button (based upon the usage you specified for the file in
“Creating a New Data Exchanger Program,” on page 279). The parameter is added
to the Parameter List on the right side of the component editor.

4. Click Apply to save your changes.

Isight Component Guide


306 Chapter 3 Using Activity Components

Adjusting a Basic Swipe


A swipe is defined by a line (a find action plus an offset or line number) and either part
of a line or a range of lines. You can tweak this information for a basic swipe using the
General Data Swipe area. To adjust a basic swipe:

1. Verify that the General Data Swipe appears near the bottom of the editor. If not,
click on the down arrow button located under the Parameters Read / Write area.

2. Click the parameter in the Parameter List that is bound to the swipe that you want
to update. The swipe information appears in the General Data Swipe area.

3. Select one of the following options from the first drop-down list:

„ Find. This option allows you to locate a specific string in the data. If you need
to locate a string, proceed to step 4.

„ Line. This option allows you to specify the information to be highlighted. If


you have located the information, proceed to step 6.

Isight Component Guide


Using the Data Exchanger Component 307

4. Perform the following steps to locate data using the Find option:

„ Select String or Regexp (Regular Expression) from the drop-down list in the
center of the General Data Swipe area. Regular expressions are a way to
specify patterns that match similar strings. For example, the regular expression
‘a *b’ matches an ‘a’, zero or more spaces, and a ‘b’. A detailed description of
regular expressions can be found in the Java 1.5 Manual pages for class
java.util.regex.Pattern, in the Perl language manual, or in any of a number of
books on Regular Expressions.

„ Set the Offset Lines option. This option allows you to tell the component to
add lines before or after the location of the found data. Negative numbers
select a line before the matched line, while positive numbers select a line after
the matched line.

„ Add text to the Find text box. Once a text string is added to this text box, the
matching item in the text file is automatically highlighted.

You can adjust where the search starts with the From drop-down list. There
are three options:
• Start of File. Starts the search from the beginning of the file. This is the
default.
• Current. Starts the search from where the last read/write occurred. This
can be much more efficient when working near the end of a large file. Be
aware of where the statement will be inserted in the list of actions – the
“last read or write” is the last one before the new statement – which can be
an unexpected value if the insertion point is not at the end of the list of
actions.
• End of File. Starts the search backwards from the end of the file.
5. Select Line from the drop-down list. The line number of the data appears. It is
automatically updated, based on the results of the Find operation. Normally, the
line number is relative to the start of the file, but you can specify a line number as
an offset from the current location or as a negative offset from the end of the file.

6. Verify that the correct line is highlighted. You can change the line number in the
Line text box, if necessary. You can also enter an expression or click the

expression button to open an expression editor. The matching item in the text
file is automatically highlighted.

Isight Component Guide


308 Chapter 3 Using Activity Components

7. Refine the selected data using the following options from the drop-down list at the
bottom of the General Data Swipe area:

„ Whole Line. This option highlights the entire line in the file that contains the
information specified.

„ Word #. This option highlights the specified word number in the text file. The
count is based on the number of words from the left margin.

„ Character. This option highlights the characters in the specified range, which
is specified in the corresponding text boxes.

8. Click Apply to save your changes.

Performing an Advanced Swipe


An advanced swipe is a swipe that comprises more than one line in your file. Such
swipes are almost always used to define sections of the file with different formats,
though they can also be used to read large string values. In order to define this type of
swipe, you must use the Group tab in the General Data Swipe area.

To perform an advanced swipe:


1. Verify that the General Data Swipe area appears at the bottom of the editor. If it
doesn’t, click the down arrow button located below the Parameters Read/Write
area. The Swipe Details area appears near the bottom of the editor.

2. Click the Group tab in the General Data Swipe area.

Isight Component Guide


Using the Data Exchanger Component 309

A new group of options appears.

This tab is divided into two subtabs:

„ the Start subtab

„ the End subtab

The Start subtab is displayed by default.

3. Select Line or Find from the drop-down list, based on how you want to specify the
location where the swipe begins. Selecting Line allows you to specify a particular
line in the file, enter an expression, or open an expression editor. Selecting Find
allows you to specify a group of characters as the starting point.

Isight Component Guide


310 Chapter 3 Using Activity Components

4. Perform one of the following actions, based on the selection you made in step 3.

„ If you selected the Line option, enter the number of the line you want to mark
the beginning of your swipe. You can also enter an expression or click the

expression button to open an expression editor.

„ If you selected Find, select String or RegExp (regular expression) from the
adjacent drop-down list; then, enter the text you wish to start from in the
corresponding text box. You can also enter an offset, which is the number of
lines before or after the search string to start the section.

5. Click the End subtab; then, use the options to set where your swipe will end. These
steps are similar to those described in step 3 and step 4, however, it is slightly more
complex. While a Start search starts from the beginning of the file, an End search
starts from the line selected by the Start tab. The start line # option is from the start
of the file. The End line # option is from the start line (0 = 1 line, 1 = 2 lines).

6. Click Apply to save your changes.

Isight Component Guide


Using the Data Exchanger Component 311

Using the Name Value Format Option


A sample of the component editor with the Name Value Swipe area displayed is shown
below.

To use the name value format option:

1. Select the Name or Item # from the drop-down list to determine how to locate the
item in your text file.
2. Select the item itself from the second drop-down list. The contents of this
drop-down list are determined by your selection in step 1.

3. Type a new parameter name in the Parameter text box, or select an existing
parameter from the drop-down list. If you create a new parameter, it is added to the
Parameter List on the right side of the dialog box. If you choose an existing
parameter, the parameter is highlighted in the list.

4. Click Apply to save your changes.

Isight Component Guide


312 Chapter 3 Using Activity Components

Only one item can be read/written at a time. You can also apply a section format to the
value of a Name/Value item. It is particularly useful to use the Vector format in order
to read an array from the value.

Note: It is not currently possible to write new entries into a Name/Value section. You
can only read or write the value of an existing name/value item.

Using the Table Format Option


A sample of the component editor with the Table Swipe area displayed is shown
below.

The Table format is useful in that it can read/write a whole (one dimensional or
two-dimensional) array at once. A new parameter is created having as many elements
as the swipe. To read/write an existing array, you must have a swipe exactly as large as
the array parameter or the parameter must be resizable. For more information on
resizable arrays, refer to the Isight User’s Guide.

The format can read/write a cell (scalar), a whole or portion of a row or column (a one
dimensional array), or a sub-table (a two dimensional array).

Isight Component Guide


Using the Data Exchanger Component 313

To use the table format option:

1. Type a parameter name in the Parameter text box, or select an existing parameter
from the drop-down list.

2. Set the table swipe coordinates. The first two text boxes represent the starting point
for the swipe. The second two text boxes represent the ending point for the swipe.
The end is left empty to indicate the swipe has a length of one in that dimension.

Note the following information:

„ Leaving the column field blank in the start coordinates highlights the entire
referenced row. Similarly, leaving the start row field blank selects the entire
column.

„ Blank rows are not highlighted if selected using the table swipe coordinates.

3. Click the Read button or Write button , based on the type of data
exchange you are performing.
4. Click Apply to save your changes.

If your selection covers more than one cell in a table and you type a new parameter
name, the parameter is created as an array as big as the swipe. You can select a cell of
the table by clicking in it. Triple-clicking will select a whole row. You can select a
row, column, or sub-table by dragging the mouse from one end to the other (for a
sub-table, drag from one corner to another).

Note: When selecting a column by dragging, what matters is which word on the line
you start and end the drag in, not what character position on the line. If the widths of
the columns vary a great deal, it may be difficult to end the drag in the same relative
column as it started in. When you release the mouse button after dragging a column,
the blue selection highlight will shrink to just the selected column(s). If too many
columns are selected, adjust the selection using the Table Swipe details panel.

Isight Component Guide


314 Chapter 3 Using Activity Components

Reading Fixed-Format Tables With Touching Columns


There is a facility for reading fixed-format tables where the columns touch each other
with no intervening spaces or punctuation.

To configure a fixed format table:

1. Create a table format section using the wizard.


2. Select the table format in the component editor; then, right-click the white area of
the Data Source area.
3. Select Edit Section details from the menu that appears. The Edit Section Format
dialog for a Table Format opens.

4. Click the Fixed Columns tab. The contents of the tab appear.

Isight Component Guide


Using the Data Exchanger Component 315

5. Type in the column boundaries in the text box; then, click OK. Note that the
numbers are the character position on which each column ends. The example
shown above creates four columns, each five characters wide:

Column 1- Characters 1 through 5

Column 2 - Characters 6 through 10

Column 3 - Characters 11 through 15


Column 4 - Characters 16 through 20

Using the Vector Format Option


A sample of the component editor with the Vector Swipe area displayed is shown
below.

The Vector format is similar to the Table format in that it can read/write a whole (one
dimensional) array at once. In both formats, a new parameter is created having as many
elements as the swipe. To read/write an existing array, you must have a swipe exactly
as large as the array parameter, or the array must be resizable.

Isight Component Guide


316 Chapter 3 Using Activity Components

To use the vector format option:

1. Type a parameter name in the Parameter text box, or select an existing parameter
from the drop-down list.

2. Enter the swipe start and end point. The points are highlighted as you enter the
information.

Each item is considered a cell, and the count is made from left to right, and from
top to bottom.

3. Click the Read button or Write button , based on the type of data
exchange you are performing.

4. Click Apply to save your changes.

Isight Component Guide


Using the Data Exchanger Component 317

Searching a Data Source


To search for a text string in your data source:

1. Verify that the correct data source is loaded in the Data Source area.

2. Click the Find button at the top of the editor. The Find dialog box appears.

3. Enter the text string you want to search for in the text box; then, click Next. The
string, if found in the data source, is highlighted in orange in the Data Source area.

4. Perform one of the following actions:

„ Click Next to locate the next instance of the specified text string.

„ Click Clear to search for a new text string.

„ Click Close to close the Find dialog box and return to the Data Exchanger
editor.

The General Text format uses the search string as the Find target for swipes as long as
the swipe is close to the find string (currently within ten lines). To set the search target
for the general text tool to a string on the screen, select the text to use as the search
target; then, click on the Find button , or right-click and select Find from the pop-up
menu.

Creating Markers
Markers are used to search for a string, and to remember where the string was found.
Then, the marker can be used as an anchor for subsequent read/write operations. There
are two ways to create a marker.

Isight Component Guide


318 Chapter 3 Using Activity Components

To create a marker:

1. Select a General Text section; then, click the button on the toolbar. The Marker
dialog box opens.

2. Enter the variable name, the section to search, a string to search for, and where to
begin the search.

3. Click OK.

or

1. Select some text on the line where you want the marker.

2. Click the button on the toolbar.

The marker is created immediately. It searches for the selected text in the selected
section, and uses the selected text (with punctuation changed to underscores) as the
marker name.

Using Markers
If you simply click on a word in a General Text section that is after a marker, the word
will be located at runtime as a certain number of lines after the marker.

You can also select a marker from the From drop-down list on the General Text Swipe
editor, when in Line mode (not in Find mode).

Note: If you are using markers, there is little reason to use the FIND mode of the
General Text swipe editor, since the Markers handle searching.

Isight Component Guide


Using the Data Exchanger Component 319

Using Advanced Action Types


The toolbar includes the following advanced options:

„ . Calculation. Performs a calculation and assigns the result to a parameter. For


more information, see “Using the Calculation Editor” on this page.

„ . If. Creates a conditional statement. An editor opens for specifying the


conditional test. This editor is the same as the Calculation editor (above) except
you only type an expression (such as “i < 10”) instead of a complete assignment
statement.

„ . For. Creates a For Loop. For more information, see “Using the For Loop
Editor,” on page 321.

„ . While. Create a While loop. An editor opens for specifying the condition to test
at the start of each loop. This is identical to the editor for an If statement.

„ . Comment. Adds a comment to the list of actions.

„ . Java. Adds arbitrary Java code as an action. When you click OK, the Java code
is checked for errors. Note that a single block of Java code could be split into
multiple actions.

Using the Calculation Editor


The Calculation editor is used when creating or editing a calculation action. It consists
of a text area for entering expressions, and an operation bar (at the bottom) for
selecting and inserting parameters, operators, and functions.

Click the button on the toolbar to open the Calculation Editor. The Edit Calculation
dialog box appears.

Isight Component Guide


320 Chapter 3 Using Activity Components

The Calculator editor is similar to the Calculator component. For more information
about the Calculator component, see “Using the Calculator Component,” on page 255.
There are a few differences that include the following:

„ The Calculator component uses lists and buttons whereas the Calculation editor
uses menus to keep the dialog smaller.
„ A Data Exchanger calculation can contain multiple statements, but there must be a
semicolon after each statement (except the last). The Calculator component allows
one statement per line even without semicolons.

„ The Calculation Editor allows full Java statement syntax, including expressions as
subscripts of arrays, and calling methods on parameters (which are type
com.engineous.sdk.vars.Variable). This includes Java auto increment/decrement
operators (++ and --) and the operation assign operators, such as ‘i +=1;’.

„ Subscripts of array parameters can use either Java notation ‘arr[i][j]’ or Fiper
syntax ‘arr[i,j]’.

„ In the Calculation editor, an array parameter can be resized either by calling the
‘array.setDimSize(size)’ method or with the ‘resize(array,size)’ function. It is not
currently possible to change the size of an array in the Calculator component.

„ The Calculator component prohibits certain characters in parameter names, and


puts single quotes around parameters containing spaces. The Calculation editor
renames parameters by replacing all punctuation and spaces with underscores. Be
aware that if you select a parameter, such as ‘strength/weight ratio’ and click the

button, it will be inserted into the calculation as ‘strength_weight_ratio’.

Note: The same calculation editor dialog is used for IF and WHILE statements, and to
enter expressions for row and column numbers in the Vector and Table tools. The only
difference is that a calculation must contain assignment statements, whereas the other
uses must be an expression that does not assign the value to a parameter.

Isight Component Guide


Using the Data Exchanger Component 321

The following are examples of calculations:

„ Increment the value of an integer parameter ‘i’. All of the following are equivalent:
i++
i+=1
i=i+1
„ Set an element of array parameter ‘array’ to a complex expression. The subscript is
one less than the integer parameter ‘i’.
array[i-1] = array[i] * cos(x)
„ Change the size of array ‘outArray’ to be twice as large as the array ‘inArray’:
resize(outArray, size(inArray) *2)

Using the For Loop Editor


This loop will iterate through a sequence of values of the selected parameter and
execute the subflow at each iteration.

To open the For Loop editor:

1. Click the button to open the For Loop editor. The Edit For Statement dialog
box appears.

Isight Component Guide


322 Chapter 3 Using Activity Components

2. Click the appropriate tab: Simple or Advanced. The tab selected controls the
statement. Switching tabs tries to convert from the simple form to the advanced
form (always works) or from advanced to simple (only works in a restricted subset
of cases).

„ Simple. The Simple tab allows you to edit a parameter, initial value, final
value, and increment (similar to the For Loop component). This is the basic
'for i = 1 to 10 by 1' type loop.

„ Advanced. The Advanced tab allows you to edit the initialization, condition,
and update expressions. This is the complete Java (or C or C++): 'for (i =
1, j = 10; xx[i]; i++, j--)' For loop.

3. Click the button at the end of each text box to open a calculation editor.
The editor can be used to build an expression for the corresponding text box based
on parameters, operators, and functions. A line of instructions at the top of the
calculation editor indicates the type of expression expected (for example,
assignment, integer value, logical condition).

4. Click OK to save your changes and return to the editor.

Filtering Parameters
To alter the view of the parameters in the Parameter List:
1. Click the Filter... button at the bottom of the Parameter List. The Edit Parameter
Filtering Options dialog box appears.

Isight Component Guide


Using the Data Exchanger Component 323

2. Set the check buttons, as desired. Activating a check box causes the corresponding
parameters to be shown in the Parameter List.

3. Click OK. You are returned to the Data Exchanger editor, and your Parameter List
is updated.

Deleting a Data Source


You can remove any unwanted data source (in essence, one of the tabs in the Data
Source area) at any time.

To delete a data source from the Data Source area:

1. Click the tab that corresponds to the data source that you want to delete. The
contents of the data source appear in the Data Source area.

2. Do one of the following:

„ Right-click anywhere in the Data Source area; then, select Delete Selection
from the menu that appears.

„ Click the button on the toolbar.


„ Right-click in the Data viewer; then, select Close Data Source from the menu
that appears.
3. Click OK to confirm the action. The data source is deleted.

Keep in mind the following actions that will occur when you use the Delete/Close
options in the Data Exchanger component:

„ The button/Close Data Source menu option always close the current data
source.

„ The button/Delete Statement menu option delete a data source, section, or other
action depending on the selection.

„ The Delete Section option (accessed by right-clicking in the Data Source area)
deletes the current section, or the data source if the current section is the data
source.

Isight Component Guide


324 Chapter 3 Using Activity Components

„ Deleting a section also deletes all read and write statements inside that section, and
closing a data source deletes all sections, reads, and writes in that data source.

„ Deleting an 'if', 'while' or 'for' action ONLY deletes the selected action and the
associated end indicator “}”. Any other statements that were inside the block are
left in place. To delete an 'if', 'for' or 'while' action and everything inside it, you
must select all the actions by clicking on the start action and shift-clicking on the
end indicator.

„ Actions can be moved into or out of a loop or if block by using the cut/paste
feature.

Setting Data Exchanger Preferences


To set component preferences:

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.

2. Expand the Components folder on the left side of the dialog box; then, select Data
Exchanger. The following preference options are available with the Data
Exchanger component:

„ Show line numbers of Data Source. Specify if you want line numbers
displayed on the left side of the Data Viewer.

„ Show column numbers of Data Source. Specify if you want column numbers
displayed on the top of the Data Viewer.

3. Click OK to save your changes and close the Preferences dialog box.

Using the Database Exchanger Component API


The Data Exchanger component provides an API for programmatically configuring the
Data Exchanger component using a Java program. For information about Component
APIs and how they use keywords on generic get/set/add/call methods, see “Editing
Component Properties,” on page 25.

Isight Component Guide


Using the Data Exchanger Component 325

The API for the Data Exchanger component consists of the following methods:

„ getString("program"), set("program", pgm). This method allows


you to get/set the whole Data Exchange program. The program must include the
renaming comment at the top. The following is a simple example:

// DATA EXCHANGE PROGRAM - DO NOT EDIT THIS COMMENT


//parameter "filename" as filename
//parameter "sample" as sample
//parameter "sample_Tmpl" as sample_Tmpl
//parameter "v1" as v1
//END COMMENT
sample2 = new Partitioner(Tool.RANDOM, new
FileExchanger(C_, sample2_txtTmpl, sample2_txt),
null);
sample2.word(1, 6).write(filename);
table = sample2.mark("table");
sample2.word(table.line(1), 2).write(v1);
For each parameter being used, including file parameters, there must be a comment
at the start with exactly the following format:

//parameter "parameter" as variable


The field parameter is the parameter name (which may contain spaces or
punctuation). The variable is the name of a Java variable that is associated with
the program. This name must follow Java naming conventions:

„ start with a letter

„ continue with letters, digits, or underscore


„ are case sensitive, unlike Fiper parameters which are case-insensitive

„ must not match the name of a Java reserved word

„ avoid names that will clash with Java classes, such as System, Table, or Tool

If the parameter name is a valid variable name, the two strings can be the same
(and they usually are).
In the above example, the Java variables sample2 and table are Java variables,
not parameters. Therefore, they are not included in the renaming comment.

Isight Component Guide


326 Chapter 3 Using Activity Components

The strings

// DATA EXCHANGE PROGRAM - DO NOT EDIT THIS COMMENT


and
//END COMMENT
must appear exactly as shown.

Using the Database Component


The Database component allows you to retrieve data from an existing relational
database and use the data inside an Isight model. In general, the component has the
following capabilities:
„ Allows you to define templates in the Design Gateway that determine which
values are read and written during runtime.
„ Writes the values obtained during execution back to the database, allowing the
component to act as an interface to any database.

„ Supports multiple databases including DB2, Oracle, MS Access, MySQL, and MS


SQL server.

This section is divided into the following topics:


„ “Understanding Database Settings,” on page 327

„ “Understanding Limitations,” on page 330

„ “Connecting to a Database,” on page 331


„ “Viewing Data and Mapping Parameters,” on page 334

„ “Modifying Queries,” on page 341

Isight Component Guide


Using the Database Component 327

Understanding Database Settings


This section describes settings that may be necessary to specific databases when using
the Database component. It also discusses how to modify the Isight Class Path, if
necessary. Proceed to one of the following topics:

„ “Database-Specific Settings,” on this page


„ “Modifying the Isight Class Path,” on page 329

Database-Specific Settings
Depending on the database you are using, the following changes need to be made in
order to use the Database component. For more information, refer to your database
documentation or contact your local database administrator.
„ MS Access

„ The primary column should be set to YES.

„ Some MS Access databases may need the Windows ODBC setting to create
the database.

„ For database license distribution, set the environment to the user database
classpath.

„ Oracle

The Database component is a general usage database. If you use a special Oracle
datatype such as CLOB, you need to put the ojdbc14.jar file in the Oracle
directory. You also need to add this file with the full path to the Isight class path.
For more information on adding the file, see “Modifying the Isight Class Path,” on
page 329.

Isight Component Guide


328 Chapter 3 Using Activity Components

„ DB2

„ If you are trying to connect to a remote DB2 database, you need to select the
following driver from the driver drop-down list when connecting to a database
using Isight:

com.ibm.db2.jcc.DB2Driver
„ You also need to add the following files with the full path to the Isight class
path. For more information on adding the files, see “Modifying the Isight Class
Path,” on page 329.
• db2jcc.jar
• db2jcc_license_cisuz.jar
• db2jcc_license_cu.jar
„ SQL Server 2000- Type 2 driver

„ If you are trying to connect to a Microsoft SQL Server database using the Type
2 driver, you need to download the following Type 2 driver file:

Microsoft SQL Server 2000 Driver for JDBC


„ You also need to add the following files with the full path to the Isight class
path. For more information on adding the files, see “Modifying the Isight Class
Path,” on page 329.

• msbase.jar
• mssqlserver.jar
• msutil.jar
„ You need a valid user name and password.

„ SQL Server 2000- Type 4 driver

„ If you are trying to connect to a Microsoft SQL Server database using the Type
4 driver, you need to download the following Type 4 driver file:

Microsoft SQL Server JDBC Driver


„ You also need to add the following file with the full path to the Isight class
path. For more information on adding the files, see “Modifying the Isight Class
Path,” on page 329.

sqlijdbc.jar
„ You need a valid user name and password.

Isight Component Guide


Using the Database Component 329

Modifying the Isight Class Path


Proceed to one of the following sections, based on your operating system:

„ “Modifying on Windows” on this page

„ “Modifying on UNIX/Linux,” on page 330

Modifying on Windows
To modify the Isight class path:

1. Click Start; then, point to Control Panel and click System. The System
Properties dialog box appears.

2. Click the Advanced tab; then, click the Environment Variables button. The
Environment Variables dialog box appears.

3. Click New (under the User variables for user area). The New User Variable dialog
box appears.

4. Type the following in the Variable name text box:


FIPER_ADDPATH
5. Type the following string in the Variable value text box:
C:\oracle\ora92\jdbc\lib\ojdbc14.jar;
C:\Program Files\IBM\SQLLIB\java\db2jcc.jar
6. Click OK to save the variable.

7. Find the CLASSPATH variable in the Systems variable list; then click Edit.

8. At the end of the existing definition, add the following string:

;%FIPER_ADDPATH%

9. Click OK to save your changes.

10. Click OK to exit the Environment Variables editor.

Isight Component Guide


330 Chapter 3 Using Activity Components

Modifying on UNIX/Linux
To modify the Isight class path:

1. Using a text editor, open the fiperenv file, which is located in the bin directory
of your Isight installation directory.

2. Add the following line in the file. Do not enter a space after the equal sign.
FIPER_ADDPATH="/users/ora92/jdbc/lib/ojdbc14.jar;
/users/IBM/SQLLIB/java/db2jcc.jar"

3. Save and close the fiperenv file.

Understanding Limitations
The following known limitations should be noted prior to using the Database
component:

„ The component only allows you to interact with the database tables. No other
database objects are available. Furthermore, the component does not support
procedure executions.

„ The datatypes supported are as follows: string, text, varchar, int, double, float, and
decimal.

„ The database table must have a primary key. The primary key datatypes supported
are as follows: string, text, varchar, int, double, float, and decimal. If you use
another datatype for the primary key, you need to modify the SQL command.

„ Invalid characters in the variable names: ~,`, !, @, #, %, ^, &, *, -, +, =, {, }, [, ], \,


|, \\, /, <, >, . (period), , (comma), / , ?, “

„ The variable name must start with a non-numeric character. For example, a
parameter named “3var” is invalid. Instead, the variable should be called “var3” or
just “variable.” Any Isight variable that does not conform to this format is not
displayed in the available list of parameters.

Isight Component Guide


Using the Database Component 331

„ A variable that contains a space in its name must be surrounded by single quotes in
the expression. For example, a parameter called variable one would have to be
entered in the expression as 'variable one'.

„ The Fiper file parameter can be mapped to the BLOB datatype, except for
MSAccess which uses OLE datatypes.

Connecting to a Database
To start using the Database component, you must first connect to the database.

To connect to the database:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide. The Database Component Editor screen appears as shown
below.

2. Click the Configure DB connection... button.

Isight Component Guide


332 Chapter 3 Using Activity Components

The Connection Details screen appears as shown below.

3. To make a successful connection, you enter the following information:


„ Type of Database. Choose the database from the corresponding drop-down
list. Supported databases include DB2, Oracle, MS Access, MySQL, and SQL
Server. Once the database has been selected, Isight will automatically fill in
any default values for the remaining settings (if available).

Once you specify the type of database, the options necessary for a connection
are activated. If the options listed below are not accessible then they are not
needed.
„ Service/Database Name. Enter the appropriate service name, depending on
the database.
„ Host Name/Instance Name. Enter the name of the host machine to which the
component should connect.
„ Port. Enter the port number to which the component should connect.

„ User Name. Enter the user name for the database.

„ Password. Enter the password for the corresponding user name.


„ Driver. Use the Browse... button to locate the driver for the database you
selected.

„ Class name. Select the class name that is included in the driver file. The class
name must match the driver file.

Isight Component Guide


Using the Database Component 333

4. Click Connect. The database information is loaded into the editor.

The type of database and the service/database name are displayed at the top of the
editor. The database tables in the schema are shown on the left side of the editor.

Note: A message appears if the connection information you entered is incorrect.

5. Proceed to one of the following sections:

„ “Viewing Data and Mapping Parameters,” on page 334 describes how to view
the table data, and how to map the data to Isight parameters.

„ “Modifying Queries,” on page 341 describes how to change an existing


database query.

Isight Component Guide


334 Chapter 3 Using Activity Components

Viewing Data and Mapping Parameters


After you connect to the database, you can use the Database component to view
information and map data to Isight parameters.

To view data and map parameters:


1. Verify that you are connected to the appropriate database, as described in
“Connecting to a Database,” on page 331.

2. Select a table; then, click the Show Data button. The data from the selected
table is displayed.

The right side of the editor shows the selected columns with all the rows of the
table.

Isight Component Guide


Using the Database Component 335

3. Click the icon to the left of a table to expand it. Additional information appears.

The following information may be displayed for the selected table:

„ The icon represents the primary key of the table. This column cannot be
mapped.

„ The icon represents various columns with datatypes supported by Isight


that can be mapped.

„ The icon represents columns with datatypes not supported by Isight. The
data in these columns cannot be displayed or mapped.

4. Select the column(s) or row(s) from the current table that represent the data that
will be used in or replaced by Isight. Be aware of the following issues with regard
to data selection:

„ If multiple columns and rows are selected with the same datatype, an aggregate
or array variable is created.

„ If multiple columns and rows are selected with different datatypes, an


aggregate variable is created.

Isight Component Guide


336 Chapter 3 Using Activity Components

„ If multiple columns and only one row are selected with the same datatype, an
aggregate or array variable is created.

„ If multiple columns and only one row are selected with different datatypes, an
aggregate or multiple scalar variables are created.

„ If only one column and multiple rows are selected, an array variable is created.

„ If only one column is selected, a scalar variable is created.

5. Determine how you want to map your parameters. The following options are
available:
„ To map individual parameters manually, by selecting data in the corresponding
table, proceed to step 6.
„ To map parameters based on existing column information, proceed to step 10.

„ To map a new record to the database table, proceed to step 14.

6. Specify the Isight parameter that will be mapped to the selected data using one of
the following techniques:

„ Select an existing parameter from the Parameter drop-down list.

„ Click the button to create a new parameter. For more information on


creating new parameters, refer to the Isight User’s Guide.

7. Select the mapping direction for the parameter. The following two options are
available:

„ . This option updates the database data.

„ . This option retrieves data from the database.

Isight Component Guide


Using the Database Component 337

8. Click the button. The parameter mapping is added to the table at the bottom of
the editor.

The table at the bottom of the editor displays the various parameters created. The
columns in the table show the parameter name, mode of the parameter, the table
from which the rows are selected, column names, and the query formed by the
selected rows.

Note: You can remove an existing mapping by selecting it in the table at the

bottom of the editor; then, click the button.

9. Proceed to step 18.

10. Select the data you wish to map from the database table. You can select individual
cells, or you can select an entire column by clicking on the column’s header.

Isight Component Guide


338 Chapter 3 Using Activity Components

11. Click the button. The Select dialog box appears.

12. Select the appropriate parameter attribute; then, click OK. The data is mapped and
added to the table at the bottom of the editor.

13. Proceed to step 18.

Isight Component Guide


Using the Database Component 339

14. Select the data you wish to map from the database table. You can select individual
cells, or you can select an entire column by clicking on the column’s header.

15. Click the button. The Column and value dialog box appears.

16. Perform one of the following actions:

„ To select a constant: Type a value in the text box.


„ To select a parameter: Select Parameter from the drop-down list to the right
of a text box; then, select a parameter from the list of parameters that appears
in the corresponding text box.

Isight Component Guide


340 Chapter 3 Using Activity Components

17. Click OK to return to the editor. The data is mapped and added to the table at the
bottom of the editor.

Note: The name Isight assigns to the new mapping (for example, $D, $I) cannot be
edited.

Note: You can remove a record from the database by selecting a cell in the

database table row; then, click the button.

18. Return to step 5 if you want to map additional parameters, or click OK to save the
changes and close the editor. Click Apply to save the changes without closing the
editor.

Note: A SQL exception will be thrown at runtime if you entered invalid values into
the database. The exception appears in the runtime log.

Isight Component Guide


Using the Database Component 341

Modifying Queries
You can modify a query formed by mapping the row data to a parameter.

To modify a query in the database:

1. Select the mapping whose query you want to edit from the table at the bottom of
the editor.

2. Click the Edit button in the bottom right corner of the editor. The Advanced Query
dialog box appears.

The text of the query is displayed in the Modify Query area at the top of the dialog
box. Each query is broken into independent parts and displayed on a single line.
You can select a line and modify the corresponding query accordingly.

3. Perform any of the following options, as desired:

„ Remove a line from the query by clicking it; then, click the Remove from
Query button.

„ Select any query at the top of the dialog box; then, click the buttons provided
at the bottom of the Modify Query area to insert the corresponding text.

Isight Component Guide


342 Chapter 3 Using Activity Components

These buttons help you to form the query string and are listed below:
• (
• AND
• OR
• NOT
• )
• WHERE
„ Use the ORDER BY button to list the query in ascending or descending order.

„ Use the options in the Add where clause area to create a Where clause
connecting the column names and a constant or parameter, depending on the
selection from the corresponding drop-down list. Once created, add the clause
to the query by clicking the Add to Query button.

„ Determine the number of rows the query should fetch in the corresponding text
box.

„ Review the updated query in the Final Query area at the bottom of the dialog
box. This area is for viewing purposes only and is not editable.

4. (optional) Click the Check Query button to verify the correctness of the query in
terms of syntax. If any syntax mistakes are found, a dialog appears with the
message “The query is incorrect”.
5. (optional) Click the Manual Edit button to manually edit the query. A warning
message appears, stating that this option is at your own risk.

Important: This procedure is not supported, and any problems caused by manual
query editing cannot be remedied by SIMULIA. Use with option with extreme
caution.

6. Click OK to save the query and close the editor. The editor will not close if the
query is incorrect. Instead, an error message appears. You are returned to the
Database component editor.

Isight Component Guide


Using the Excel Component 343

Using the Excel Component


The Excel component allows interaction with Microsoft Excel workbooks. The two
main functions of this component are:

„ parameter mapping

„ macro execution

Parameter mapping includes mapping Isight parameter values to Excel cell values and
mapping Excel cell values to Isight parameter values. Both scalars and arrays can be
used. Macro execution includes running Excel predefined macro methods and
functions.

This section is divided into the following topics:

„ “Starting the Editor and Selecting a Workbook,” on page 344

„ “Mapping Parameters,” on page 346

„ “Using Advanced Options,” on page 357

„ “Setting Station Execution Permissions (Fiper Environment Only),” on page 360


„ “Setting Excel Component Preferences,” on page 364

„ “Using the Excel Component API,” on page 365

Isight Component Guide


344 Chapter 3 Using Activity Components

Starting the Editor and Selecting a Workbook


To start the editor and select a workbook:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide. The Component Editor dialog box appears.

Once the editor is opened, you need to specify an Excel workbook with which to
interact.
2. Click the Browse... button. The Open dialog box appears.

3. Navigate to the Excel workbook you want to use; then, click the Open button.

Note: If a message appears regarding the existence of Named Cells, this means that
Isight has detected that the workbook contains names/tags associated with certain
cells, an indication that these might be items of importance. In this case, you can
do some instant parameter mapping. Click Yes to map the parameters now. Click
No to map them manually at a later time or to not map them at all. For more
information on mapping these parameters manually, and on this option in general,

Isight Component Guide


Using the Excel Component 345

see “Named Cells/Ranges Mapping,” on page 352. The workbook is loaded into
the editor.

The workbook is displayed in an Excel emulator so that it resembles the actual


workbook. However, if the original workbook contained figures or graphics, they
are not displayed in the emulator, and no information about any defined
calculations is available.

Important: Once loaded into the Excel editor, any modification made to the
original workbook will not appear in the Excel editor’s emulator unless the reload
button ( ) is clicked or the editor is closed and re-opened. Also, no direct
interaction is possible with the workbook using the emulator. It is for display and
selection purposes only.

Isight Component Guide


346 Chapter 3 Using Activity Components

4. Click the Store workbook in the model check box if you’d like the workbook
saved as part of the Isight model file. This option may be useful if you wish to
allow this component to be distributed for execution on any Windows machine
without requiring that the workbook file exist on that machine.

Once the workbook has been loaded, you can map parameters or specify macros to
execute.

5. Proceed to one of the following sections:


„ See “Mapping Parameters” on this page for information on how to set up
parameter mappings to and from Excel cells.
„ See “Using Advanced Options,” on page 357 for information on macros,
execution order, save options, and execution visibility.

Mapping Parameters
There are four different ways to map Isight parameters to and from an Excel workbook
using the Excel component editor:

„ Direct cell mapping. This type of mapping allows you to select a single cell to
map to or from an Isight scalar parameter or array element, or to select a range of
cells to map to/from an Isight array parameter of the same size. For more
information, see “Direct Cell Mapping,” on page 347.
„ Name-Value mapping. This type of mapping allows you to select a 2-by-n or
n-by-2 region of cells that represent name-value pairs and automatically define
mappings using those names. For more information, see “Name-Value Mapping,”
on page 349.

„ Named Cells/Ranges mapping. This type of mapping allows you to quickly


create mappings based on information pre-defined in the Excel workbook prior to
loading it into the Isight Excel component. For more information, see “Named
Cells/Ranges Mapping,” on page 352.

„ File Mapping. This type of mapping allows you to map contents from a file into
Excel or from Excel into a file, with various options defining what content should
be mapped. For more information, see “File Mapping,” on page 354.

Isight Component Guide


Using the Excel Component 347

Direct Cell Mapping


To directly map the values in cells to/from Isight parameters in the Excel component
editor:

1. Select the workbook cells that you want to map.


Note: You can select a single cell to map to an Isight scalar parameter, or a
continuous block of cells to map to an Isight array parameter of the same size.
2. Determine the name for the mapped parameter using one of the following
methods:
„ To map an existing Isight parameter, click the Parameter drop-down list and
select the parameter.

Since the parameters in the list might actually be from other components, you
can sort the parameters in the list by component. Right-click in the parameter
entry, then select Group Parameters. The setting is now saved in the
preferences for this component. There is a Preference option to set the initial
default for this option for all applicable component editors. You can also
choose to not group parameters for the currently selected component. For more
information on these Preference options, refer to the Isight User’s Guide.

„ To map a new Isight parameter, type the name of the new Isight parameter in

the Parameter text box. You can also click the button to define a new
parameter in more detail.

3. Select the mapping direction. The following two options are available:

„ . This option maps the value from an Isight parameter to Excel.

„ . This option maps the value from Excel to an Isight parameter.

Isight Component Guide


348 Chapter 3 Using Activity Components

4. Click the Add Mapping button . The mapping is added to the list at the bottom
of the editor. The parameter mode, type, and value are set automatically. In the
following example, we mapped the value from a parameter to the cell A3.

Note: You can delete a listed mapping by selecting it and clicking the Remove

Mapping button . You can also edit the details for any defined mapping by

selecting the mapping and clicking the Edit button .

5. Perform one of the following options:

„ Return to step 1 for any additional direct cell mappings.


„ Proceed to “Name-Value Mapping,” on page 349 for information on mapping
name-value parameters, which provides instructions for a quick way of
defining mappings for ranges in the Excel spreadsheet that contains names and
values in adjacent cells.

Isight Component Guide


Using the Excel Component 349

„ Proceed to “Named Cells/Ranges Mapping,” on page 352 for information on


mapping named cells/ranges parameters, which provides instructions for a
quick way of defining mappings for cells that have been named in the Excel
spreadsheet.

„ Proceed to “File Mapping,” on page 354 for information on mapping from a


file to Excel and mapping from Excel to a file.

„ Proceed to “Using Advanced Options,” on page 357 to set macro, execution


order, save options, or execution visibility options.

„ Click OK to close the editor.

Name-Value Mapping
To quickly define mappings for ranges that contain names and values in adjacent cells:

1. Select the range of workbook cells that you want to map, which contains both the
names for the parameters you are mapping and the associated values. The selected
range must contain either 2 rows or 2 columns, with the names of the parameters
assumed to be in the left or top cells.

Isight Component Guide


350 Chapter 3 Using Activity Components

In the following example, we are mapping five parameters: Length, FlangeWidth,


Height, FlangeThickness, and Web Thickness, whose values are in cells A3
through E3, respectively.

2. Select the mapping direction. The following two options are available:

„ . This option maps the value from an Isight parameter to Excel.

„ . This option maps the value from Excel to an Isight parameter.

Isight Component Guide


Using the Excel Component 351

3. Click the down-arrow button next to the ; then, select Add Name-Value
Mapping from the menu. Scalar parameters are automatically created based on the
names in the selected range and are mapped to the corresponding adjacent value
cells. Your mappings are added to the list at the bottom of the editor.

Note: You can delete a listed mapping by selecting it and clicking the Remove

Mapping button . You can also sort the listed mappings by clicking the
column heading of the column that you want to sort by. Sorting the listed mappings
does not affect the order of execution of those mappings, which is controlled on the
Advanced tab as described in “Using Advanced Options,” on page 357.

4. Verify that the mapping direction is set properly for each parameter as described in
step 2. If it is not, you can change the mapping direction using the drop-down
menu provided in the Action column for that mapping.

Isight Component Guide


352 Chapter 3 Using Activity Components

5. Perform one of the following options:

„ Return to step 1 for any additional mappings.

„ Proceed to “Direct Cell Mapping,” on page 347 for information on mapping.

„ Proceed to “Named Cells/Ranges Mapping” on this page for information on


mapping named cells/ranges parameters, which provides instructions for a
quick way of defining mappings for cells that have been named in the Excel
spreadsheet.

„ Proceed to “File Mapping,” on page 354 for information on mapping from a


file to Excel and mapping from Excel to a file.

„ Proceed to “Using Advanced Options,” on page 357 to set macro, execution


order, save options, or execution visibility options.

„ Click OK to close the editor.

Named Cells/Ranges Mapping


This type of parameter is mapped based on information pre-defined in the Excel
workbook prior to loading it into the Isight Excel component. Cells and ranges can be
labeled within Excel, and this information can be mapped into your Isight component.
For more information on using named cells or ranges, refer to your Excel
documentation or online help.

To map named cells/ranges parameters:


1. Perform one of the following actions:

„ If you have just loaded an Excel workbook, and the Named Cells Found dialog
box appeared, click Yes.

„ If you are working with an already loaded Excel file and want to invoke the
Named Cells/Ranges dialog, click the down-arrow button next to the ; then,
select Add Named Cells mapping from the menu.

Isight Component Guide


Using the Excel Component 353

The Named Cells/Ranges dialog box appears.

2. Select the named cells that you would like to be automatically mapped. You can
choose a single mapping, multiple mappings, or all mapping using the Select All
button.

3. (optional) Change the default action of the mappings by selecting a new action
using the button; then, click the Change button.

4. Click OK. The new mappings are listed at the bottom of the Excel editor.

5. Perform one of the following options:

„ Proceed to “Direct Cell Mapping,” on page 347 for information on mapping


parameters.

„ Proceed to “Name-Value Mapping,” on page 349 for information on mapping


named cells/ranges parameters, which provides instructions for a quick way of
defining mappings for cells that have been named in the Excel spreadsheet.

„ Proceed to “File Mapping,” on page 354 for information on mapping from a


file to Excel and mapping from Excel to a file.

„ Proceed to “Using Advanced Options,” on page 357 to set macro, execution


order, save options, or execution visibility options.

„ Click OK to close the editor.

Isight Component Guide


354 Chapter 3 Using Activity Components

File Mapping
File mapping allows you to map contents from a file into Excel or from Excel into a
file, with various options defining what content should be mapped.

When inserting contents from a file into Excel, each line in the file will be added as a
row and the line will be split at spaces, commas, and tabs in order to define the items to
put into different columns in that row. Values that have spaces must have quotation
marks around them in order to be interpreted as a single value to insert into a cell.

To map from a file to Excel or to map from Excel to a file:

1. Click the drop-down arrow next to the button; then, select Add mapping
from/to a file from the menu that appears. The Map To or From a File dialog box
appears dialog box appears.

2. Select one of the following

„ Map from a file to Excel. Proceed to step 3.

„ Map from Excel to a file. Proceed to step 7

Isight Component Guide


Using the Excel Component 355

3. Click Next. The Select File dialog box appears.

4. Enter the name of the file in the File text box or click the Browse... button to
navigate to the file.
5. Select one of the following:

„ Insert entire file contents starting in cell. Select this option to have the entire
contents of the file inserted into the workbook starting at the currently selected
cell.
„ Match parameter names from file with selected range. This option allows
you to select a row of parameter names in the Excel worksheet to be matched
against parameter names found on the first line of the file. The entire column
of data for those matching parameters will then be copied from the file to the
corresponding column in the Excel worksheet.

6. Proceed to step 11.

Isight Component Guide


356 Chapter 3 Using Activity Components

7. Click Next. The Select File dialog box appears.

8. Enter the name of the file in the File text box or click the Browse... button to
navigate to the file.

9. Determine if you want to Export entire selected sheet or Export only selected
range.

10. Specify the Separator to use when writing the value.

11. Click Finish. The new mappings are listed at the bottom of the Excel editor.

12. Perform one of the following options:

„ Proceed to “Direct Cell Mapping,” on page 347 for information on mapping


parameters.

„ Proceed to “Name-Value Mapping,” on page 349 for information on mapping


name-value parameters, which provides instructions for a quick way of
defining mappings for ranges in the Excel spreadsheet that contains names and
values in adjacent cells.

„ Proceed to “Named Cells/Ranges Mapping,” on page 352 for information on


mapping named cells/ranges parameters, which provides instructions for a
quick way of defining mappings for cells that have been named in the Excel
spreadsheet.

Isight Component Guide


Using the Excel Component 357

„ Proceed to “Using Advanced Options,” on this page to set macro, execution


order, save options, or execution visibility options.

„ Click OK to close the editor.

Using Advanced Options


The advanced options for the Excel component include using macros, setting action
execution order, saving the modified workbook, and determining execution visibility.

To use the advanced options:

1. Click the Advanced tab. The advanced options are displayed.

Important: If no macros are present in the workbook you loaded into the Excel
component editor, all macro options are disabled.

2. Select a macro using the Macro button.

Isight Component Guide


358 Chapter 3 Using Activity Components

3. If applicable, set the available macro options. If no macros are present in the
workbook you loaded into the editor, the macro options are disabled.

a. Specify an Isight parameter for the return value (if applicable).

b. Specify the macro arguments using the Arguments button. Note that you can
supply arguments as either constants or Isight parameter values.

c. Click the Add Macro button .


The macro is added to the list on the right side of the tab.

4. If necessary, modify the action execution order using the and buttons
below the Action Execution Order list.

5. Click the Save Excel file after execution check box if you’d like changes that
were made to the Excel file during execution to be saved. You can type the path
and file name into the corresponding text box, or you can click the Browse...
button and navigate to the file. By default, the current path and file name are
automatically added to the text box.

Isight Component Guide


Using the Excel Component 359

6. Click the File Parameter button if you’d like to include the file as an
output file parameter from the Excel component. This button toggles between a
depressed (active) and raised (disabled) position. The default setting for this button
is determined using the Excel component preferences as described in “Setting
Excel Component Preferences,” on page 364.

7. Click the Show Excel during execution check box at the bottom of the tab if you
want Excel to be visible when you execute your model.

8. Click the Close workbook check box if you want Excel to close the opened
workbook (when not selected, Excel and the workbook remain open after the
model is executed); then, use the corresponding drop-down list to determine when
Excel should close. The following options are available:

„ when job completes. This option closes the workbook after the entire Isight
execution is completed.
„ after each execution. This option closes the workbook after each execution of
Excel. Excel may be executed numerous times during a single job.
Note: You can set default behavior for this option using the component preferences
as described in “Setting Excel Component Preferences,” on page 364.

9. (optional) Click the More Options... button; then, set the following options as
desired.
„ Re-use open workbook of same name. Click this check box if you want the
component to use the same workbook that was open for a previous component
in the model. This option allows you to modify (or extract data from) the same
workbook. If this option is not selected, which is the default, each component
will open its own copy of the workbook.
„ Use a dedicated Excel process. By default, the Excel component will share a
single Excel application process among all instances of an Excel component,
whether they are in the same model or different models. Select this option if
you would like a separate Excel process to be started and dedicated to use for
this instance alone.
„ Automatically truncate large worksheets to show 500 rows. Click this
option to allow only the first 500 rows on any worksheet to be loaded into the
editor. This allows large spreadsheets to load more quickly. Note that this will

Isight Component Guide


360 Chapter 3 Using Activity Components

not allow you to select cells in rows beyond row 500 to define mappings, but
any mappings already defined will remain defined and will still execute.

10. Click OK to close the editor.

Setting Station Execution Permissions (Fiper


Environment Only)
If you are connected to an ACS in the Fiper environment, and executing Excel
components on a Fiper Station being run as a Windows service, you must launch and
execute permissions with Excel.

These steps are not necessary if you are executing using the standard Isight desktop
(Standalone) execution.

To set Excel permissions:


1. Click the Start button; then, click the Run... option. The Run dialog box appears.

2. Type dcomcnfg in the Open text box; then, click OK. The Component Services
dialog box appears.

Isight Component Guide


Using the Excel Component 361

3. Click Component Services on the left side of the dialog box. Folder options
appear on the right side of the dialog box.

4. Double-click the Computers folder; then, double-click the My Computer icon.


Additional folders appear.

Isight Component Guide


362 Chapter 3 Using Activity Components

5. Double-click the DCOM Config folder. The contents of the folder appear.

6. Right-click the Microsoft Excel Application icon; then, select Properties from
the menu that appears. The Microsoft Excel Application Properties dialog box
appears.

Isight Component Guide


Using the Excel Component 363

7. Click the Security tab. The contents of the tab appear.

8. Click the Customize radio button in the Launch and Activation Permissions area;
then, click the Edit... button. The Launch Permission dialog box appears.

9. Click the Add... button. The Select Users, Computers, or Groups dialog box
appears.

10. Type the necessary username (be sure to include the computer/domain name) in
the Enter object names to select text box.

Note: You can click the Check Names button to verify that the username you
entered is valid. You can also search for the name using the Advanced... button. If
the username you specify matches more than one known user, the Multiple Names
Found dialog box appears, allowing you to pick the exact user.
11. Click OK. You are returned to the Launch Permission dialog box, and the
username you entered now appears in the list at the top of the dialog box.
12. In the Permission for <username> area; click the following check boxes in the
Allow column:

„ Local Launch

„ Local Activation

13. Click OK. You are returned to the Microsoft Excel Application Properties dialog
box.

Isight Component Guide


364 Chapter 3 Using Activity Components

14. Click OK. You are returned to the Component Services dialog box.

15. Close the dialog box.

16. Proceed to “Starting the Editor and Selecting a Workbook,” on page 344 for
information on using the component.

Setting Excel Component Preferences


To set component preferences:

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.

2. Expand the Components folder on the left side of the dialog box; then, select
Excel.

The following preference options are available with the Excel component:

„ Default workbook close option. Determine the default behavior for the Excel
workbook that is referenced with the component. You can choose to leave the
workbook open after execution, or to close it after each execution of the
component or after the entire job completes.

„ Save workbook as an output file parameter after execution. If this option is


selected, any new Excel component added to a model will, by default, save the
modified workbook as an output file parameter of the component after
execution. This setting can be changed for any individual Excel component
instance using the button on the Advanced tab of the Excel
component editor.

Note: Selecting this option will increase the execution time for the Excel
component (by however long it takes Excel to save the workbook).
„ Run auto-macros when loading Add-ins. The Excel component will always
load any Excel Add-Ins that are installed in the Excel application; however, it
will not invoke any auto-macros for those Add-Ins unless this preference is
selected. An example in which running auto-macros for Add-Ins is required
would be if the Add-In added menu items to the Excel application (which is
done through macros).

Isight Component Guide


Using the Excel Component 365

Note: Selecting this option will increase the start-up time for the Excel
application when it is executed from the Excel component.

„ Truncate worksheets with numerous consecutive empty rows. Excel often


defines a much larger “Used Range” than what is actually used due to cell
formatting. Selecting this option will cause the component to stop reading the
worksheet after numerous consecutive empty rows are found, allowing it to
load into the editor much faster.

3. Click OK to save your changes and close the Preferences dialog box.

Using the Excel Component API


The Excel component provides an API for programmatically configuring the Excel
component using a Java program. For more information about APIs and how they use
keywords on generic get/set/add/call methods, see “Editing Component Properties,” on
page 25.

The API for the Excel component consists of the following methods:

„ set("workbook", File workbookFile). This method sets the Excel


workbook file to use.

„ add("mapping", String[] mappingInfo). This method adds a


mapping to the list of actions to be executed when the Excel component executes.
The mapping can be to or from a new or existing parameter and can be either a
single cell or a range of cells. The mapping will by default be inserted into the list
based on the direction specified - either as the last mapping into Excel or the last
mapping from Excel. The mappingInfo array must contain the following:

„ mappingInfo[0]. The name of the parameter to map. If the parameter does


not currently exist on the component, a new parameter will be created and
added to the component when apply() is called for this API instance.

„ mappingInfo[1]. The name of the Excel sheet within the current


workbook file to map to/from.

„ mappingInfo[2]. The cell(s) to map to/from (for example, B4 or A3:C6).

„ mappingInfo[3]. The direction of the mapping, either "1" to map TO


Excel or "2" to map FROM Excel.

Isight Component Guide


366 Chapter 3 Using Activity Components

„ getArray("mapping", String parameterName). This method allows


you to get the mapping info for any mapping that exists to/from the specified
parameter in the form of a string array. See the add("mapping", String[]
mappingInfo) description above for the definition of the mappingInfo[]
array contents that are returned.

„ get/set("closeoption"). This method allows you to get/set whether the


workbook should be closed or not after execution (either each time this component
executes or after the entire job completes). The integer value sent in when setting
should be 0 = never close, 1 = close after job, or 2 = close after each work item.

„ get/set("storeinmodel"). This method allows you to get/set whether or


not to store the workbook in the model. If false, the workbook will simply be
referenced from its current location and will be expected to exist when the
component executes.

„ get/set("visible"). This method allows you to get/set whether or not the


Excel application should be visible when the component executes.

Using the Fast Parser Component


Isight provides inputs for analysis programs and reads the outputs from analysis
programs to determine whether the desired goals have been reached. This process is
called file parsing. The Fast Parser helps convert models created in iSIGHT to Isight.
This section is divided into the following topics:

„ “Choosing a File Parsing Tool,” on page 367

„ “Accessing Fast Parser,” on page 368

„ “Using the Fast Parser,” on page 370

Isight Component Guide


Using the Fast Parser Component 367

Choosing a File Parsing Tool


There are three file parsing tools available in Isight:

„ Data Exchanger. The Data Exchanger is the original parser for Isight and Fiper.
The Data Exchanger supports directly parsing name/value files, tables of data, and
vectors of numbers, in addition to general text find/replace.
The Data Exchanger allows parsing instructions to be augmented with arbitrary
Java code via the Dynamic Java interpreter.
„ iSIGHT File Parser. The iSIGHT file parser (Advanced Parser) was the original
parser in iSIGHT. The iSIGHT File Parser uses a simplified language, similar to
TCL, to specify parsing instructions. The File Parser allows a fair amount of
programming to do complex parses.

„ Fast Parser. The Fast Parser was added to iSIGHT in release 8.0. This is a very
simple and fast parser, especially for inserting parameters into input files. While
the Fast Parser can read fixed-length columns of numbers, it has no programming
facilities to conditional or looping operations.

In general, the Data Exchanger is recommended for new models, as it is the most
powerful. The other two parsers exist mostly to ease converting iSIGHT models to
Isight - the same parsing instructions can be used in both models, and you can directly
import the parsing instructions or template files from an iSIGHT model into an Isight
model.

The Fast Parser is the easiest to use of the three parsers, and can rapidly read very large
output files if you are selecting text from only a small portion of the file. When
preparing input files, it can be much easier to use the Fast Parser than the other parsers
- you simply select the location to write the value and specify the parameter - no need
to specify how that location is found. It can also read (and, with limitations, write)
columns of numbers in one simple action. However, the numbers must be in the same
relative position on successive lines - there is no easy way to skip lines. Only
fixed-length columns can be handled.

This ease of use may be useful even for new models if the parsing fits within the Fast
Parser's limitations.

While the Fast Parser can handle files of unlimited size at runtime, the editor can
handle about a 4.5 MB template file. To read larger files, you have to use an external

Isight Component Guide


368 Chapter 3 Using Activity Components

editor to edit the file down to just the sections of interest, and use the smaller file as the
template.

The iSIGHT File Parser is useful if you are already familiar with it from using iSIGHT.
You’ll find that the General Text tool in the Data Exchanger can do most everything
the iSIGHT File Parser does.

It is possible to mix the parsers in the same model - using the Data Exchanger, iSIGHT
File Parser, and Fast Parser components. You can also use any of the parsers in the
Simcode component, though a given Simcode can use only one of the parsers and must
use the same parser type for the input and output parse. By mapping a file parameter
between parsing components, you can even process the same file using multiple
parsers, taking advantage of what each parser does best. For example, you can prepare
a portion of an input file using Advanced Parser and then insert it into Fast Parser using
the Include File option. On the output side, you can extract part of the output data using
Fast Parser and part using the iSIGHT File Parser.

Accessing Fast Parser


Fast Parser embeds parsing instructions directly into copies of your simulation input
and output files. Fast Parser is accessed via Input and Output blocks.

To access Fast Parser:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide.

Isight Component Guide


Using the Fast Parser Component 369

The Fast Parser editor appears.

2. Click the Mode drop-down arrow to select Input or Output.

3. Depending on the mode you selected, click the Load Input File or Load Output
File button to select the file to read/write from.

You are prompted to make a copy of this file to use as the template file. If you
select Yes, then you can begin using the Fast Parser. If not, then you must click the
Load Template File button to locate the existing template file.
4. Proceed to “Using the Fast Parser,” on page 370.

Isight Component Guide


370 Chapter 3 Using Activity Components

Using the Fast Parser


This section is divided into the following topics:

„ “Defining a Tag” on this page

„ “Defining a Marker,” on page 374

„ “Including a File in Your Template File,” on page 375

„ “Setting Delimiters,” on page 376

„ “Deleting a Tag,” on page 377

Defining a Tag
You can specify both input and output tags using Fast Parser. For more information,
see one of the following topics:

„ “Creating an Input Tag,” on this page

„ “Creating an Output Tag,” on page 372

Creating an Input Tag


The location of the tag in the template determines the location of the parse. For input
files, it is based on line and word location. Input tags are used to insert parameter
values as specified by Isight into a file that is being prepared, usually an input file to
your simulation code.

To define an input tag using the Fast Parser:

1. Highlight the item that you want to tag.

2. Click the button.

Isight Component Guide


Using the Fast Parser Component 371

The Edit Tag dialog box appears.

3. Specify the parameter for the tag using one of the following methods:
„ Type the name of the parameter in the Parameter Name text box to create a
new parameter.
„ Select an existing parameter using the corresponding drop-down list.

Note: Parameter names must be alphanumeric (i.e., no spaces or underscores).

4. Specify the Substitution Type for the tag. The following options are available.
„ Scalar.

„ Array Element. When this option is selected, a text box appears that allows
you to specify the Array Index.

„ Array Column. This option writes the contents of an array in Isight as a


column of values in the file. When selected, two text boxes appear that allow
you to specify the Initial Array Index and Final Array Index.

Note: For this substitution type, you tag the top of the column.

„ Multiple Values. A Multiple Value input substitution means you want to


insert into every value of a column the same number. When this option is
selected, two text boxes appear. The first text box allows you to specify the
Array Index. The second text box allows you to specify the Number of
Values. If you select Multiple Values, the Number of Values option indicates
the number of rows to fill in with the tagged value.

Note: For this substitution type, you tag the top of the column.

Isight Component Guide


372 Chapter 3 Using Activity Components

5. (optional) Specify the Substitution Format for the tag. The following options are
available:

„ Integer. Formats the number as an integer.

„ Double. Formats the number as a double precision real.

„ Exponential. Formats the number in exponential notation (for example,


1.23e+004).

„ Best Fit. Formats the number using the best fit format depending on its value
(it may be written as an integer or as a real).
6. Specify the number of characters allowed by the format in the Max Field Width
text box; then, specify the number of digits after the decimal point in the Precision
text box, if it is available.

7. Click the Leading Plus check button if you want a plug sign (+) to appear in your
input text file before the positive numbers in your tag.

8. Click the Left Justify check button if you want the numbers in your tag to be left
justified in your input text file. Numbers are right justified by default.

9. Click OK to save your tag information and return to the Fast Parser editor.

Creating an Output Tag


The location of the tag in the template determines the location of the parse. For output
files, it is additionally based on location relative to the last marker. Thus, on the output
side, templates can be just small portions of the actual file from which they are
extracting data. Output tags are used to extract parameter values from a file that is
being parsed and send them back to Isight, usually for an output file to your simulation
code.

To define an output tag using the Fast Parser:


1. Highlight the item that you want to tag.

2. Click the button.

Isight Component Guide


Using the Fast Parser Component 373

The Edit Tag dialog box appears.

3. Specify the parameter for the tag using one of the following methods:
„ Type the name of the parameter into the Parameter Name text box to create a
new parameter.
„ Select an existing parameter using the corresponding drop-down list.

Note: Parameter names can only be alphanumeric (i.e., no spaces or underscores).

4. Specify the Substitution Type for the tag. The following options are available:
„ Scalar.

„ Array Element. When this option is selected, a text box appears that allows
you to specify the Array Index.

„ Array Column. Using this option means that you want to extract every value
of the column into its own Isight parameter. When selected, two text boxes
appear that allow you to specify the Initial Array Index and the Final Array
Index.

Note: For this substitution type, you tag the top of the column.

„ Multiple Values. Using this option means you want to extract either the last,
min, max, min(abs), max(abs), sum, or average value of multiple tags into a
single Isight parameter. When this option is selected, two text boxes appear.
The first text box allows you to specify the Array Index. The second text box
allows you to specify the Number of Values.

Isight Component Guide


374 Chapter 3 Using Activity Components

If you select Multiple Values, the Number of Values option indicates the
number of rows to fill in with the tagged value.
Note: For this substitution type, you tag the top of the column.

5. (optional) Specify the Substitution Format for the tag. The following options are
available:

„ Integer. Formats the number as an integer.

„ Double. Formats the number as a double precision real.

„ Exponential. Formats the number in exponential notation (for example,


1.23e+004).

„ Best Fit. Formats the number using the best fit format depending on its value
(it may be written as an integer or as a real).

6. Specify the maximum number of characters allowed in the format using the Max
Field Width text box.

7. Specify the failed run value in the Failed Parse Value text box. This value gets
sent back to Isight when a run fails to produce an output value to be parsed. For
example, you might use this to send back a bad objective function value when a
simulation code fails to analyze a particular design point.

8. (Multiple Values option only) Use the Multiple Extractions drop-down list to tag
multiple outputs with the same variable name, and return to the parameter file
either the last one read, the minimum, the maximum, the minimum absolute value,
the maximum absolute value, the sum, or the average.
9. Click OK to save your tag information and return to the Fast Parser editor.

Defining a Marker
Markers are used to help tags locate output variables. Once a marker is inserted, the tag
following the marker uses it. The location of all subsequent tags is relative to the
nearest marker above it.

Note: Markers are only available for output parses.

Isight Component Guide


Using the Fast Parser Component 375

To define a marker:

1. Highlight the item that you want to use as a marker.

2. Click the button. The Edit Marker dialog box appears.

3. Specify the search criteria for the marker. The following options are available:

„ Last Tag. This option searches for the marker of interest starting at the last tag
in the output file.

„ Beginning of File. This option searches for the marker of interest starting at
the beginning of the file.

4. Use the Find Marker occurrence # text box to find the nth occurrence of a
marker and start parsing from that point. For example, you could search for the
12th occurrence of the word “stress” and extract data from that point forward.

5. Click OK to save your marker and return to the editor.

Including a File in Your Template File


You can embed a separate file in your template file using the Fast Parser. This option
has several uses. Maybe an output file from an upstream simulation is exactly part of
an input file downstream. If so, you can just insert it into your template file. Maybe you
want to create different templates for different parts of an input file and then include
them all together in a main template. This setup is common in finite element analysis
where you might have a geometry template, a loads template, etc. Also, you could
prepare part of a file using the iSIGHT File Parser and then include in a Fast Parser
template.

Note: This option is only available with input parses.

Isight Component Guide


376 Chapter 3 Using Activity Components

To include a file in your template file:

1. Place the cursor in the area of the template file where you'd like to include the
outside file.

2. Click the button. The Edit Include dialog box appears.

3. Enter the path and name of the file in the Include File text box; or, click the
Browse... button to navigate to the file. The name of the file appears in the Include
File text box.

4. Click OK. The file is added to the specified location in the Fast Parser template
file.

Setting Delimiters
You can specify the characters used in an output parse to separate words. The Fast
Parser supports spaces, tabs, and commas.

To set a delimiter:

1. Place the cursor at the location where you want to begin using the delimiter.

2. Click the button.

Isight Component Guide


Using the Fast Parser Component 377

The Edit Delimiter dialog box appears.

3. Click the text box beside the delimiter you want to use (Spaces, Tabs, Commas).

4. Click OK. The set delimiter command is added to the file.

5. (optional) Repeat step 1 through step 4 to set additional delimiters.

Deleting a Tag
You can remove any tag from the Fast Parser, including tags, markers, included files,
or delimiters.

To delete a tag:
1. Click the tag you want to delete to select it.

2. Perform one of the following options:

„ Click the button.

„ Right-click the tag; then, select Delete from the menu that appears.
The tag is deleted.

Isight Component Guide


378 Chapter 3 Using Activity Components

Using the iSIGHT Component


The iSIGHT component allows you to execute previously created iSIGHT description
files in your Isight models.

For additional information on iSIGHT, refer to the iSIGHT User’s Guide. This book is
included on the iSIGHT 10.0 CD. The iSIGHT component is only supported in
iSIGHT 9.0.5 or higher. It is recommended that you have iSIGHT 10.0 installed to use
this component.

This section is divided into the following topics:

„ “Understanding Component Limitations,” on this page

„ “Setting the Component Options,” on page 379

„ “Setting File Parameter Information,” on page 384


„ “Changing the Isight Default Execution Directory,” on page 391

Understanding Component Limitations


The following limitation should be noted prior to using the iSIGHT component. The
component does not guarantee support for execution when the temporary execution
directory contains spaces, semicolons (;), or ampersands (&). While many iSIGHT
description files are known to execute properly when directories contain spaces, all
combinations of options have not been tested. On Windows, the default temporary
directory for Isight execution is in the “Documents and Settings” directory, which
contains spaces. For information on how to change this directory setting, see
“Changing the Isight Default Execution Directory,” on page 391.

Isight Component Guide


Using the iSIGHT Component 379

Setting the Component Options


To use the iSIGHT component:

1. Double-click the component icon to start the component editor. For more
information on inserting components, and accessing component editors, refer to
the Isight User’s Guide. The Component Editor dialog box appears.

Important: If you receive a message stating that iSIGHT must be installed to use
the iSIGHT component, iSIGHT is not currently installed in the system path. You
must install iSIGHT in the system path for Isight to use this component.

2. Click the Browse... button to select the description file you want to use. The Select
Description File dialog box appears.

Isight Component Guide


380 Chapter 3 Using Activity Components

3. Select the description file you want to use; then, click Open. The description file’s
parameters are displayed. This example is using the beamMin.desc file.

4. (optional) Click the Edit... button to set the description file’s file parameter
settings. The description file information is saved as an Isight file parameter so that
it can be mapped from one component to another. For more information on these
settings, see “Setting Input File Parameter Information,” on page 384. For more
information on parameter mapping, refer to the Isight User’s Guide.
5. Use the iSIGHT Run Mode button to set the desired run mode. For more
information on these modes, refer to the iSIGHT User’s Guide.

6. Select the parameters that you want to expose as Isight parameters in your model
by clicking the corresponding check boxes. You can select all user-defined
parameters in a list using the Select All button at the bottom of the column.

Note: Parameters shown with a gray background color are iSIGHT-specified


parameters.

Isight Component Guide


Using the iSIGHT Component 381

7. Click the Support Files tab. The contents of the tab appear.

8. Specify the support files for iSIGHT in the area on the left side of the tab:

„ To add a file, click the button. The file parameter wizard appears, which
helps you specify the support file you need. After it is specified, the file is
displayed on the tab. For more information on using this wizard, refer to the
Isight User’s Guide.

„ To delete a file, select the file you want to delete; then, click the button.
You can select multiple files to delete at once.

„ To change a file’s settings, select the file whose information you wish to alter;
then, click the Edit... button. The Configure File dialog box appears. The
settings for each support file are saved as an Isight file parameter so that they
can be mapped from one component to another. For more information on these
settings, see “Setting Input File Parameter Information,” on page 384. For
more information on parameter mapping, refer to the Isight User’s Guide.

Isight Component Guide


382 Chapter 3 Using Activity Components

9. Specify the files to be read from iSIGHT in the area on the right side of the tab:

„ To add a file, click the button. The file parameter wizard appears, which
helps you specify the support file you need. After it is specified, the file is
displayed on the tab. For more information on using this wizard, refer to the
Isight User’s Guide.

„ To delete a file, select the file you want to delete; then, click the button.
You can select multiple files to delete at once.
„ To change a file’s settings, select the file whose information you wish to alter;
then, click the Edit... button. The Configure File dialog box appears. The
settings for each output file are saved as an Isight file parameter so that they
can be mapped from one component to another. For more information on these
settings, see “Setting Output File Parameter Information,” on page 388. For
more information on parameter mapping, refer to the Isight User’s Guide.

10. Click the Description File tab. The description file is shown in MDOL format.

11. Review the file in MDOL, if desired.

Note: No changes can be made to the MDOL from this tab.

Isight Component Guide


Using the iSIGHT Component 383

12. Click the Execution Options tab. The contents of the tab appear.

13. Set the available execution options, as desired:

„ Retry iSIGHT license check ... times, at intervals of .... This option allows
you to set the component to check for an available iSIGHT license after a
specific number of minutes or seconds. You would want to set this option
when the number of iterations exceeds the number of licenses you have. For
example, if you wish to run an iSIGHT component inside of a DOE
component, and the task will run 200 iterations but you only have 10 licenses,
the task run may fail because you have run out of licenses. You can avoid this
problem by retrying the license check, which allows you to take advantage of
iSIGHT’s 10x parallelism instead of having the job run sequentially.

„ Show iSIGHT during execution. This option is useful only for demos and
gaining access to iSIGHT’s Oversight graphics application after a run. It
allows you to set whether or not iSIGHT appears when the component is
executed. Do not use this option unless you set the affinities to run the job on
your workstation.

„ Close iSIGHT after execution. This option allows you to specify whether or
not you want to keep iSIGHT open after execution, if you have set iSIGHT to
be shown during execution. Do not use this option unless you set the affinities
to run the job on your workstation.

„ Reinitialize iSIGHT for each execution. This option is useful for ensuring
that data from previous runs does not influence the next run. It allows you to

Isight Component Guide


384 Chapter 3 Using Activity Components

update parameter information from the previous execution prior to the next
execution of the component.

14. Click OK to close the editor.

Setting File Parameter Information


Several locations on the component editor (represented by Edit... buttons) allow you to
access file parameter information. This information can be manipulated directly from
the component editor or from the Design Gateway Files tab. For more information on
using the Files tab, refer to the Isight User’s Guide.

This section is divided into the following topics, based on the type of file parameter
you are using:

„ “Setting Input File Parameter Information” on this page

„ “Setting Output File Parameter Information,” on page 388

Note: If you are not sure as to the type of file parameter you are using, refer to the text
and graphic at the top of the Configure File dialog box. It discusses the parameter type
and shows a graphic representation of how the parameter is used.

Setting Input File Parameter Information


To set input file parameter information from the component editor:

1. Access the Configure File dialog box by clicking one of the Edit... buttons on the
component editor. These buttons are available adjacent to the Description File text
box and on the Support Files tab.

Isight Component Guide


Using the iSIGHT Component 385

The Configure File dialog box appears.

The Source area configures the source of the data. For a mapped input file
parameter, this information is overridden by parameter mapping. It may still be
convenient to configure a data source, just in case the user runs this component
alone (not as part of a larger workflow).

2. Click the Location drop-down list; then, select one of the following four options
for the data source:

„ <None>. The data source is not configured. This setting is the default for new
input file parameters. Having no configuration is normal for a file that will be
mapped from another component in the workflow. If such a file parameter is
not mapped, or the component is run by itself, the component receives an
empty file.

„ File. The data is stored in a regular file on the file system. The Name text box
holds the base name of the file, excluding all directory path information. You
can click the Browse... button to navigate to the file you want to use. The Path
text box holds an expression which defines the directory path of the file.

Isight Component Guide


386 Chapter 3 Using Activity Components

The meaning of this expression is determined by the setting of the Options list
described below:
• Absolute path. The Path text box holds the actual name of the directory
containing the named file, in absolute path form. The system will try to
access the file under this directory at runtime; usually this works only when
running locally or when the directory is on a shared file system. This is the
default for inferred input file parameters. This type of file parameter is not
safe for distributed or parallel execution.
• Runtime directory. The Path text box holds the substitution key
{rundir}, an expression designating the component’s runtime working
directory. You may add subdirectories to this expression. At runtime, the
expression is replaced with the actual current working directory, and the
system will try to access the file there.
• Model directory. The Path text box holds the substitution key
{modeldir}, an expression designating the directory containing the
model file which declares this component. You may add subdirectories to
this expression. At runtime, the expression is replaced with the actual
directory that contains the model file (if there is a model file), and the
system will try to access the file there. This type of file parameter is not
safe for distributed or parallel execution.
• Shared file system. The Path text box holds a substitution key {root
root-name}, where root-name is a symbolic root defined in the user
preferences or in a Fiper Station properties file. This option is used when
the file is on a shared file system that is mounted in different places on
different machines. You may add subdirectories to this expression. At
runtime, the system obtains the definition (if any) of this expression (for
example, from the Fiper Station environment to which the component was
dispatched); then the expression is replaced with the defined directory, and
the system will try to access the file there. For more information, refer to
the Isight User’s Guide.
Click in the Name or Path text box to specify the insertion point for a
parameter substitution. Select a parameter from the Parameters drop-down
list. A properly formatted parameter substitution key {var parameter-name}
is inserted into the selected location.

Note: At runtime, the system substitutes the pre-execution value of the


parameter into the path and filename of the file and tries to access the file via
the resulting name.

Isight Component Guide


Using the iSIGHT Component 387

„ In Model. The contents of the file will be stored inside the Isight model. Isight
takes care of transferring the data to where the component is being executed.
This option is the most convenient because it eliminates any concerns about
shared file systems or parallel execution. Model files, however, are limited in
size. Generally in-model files should not be larger than a few hundred
thousand characters (about 2000 lines). The absolute limit is dependent on the
amount of available memory, but is usually around 5 MB. Click the Reload
From... button to select the file to be copied into the model, or to re-load a
modified file into an existing model.
„ URL. Allows you to specify a file residing on a server. All forms of URLs
supported by Java may be used, though http: is the most common form. You
may specify the amount of time to wait for the server to respond, or “0” to wait
until the underlying protocol times out. Note that a URL type file parameter
with a file: URL is equivalent to a File-type file parameter.

3. Click the Preview… button (at the bottom of the Read From area) to display the
contents of the selected file. For In Model file parameters, the contents of the file
can be edited from the Preview dialog box; for other types it cannot be edited.

4. Specify the file type using the corresponding drop-down list. You can specify a file
as Binary or Text.

Note: The iSIGHT component editor conservatively sets the file type of all
inferred input file parameters to binary. For most iSIGHT applications it may be
helpful for most of these file types to be reset to text.
5. (For Text files only) Click the Encoding drop-down list; then, specify the
encoding to use when converting between bytes and characters. In a Locale (a
system setting that includes the language, number formats, and character set in
use) that uses multi-byte characters (Japanese, Chinese, Korean), there is a default
encoding used to convert bytes into characters. Most text files will be written using
this encoding, but sometimes it is necessary to specify this encoding.

Note: The Encoding drop-down list only appears if you have selected the Show
File Type encoding on the Files Tab option from the Preferences dialog box. For
additional information on preference options, refer to the Isight User’s Guide.

Isight Component Guide


388 Chapter 3 Using Activity Components

6. Select one of the following options from the Destination area of the Files tab.
These options allow you to choose where the data will be put while the component
runs:

„ Fixed file name. This option should be used if the component expects its input
in a specific place. Fill in the file name in the text box provided, or browse to
the file you want. Normally, this will be a simple file name with no path,
indicating a file in the runtime working directory. An absolute path may be
used in the odd case of a program that demands that its input be in a specific
directory, though such a file parameter is not safe for parallel or distributed
execution.

„ Automatic. This option is used most often. When activated, the Isight system
assigns a name to the file and passes that name to the component.

7. Click OK to save your changes and return to the component editor.

Setting Output File Parameter Information


To set output file parameter information from the component editor:
1. Access the Configure File dialog box by clicking the Edit... button on the Support
Files tab, below the Output Files list. The Configure File dialog box appears.

As for Input file parameters, the bottom of the Files tab for an Output file
parameter has Source and Destination areas.

2. Specify the file name information in the Name and Path text boxes. The data is
stored in a regular file on the file system. The Name text box holds the base name
of the file, excluding all directory path information. You can click the Browse...

Isight Component Guide


Using the iSIGHT Component 389

button to navigate to the file you want to use. The Path text box holds an
expression which defines the directory path of the file; the meaning of this
expression is determined by the setting of the Options list as described below:

„ Absolute path. The Path text box holds the actual name of the directory
containing the named file, in absolute path form. The system will try to access
the file under this directory at runtime. An absolute path can be used in the odd
case of a program that insists on writings its output to a specific directory. This
type of file parameter is not safe for distributed or parallel execution.

„ Runtime directory. The Path text box holds the substitution key {rundir},
an expression designating the component’s runtime working directory. You
may add subdirectories to this expression. At runtime, the expression is
replaced with the actual current working directory, and the system will try to
access the file there. This is the default for inferred output file parameters.

„ Model directory. The Path text box holds the substitution key {modeldir},
an expression designating the directory containing the model file which
declares this component. You may add subdirectories to this expression. At
runtime, the expression is replaced with the actual directory that contains the
model file (if there is a model file), and the system will try to access the file
there. This type of file parameter is not safe for distributed or parallel
execution.

„ Shared file system. The Path text box holds a substitution key {root
root-name}, where root-name is a symbolic root defined in the user
preferences or in a Fiper Station properties file. This option is used when the
file is on a shared file system that is mounted in different places on different
machines. You may add subdirectories to this expression. At runtime, the
system obtains the definition (if any) of this expression (for example, from the
Fiper Station environment to which the component was dispatched); then the
expression is replaced with the defined directory, and the system will try to
access the file there. For more information, refer to the Isight User’s Guide.

The File name text box may be left blank. However, Isight will assign a name
for the output file and pass that name to the component during execution.

3. Specify the file type using the corresponding drop-down list. You can specify a file
as Binary or Text.

Isight Component Guide


390 Chapter 3 Using Activity Components

Note: The iSIGHT component editor conservatively sets the file type of all
inferred output file parameters to binary. For most iSIGHT applications it may be
helpful for most of these type of files to be reset to text.

4. (For Text files only) Click the Encoding drop-down list; then, specify the encoding
to use when converting between bytes and characters. In a Locale (a system setting
that includes the language, number formats, and character set in use) that uses
multi-byte characters (Japanese, Chinese, Korean), there is a default encoding used
to convert bytes into characters. Most text files will be written using this encoding,
but sometimes it is necessary to specify this encoding.

Note: The Encoding drop-down list only appears if you have selected the Show
File Type encoding on the Files Tab option from the Preferences dialog box. For
additional information on preference options, refer to the Isight User’s Guide.

5. In the Destination area, specify where the data will be put after the component
finishes running. The following three options are available in this area:
„ Fiper File Manager. Isight takes care of storing the contents of the file as part
of the run results. This option is the simplest one, and it is the default. There is,
however, a limit to the size of a file saved this way; usually the limit is around
4 MB. The data is physically stored in the Run Results database.

„ Specific location. The data is copied from the working directory to the
specified location. This setting must be an absolute path, since there is no
concept of a “working directory” after the component finishes executing. The
file name substitutions described in the Isight User’s Guide can be used to file
the data in locations of your choice. If there are no substitutions, the same file
will be written by every run and the model is not safe for parallel execution.
Note: If the File Name text box in the Read From area is left empty and the
Specific location option is selected, the data will not be written to the runtime
working directory. Instead, the absolute path described in the Write To area
will be passed to the component, and the component can write the data directly
to the specified location. This option is more efficient for very large output
files, though it can be difficult to configure for parallel and distributed
execution.
„ None. The data is not copied after the component executes. Instead, the
absolute path to the Read From area is stored in the results database. If the
Read From name is a simple file name (not an absolute path), the data is
written to the working directory, which is normally deleted after the

Isight Component Guide


Using the iSIGHT Component 391

component finishes executing. In this case, the file is effectively discarded


after the component executes, and cannot be mapped to subsequent
components or viewed from the Runtime Gateway.

Note: Files in the runtime working directory cannot be mapped to subsequent


components using the None option, even if the Keep Execution Directory
property is checked. In order to use this option with file mapping, the Read
From location must be an absolute path or a relative path on a shared file
system.
If the Read From name is an absolute path, the component will presumably
write to this location and Isight will pass the location on to subsequent
components. This behavior is equivalent to the case of the note under the
Specific Location option above; the component writes directly to an absolute
path and Isight never copies the data.
6. Click OK to save your changes and return to the component editor.

Changing the Isight Default Execution Directory


To change the default Isight execution directory (to eliminate any “directories with
spaces” problems), perform one of the following actions:

„ Change the TEMP environment variable on your system so that it points to a


directory that doesn’t contain spaces or special characters (; or &).

Important: If multiple users access your system, changing environment variables


will affect each user. It is recommended that you contact your local system
administrator before changing your variable settings.

„ Edit the Isight startup file (fiperenv) as described below (based on your
operating system):

„ Windows: Open the <Isight_install_directory>\bin\win32\ fiperenv.bat


file; then, locate the line containing the following string:
-Dfiper.system.temp. Change the setting to a directory that doesn’t
contain spaces; then, save and close the file.

„ UNIX/Linux: Open the <Isight_install_directory>/bin/


fiperenv file; then, locate the line containing the
-Dfiper.system.temp string. Change the setting to a directory that
doesn’t contain spaces; then, save and close the file.

Isight Component Guide


392 Chapter 3 Using Activity Components

Note: If you are submitting your job to run through an ACS in the Fiper environment,
the temporary directory you see at design time has no bearing upon the temporary
directory that exists at runtime. The runtime directory is determined by the individual
Fiper Station installations. You will receive warnings for each execution of the
iSIGHT component if it executes on a Fiper Station whose temporary directory
contains spaces. For more information on using Fiper Stations, refer to the Fiper
Installation and Configuration Guide that matches your ACS combination.

Using the iSIGHT File Parser Component


When working with other programs or components in Isight it is sometimes necessary
to use the Data Exchanger to move parameter values to and from a file. In iSIGHT,
similar work was performed by the Advanced Parser and Fast Parser. The iSIGHT File
Parser component is now available to aid in the importing of models and programs that
make use of the older parsers or in the creations of new ones.

Currently, the iSIGHT File Parser component only allows you to make use of the
Advanced Parser in iSIGHT. File Description Command (FDC) files and the
instruction segments of description files can be used to move data between Isight
parameters and files.

This section explains how to make use of pre-existing parses and how to edit them.
While it is possible to create new parses with this component, this feature is not
covered, in detail, in this section. For more information regarding the workings of the
FDC files, refer to the iSIGHT User’s Guide.

This section is divided into the following topics:

„ “Overview of the Component Editor,” on page 393

„ “Understanding Terminology,” on page 394

„ “Opening the Editor and Determining Usage,” on page 395

„ “Importing an Existing Parse,” on page 396


„ “Using the Component Editor to Create a Parse,” on page 406

Isight Component Guide


Using the iSIGHT File Parser Component 393

„ “Updating an Imported Parse,” on page 406

„ “Building a Simcode,” on page 407

Overview of the Component Editor


The component editor has two views. The view that you see is based on the type of
parse you are creating or editing. The following example shows how the editor appears
when working with an input parse.

The following items comprise the editor:

„ Type Chooser. This area, in the top left corner of the editor, determines the mode
of the parse (input or output). Any bi-directional code is handled internally and
does not have to be specified.

„ Actions. This group of buttons, in the upper right corner of the editor, provides the
basic commands available to the user to produce, edit, and test the parse.

Isight Component Guide


394 Chapter 3 Using Activity Components

„ Necessary Files. This area, on the left side of the editor and divided into tabs,
displays the files that are required and constitute the parse. These files can be
selected or created, edited, or viewed.

„ Isight Parameters. This area, on the right side of the editor, displays a list of the
parameters that the component deems necessary for the parse. The parameters are
placed into the component so that Isight has access to them.

Understanding Terminology
A simcode consists of a flow of parameters into an input parser. This flow produces a
file which is the input for an OS Command component. This component has a file as an
output that is used by the output parse to return parameters back to Isight. The
following terminology for individual parse types is used with Isight:

„ Template. The file, used with input parses, that indicates the format for the
produced file.

„ Input FDC. The file, used with input parses, that describes how the parameters
should be written to the produced file.

„ Produced. The file that is better known as the input file, because it is the file that is
created by the parse that is used as the input for some other component (typically
OS Command in Isight).

„ Input Parameters. The parameters whose values come from Isight and are placed
into the produced file.

„ Output. The file, used with output parses, that was produced by another component
(typically OS Command in Isight) and that is used as input for the current parse.

„ Output FDC. The file, used with output parses, that describes how to get the
parameters from within the output file.

„ Output Parameters. The parameters whose values come from the output and are
brought into Isight.

Isight Component Guide


Using the iSIGHT File Parser Component 395

Opening the Editor and Determining Usage


When you initially open the component editor, a wizard appears, allowing you to
determine how you will import or create your parse, and the type of parse you are
creating.

To open the editor and determine your parse:

1. Double-click the component icon to start the component editor. For more
information on inserting components and accessing component editors, refer to the
Isight User’s Guide. The iSIGHT File Parser Component Wizard dialog box
appears.

The wizard is the first thing to appear when you open the editor of a newly added
component. The initial screen presents you with three choices to determine how
you will import or create your parse.

Isight Component Guide


396 Chapter 3 Using Activity Components

2. Determine how you want to obtain your FDC file. The following options are
available:

„ Use an existing FDC located in an iSIGHT Description File. Proceed to


“Importing a Parse from a Description File,” on page 396 for more information
on using this option.
„ Use an existing FDC located in an iSIGHT FDC File. Proceed to “Importing
a Parse from an FDC File,” on page 400 for more information on using this
option.

„ Create a new FDC via an editor. Proceed to “Creating a New Parse using
iSIGHT’s Advanced Parser,” on page 405 for more information on using this
option.

Importing an Existing Parse


There are several ways to import a single parse into Isight. You can use the
component’s wizard to perform any of the following actions:

„ “Importing a Parse from a Description File” on this page

„ “Importing a Parse from an FDC File,” on page 400

„ “Creating a New Parse using iSIGHT’s Advanced Parser,” on page 405

You can also use the component editor itself to create or import a parse. For more
information, see “Using the Component Editor to Create a Parse,” on page 406.

Importing a Parse from a Description File


A description file (*.desc) is an MDOL-based file used by iSIGHT to build a design.
Within these files are segments where entire parses are defined. By selecting a
description file, you are given the names of these parses and their contents.

Isight Component Guide


Using the iSIGHT File Parser Component 397

To import a parse from a description file:

1. Access the component wizard and select the appropriate option as described in
“Opening the Editor and Determining Usage,” on page 395.

2. Click Next. The Select a description file screen appears.

3. Click the Browse button; then, specify the description file that contains the parse
you want to use.

Isight Component Guide


398 Chapter 3 Using Activity Components

4. Click Next. The Select a FDC from the list below screen appears.

Within description files are segments where entire parses are defined. After
selecting a description file, you are given the names of the parses within the
description file and their contents.

5. Click the parse you want to use on the left side of the screen. Information about the
parse is displayed on the right side of the screen.

Isight Component Guide


Using the iSIGHT File Parser Component 399

The wizard uses the description file to fill in the component as best as it can. Also,
any files listed are provided, and the component will attempt to determine all of the
necessary parameters.

6. Click Finish. The component editor appears.

7. Perform any of the following actions, as desired:

„ Click the button to reopen the wizard.

„ Click the button to open the iSIGHT Advanced Parser interface. For more
information, see “Creating a New Parse using iSIGHT’s Advanced Parser,” on
page 405.

„ Click the button to view the parse, if you are working with an input parse.
If all of the necessary information is present (FDC file, template, parameters
with desired values, etc.) then the Produced tab displays what the file would
look like for the parse. If a produced file is not specified, the parse is still
previewed, however, you are warned that you need to specify the file before
execution. If you are working with an output parse, and all the necessary
information is present (the “output” file is populated with the desired

Isight Component Guide


400 Chapter 3 Using Activity Components

values/info, FDC file, as well as the parameters that you expect to get back
from the parse), then the preview enters the values of the parameter table.

„ Manually alter the parse or its parameter settings. For more information, see
“Updating an Imported Parse,” on page 406.

Importing a Parse from an FDC File


A FDC file (*.fdc) is a file that consists of commands written in the File Description
Language. This type of file requires supporting files to work, and the particular files
are determined by the type of parse. Therefore, for an input parse, you must choose the
FDC file itself, and specify the file name (or actual file on disk) that it will produce.
You may also choose the template file that is required by this FDC.

To import a parse from an FDC file:

1. Access the component wizard and select the appropriate option as described in
“Opening the Editor and Determining Usage,” on page 395.

2. Click Next. The Select a parse mode screen appears.

Isight Component Guide


Using the iSIGHT File Parser Component 401

3. Select one of the following mode options:

„ Input. An input parse takes the variables and their values in Isight and makes
use of the FDC instructions to produce a file that is used as an input for a
particular program. If this parse is bi-directional, it will also make changes to
the variables values.

„ Output. An output parse takes the output file of a particular program and
makes use of the FDC instructions to extract the Isight variables and their
values. If this parse if bi-directional, it will also make use of some variables
and their values in Isight.

4. Click Next. The Select the FDC from a file screen appears.

Isight Component Guide


402 Chapter 3 Using Activity Components

5. Click the Browse button; then, specify the FDC file you want to use. Information
about the parse appears on the right side of the screen.

6. Edit the parse, if desired; then, click Save. If you do not want to save your changes,
click Cancel.

7. (Input parses only) Click Next. The Select a Template from a file screen appears.

The template file is optional when writing an FDC, but is still very common and
should be included if available.

Isight Component Guide


Using the iSIGHT File Parser Component 403

8. (Input parses only) Click the Browse button; then, specify the FDC file you want
to use. Information about the file appears on the right side of the screen.

9. Click Next. The Select the “Input/Output File” from a file screen appears. The
exact title of this screen varies depending on the type of parse you selected in
step 3.

10. Click the Browse button; then, specify the output file you want to use. Information
about the file appears on the right side of the screen.

11. Edit the output file, if desired; then, click Save. If you do not want to save your
changes, click Cancel.

Isight Component Guide


404 Chapter 3 Using Activity Components

12. Click Finish. The component editor appears.

13. Perform any of the following actions, as desired:

„ Click the button to reopen the wizard.

„ Click the button to open the iSIGHT Advanced Parser interface. For more
information, see “Creating a New Parse using iSIGHT’s Advanced Parser,” on
page 405.

Isight Component Guide


Using the iSIGHT File Parser Component 405

„ Click the button to view the parse, if you are working with an input parse.
If all of the necessary information is present (FDC file, template, parameters
with desired values, etc.) then the Produced tab displays what the file would
look like for the parse. If a produced file is not specified, the parse is still
previewed, however, you are warned that you need to specify the file before
execution. If you are working with an output parse, and all the necessary
information is present (the “output” file is populated with the desired
values/info, FDC file, as well as the parameters that you expect to get back
from the parse), then the preview enters the values of the parameter table

„ Manually alter the parse or its parameter settings. For more information, see
“Updating an Imported Parse,” on page 406.

Creating a New Parse using iSIGHT’s Advanced Parser


You can create a brand new parse to suit your needs. There are two options to this ends.
If there is a working copy of at least iSIGHT 8.0.3 on your local machine, then you can
run the File Parser from the component and anything that you do and save in that
program will end up in the Isight model. If this is not available to you, you may instead
use the simple text editors located in the component.

To create a new parse:

1. Access the component wizard and select the appropriate option as described in
“Opening the Editor and Determining Usage,” on page 395.

2. Click Next.

If you have iSIGHT installed on your system, an iSIGHT file parser is available
screen may appear.

3. Determine the type of parse you want to create (input or output) using the options
near the bottom of the screen.

4. Click Finish to launch the iSIGHT Advanced Parser. Once you have completed
the new parse, it will be added to the Isight File Parser component. For more
information on using the iSIGHT Advanced Parser, refer to the iSIGHT User’s
Guide that was included with your iSIGHT media.

Isight Component Guide


406 Chapter 3 Using Activity Components

Using the Component Editor to Create a Parse


Any of the files, parameters, or even the type of parse can be changed or imported
using the editor itself. To import a parse into the component requires the same basic
steps involved in importing a parse via an FDC file in the wizard.

To import a parse using the component editor:

1. Access the component editor; then, select the type of parse you want to create
using the Parse Type drop-down list.

2. Click the Browse button on each of the tabs on the left side of the editor; then,
specify the file for that part of the parse. You can select either an FDC file or a
description file. If a description file is selected, you are given the option of
choosing a single FDC file from within the description file.

Once you select the FDC file, the component tries to determine all the parameters
that are necessary, but, just like when using the wizard, it is a good idea to make
sure that the parameters needed are present.

Note: It is possible to create a new parse by either using the simple text editors on the
left side of the editor. Also, you can start the iSIGHT Advanced Parser, if it is available
on your local machine (using the button).

Updating an Imported Parse


You can update your imported parse using any of the following methods, as desired:

„ Update the parameter information on the right side of the editor by either adding
new parameters, deleting existing parameters, or adding new members to
aggregate parameters. You can also sort the parameter information by clicking the
column headings. For more information on using parameters, refer to the Isight
User’s Guide.

„ Manually change parse information directly in the text boxes on the left side of the
editor. Click Save, near the bottom of the editor, to save your changes. If you do
not want to save your changes, click Cancel.

„ Click the button to open the wizard, which helps guide you through importing a
parse. For more information, see “Importing an Existing Parse,” on page 396.

Isight Component Guide


Using the iSIGHT File Parser Component 407

„ Click the button to open the iSIGHT Advanced Parser interface. For more
information, see “Creating a New Parse using iSIGHT’s Advanced Parser,” on
page 405.

„ Click the button to view the parse, if you are working with an input parse. If all
of the necessary information is present (FDC file, template, parameters with
desired values, etc.) then the Produced tab displays what the file would look like
for the parse. If a produced file is not specified, the parse is still previewed,
however, you are warned that you need to specify the file before execution.
If you are working with an output parse, and all the necessary information is
present (the “output” file is populated with the desired values/info, FDC file, as
well as the parameters that you expect to get back from the parse), then the preview
enters the values of the parameter table.

Building a Simcode
The Simcode component can use the Data Exchanger, iSIGHT File Parser, or the Fast
Parser to prepare the input file and extract data from the output file. This is done by
setting the Default Parser type Preference option for the Simcode component before
adding the Simcode to the model. For more information on setting this option, see
“Setting Simcode Component Preferences,” on page 495.

Once you choose the parser type, you need to create two mappings in order for the
model to work. First, you must map the produced file of the input parse to the input file
of the OS Command component. Second, you must map the output file of the OS
Command component to the output file of the output parse (remember it’s an input to
the parse, it’s just called an “output file”). Once these basic steps are complete, you can
configure the driver as necessary for the given model.

Isight Component Guide


408 Chapter 3 Using Activity Components

Using the Mail Component


The purpose of the mail component is to automatically send e-mail to one or more
recipients during the execution of a job, typically to provide notification of the
status/progress of the job. Isight parameter values can be included in the body of the
e-mail message, and Isight file parameters or files from disk can be added as
attachments. The component can be configured to send a message to multiple
recipients.

This section is divided into the following topics:


„ “Configuring the Mail Component” on this page

„ “Using the Mail Component API,” on page 411

Configuring the Mail Component


To use the Mail component:

1. Double-click the component icon to start the component editor. For more
information on inserting components and accessing component editors, refer to the
Isight User’s Guide.

Isight Component Guide


Using the Mail Component 409

The Component Editor dialog box appears.

The editor is designed to conform to typical e-mail program standards.


2. Enter the name of the mail server in the Mail Server text box; then, type the
sender’s address in the From text box.

Note: You can automate this step by specifying the information in the Isight
Preferences. Once specified, the Mail Server and From text boxes are
automatically populated when the Mail component editor is accessed. For more
information on setting these preferences, refer to the Isight User’s Guide.

3. Enter a subject for the message in the Subject text box.

4. Add e-mail addresses to the recipients list. You can use the three common e-mail
recipient specifications: To, Cc, and Bcc. You may also use commas to separate
multiple recipients on a single line. You can click the To text label to access the Cc
and Bcc options.

Note: The From, To, and Subject entries can be defined using parameters whose
values are inserted when the component executes, allowing the e-mail to be
defined in a more dynamic fashion. To set this option, use the notation “{var
<parameter-name>}” where “<parameter-name>” is replaced by the name of the
parameter whose value you want to insert.

Isight Component Guide


410 Chapter 3 Using Activity Components

5. Type a text message in the large text box.

6. Use one of the following methods to send parameter information:

„ Add a parameter as part of the message body (proceed to step 7)

„ Add a file parameter as an attachment (proceed to step 11)

Note: Only file parameters can be added as attachments.


7. Select the parameter from the Parameter to insert drop-down list at the bottom of
the component editor.

You can sort the parameters in the list by component. Right-click in the list, and
then select Group Parameters. The setting is now saved in the preferences for this
component. There is a Preference option to set the initial default for this option for
all applicable component editors. You can also choose to not group parameters for
the currently selected component. For more information on these Preference
options, refer to the Isight User’s Guide.

8. Place the cursor in the message body at the location where you’d like the

parameter information to be displayed; then, click the button. The name of the
parameter is added to the message body.

When this component executes, the parameter value will be displayed in place of
the parameter name in the recipient’s e-mail.

Note: If you wish to add multiple parameters in the format “name = value” to the

message body, click the button; then, select the parameters that you want to
add using the Select Parameter dialog box. Click OK when your selection is
complete.

9. Repeat step 7 and step 8 for each parameter you wish to send.

Note: The e-mail will be sent once the component is executed, whether
independently or within the model. If you want to send the e-mail immediately
while in the editor, click the Send button .
10. Proceed to step 13.

Isight Component Guide


Using the Mail Component 411

11. To add a file as an attachment, click the Attachment tab ; then, perform one
of the following actions:

„ To add an existing file parameter as an attachment, click the button;


then, select the file parameter from the dialog box that appears.

„ To add a file from disk as an attachment, click the button and navigate to
the file. Note that a file parameter will be created for the selected file.

Note: To remove an attached file parameter, select it; then, click the button.

12. Repeat step 11 for each file you wish to send.

13. Click OK to close the editor.

Using the Mail Component API


The Mail component provides an API for programmatically configuring the Mail
component using a Java program. For more information about APIs and how they use
keywords on generic get/set/add/call methods, see “Editing Component Properties,” on
page 25.

The API for the Mail component consists of the following methods:
„ get/set("from"). This method allows you to get/set the address of the email
account from which this email should be sent. If left undefined, an attempt will be
made to set this value from your Isight preferences.

„ get/set("to"). This method allows you to get/set the recipients as a string of


comma-separated email addresses.

„ add("to"). This method allows you to add the specified email address as a
recipient of this email. To add a recipient with a delivery mode of cc or bcc, use the
add("recipient") method.

„ get/set("subject"). This method allows you to get/set the subject to use


for the email.

Isight Component Guide


412 Chapter 3 Using Activity Components

„ get/set("messagebody"). This method allows you to get/set the body of


the mail message.To insert parameters, use the set ("messagebody",
String[] messages, String[] messageTypes) signature.

„ get("messagetypes"). This method allows you to get the associated types


("text" or "parameter") for each String in the array representing the body of
the message. For the corresponding messages use get("messages"). For a
correctly formatted body use get("messagebody").

„ get/set("mailserver"). This method allows you to get/set the mail server


to use. If none is set, an attempt will be made to use a mail server specified in your
Isight preferences (for example, mailhost.companyname.com).

„ add("recipient", String address, int recipientType). This


method allows you to add the specified email address as a recipient of this email
with the specified delivery mode (0 = “to”, 1 = “cc”, 2 = “bcc”).

„ add("attachment", File file). This method allows you to add a file on


disk as an attachment to the mail. A File parameter will get created for the
specified file and will get added to the component.
„ add("attachment", DtScalarVariable fileParameter). This
method allows you to add an existing File parameter as an attachment to the email.
You must add the File parameter to the component separate from this call.

„ call("send"). This method allows you to send the email using the current
settings/configuration.

Using the MATLAB Component


The MATLAB component allows Isight to interact with the MATLAB software
package from The MathWorks, Inc. The primary functions of this component are to
send data to MATLAB, execute commands/scripts, and retrieve data from MATLAB.
Because this component is interacting directly with a MATLAB engine, anything that
you could do in MATLAB itself you can invoke from Isight using the MATLAB
component.

Isight Component Guide


Using the MATLAB Component 413

This section is divided into the following topics:

„ “Setting up the Environment” on this page

„ “Starting the Editor and Adding Actions,” on page 414

„ “Defining Mappings,” on page 420

„ “Defining Commands,” on page 423


„ “Setting MATLAB Component Preferences,” on page 425

Setting up the Environment


Because the MATLAB component must programmatically interact with the MATLAB
software, it is important to make sure your environment is set up properly to allow for
this.

Specifically, Isight will look for the following system environment variables to add
them to the system path to ensure that the necessary MATLAB files can be found at
execution time:
„ MATLAB=<full path to the location of the bin directory in your MATLAB
installation> (for example, c:\software\MATLAB7\bin)
„ MATLAB_SHLIB=<full path to the location of the directory containing the
MATLAB shared libraries in your MATLAB installation> (for example,
c:\software\MATLAB7\bin\win32)

If these system environment variables are not defined, the locations noted above must
already be on the system path in order for the component to work properly.

„ (Unix/Linux) You may find it convenient to record these definitions permanently


in one of your logon scripts (e.g., .login, .shrc, .profile, or, depending on your
preferred shell - .cshrc, etc.). For example, if you use sh (standard shell) on Linux
you may add lines similar to the following to your .shrc script:
MATLAB=/opt/mathworks/matlab_2006b/bin
export MATLAB
MATLAB_SHLIB=/opt/mathworks/matlab_2006b/bin/glnx86
export MATLAB_SHLIB

Isight Component Guide


414 Chapter 3 Using Activity Components

„ (Windows only) MATLAB must be registered with the operating system at


installation time, so that it can be accessed via COM. This registration typically
happens automatically, but if you manually move your MATLAB installation or it
is unregistered for some other reason, you will need to register it by launching a
command dialog, going to the directory identified by the environment variable
MATLAB_SHLIB specified above, and running the following command (you may
omit “.\”, if “.” is in your path):
.\matlab.exe /regserver
Important: If you have more than one MATLAB instance installed, the registered
instance must be the instance identified by the environment variable MATLAB
specified above.

Starting the Editor and Adding Actions


To start the component editor and add actions:
1. Double-click the component icon to start the component editor. For more
information on inserting components and accessing component editors, refer to the
Isight User’s Guide. The Component Editor dialog box appears.

Isight Component Guide


Using the MATLAB Component 415

The MATLAB component editor is divided into two tabs: Contents and Options.
The Contents tab specifies the actions taken by the component (i.e., the data
transfers between Isight and MATLAB) and the computations performed by
MATLAB. The Options tab gives you access to useful adjustments to the behavior
of the component at runtime.

The MATLAB component Contents tab allows for actions to be defined in any of
three phases:

„ Initialize. Actions that will be executed only the very first time that this
component executes within a job (model execution). This phase is useful for
when you need to initialize/create a variable or load some functions into the
MATLAB session and only need it done one time at the very beginning.

„ Execution Order. Actions that will be executed every time this component
executes.

„ Finalize. Actions that will be executed only when the MATLAB session is
shutting down. Since the component can be configured to leave MATLAB
open after the job completes, these actions might not get run at the end of the
job, but may instead be invoked later when Isight is cleaning up persistent
components.

Warning: Isight provides a scratch directory for MATLAB to use during the
Initialize and Execution phases, but not during the Finalize phase. Your Finalize
commands should not assume that the current directory setting in MATLAB refers
to a usable directory. You may disregard this warning if the MATLAB component
is configured to always run in a fixed directory.

The standard usage is simply to define actions in the Execution phase. The
MATLAB component will start with three pre-defined actions in the Execution
phase to represent the most common usage by default:
„ Input Mappings for defining mappings from Isight parameter values to
MATLAB variables.
„ Commands for defining the command to execute.

„ Output Mappings for mapping MATLAB variable values back to Isight


parameters.

Isight Component Guide


416 Chapter 3 Using Activity Components

Note: These default actions are simply provided for convenience and can be
deleted or renamed as desired. They are empty to start with and the details of each
of these must be filled out as needed.

Now you can define additional actions.

2. Click the tab that corresponds to the phase for which you need to create actions.

3. Click the Add Action button . The Action Type Selection dialog box
appears.

4. Click the button that corresponds to the action type (Mapping or Command) that
you want to create; then, click OK. A new action of the specified type will be
created and displayed in the actions table.

Isight Component Guide


Using the MATLAB Component 417

The actions table presents the following information for each action:

„ Use?. Specifies whether or not this action should be executed. This option
allows you to leave your actions defined, but turn them on and off as desired.

„ Type. Specifies if the action is a Mapping or a Command.


„ Identifier. A unique name identifying the action. This option can be modified
directly in the table.

5. Use the and arrows located below the table to change the order of

the actions. You may also delete actions by clicking the button.

6. (optional) Edit the details of any action by selecting it in the actions table and using
the panel displayed on the right side of the component editor. You can use this
panel to configure the properties of the action.
Proceed to the following sections for details on how to edit actions:

„ For information on how to set up the mapping parameters, see “Defining


Mappings,” on page 420.

„ For more information on how to enter a series of MATLAB commands,


including the use of MATLAB M-Scripts, see “Defining Commands,” on
page 423.

Isight Component Guide


418 Chapter 3 Using Activity Components

7. Click the Options tab. The Options tab appears as shown below.

8. (optional) Click the Show MATLAB during execution check box if you do not
wish to have MATLAB running in the background. This option is selected by
default. When selected, MATLAB is launched and is viewable during the
execution of your model.

Note: If you deselect this check box (telling Isight to hide MATLAB during
execution), but you have instructed MATLAB to produce a plot, the plot will still
appear during execution.
9. (optional) Click the When to close MATLAB drop-down list to choose when
MATLAB should close; then select one of the following options:
„ Never. The component will never attempt to close the MATLAB session. It
must be closed manually.
Note: If you choose this option, it is recommended that you leave the Show
MATLAB during execution check box selected.
„ When job completes. The MATLAB session will remain open and be re-used
during the entire duration of the job (model execution) and will be closed after
the job completes.

„ After each execution. A new MATLAB session will be started, used, and shut
down every time this component executes.

Isight Component Guide


Using the MATLAB Component 419

10. (optional) Click the M-Script Error Response drop-down list to control how the
component responds to MATLAB errors that occur when Commands are executed;
then, select one of the following options:

„ Fail Execution on All Errors. The component stops processing Mappings and
Commands if any MATLAB error occurs while executing a Command, and
flags this component run as failed.

„ Ignore Errors Containing This Text. When this option is selected, a text
field appears below the drop-down list in which you can enter text. The
component checks if any MATLAB error occurs while executing a Command,
and if so retrieves the MATLAB error message. If this message contains the
entered text as a substring, the error message is written to the log file, then
execution proceeds to the next Mapping or Command; otherwise the
component stops processing Mappings and Commands, and flags this run as
failed.

„ Ignore All Errors. The component disregards the MATLAB error report and
assumes the Command executed correctly. Execution proceeds to the next
Mapping or Command.

11. (optional) Select Native code API or Java Socket from the Drive MATLAB with
drop-down list. If you select Java Socket, enter a command in the MATLAB
Command text box or click the Browse button to navigate to the command.

Note: For new MATLAB components, this option will default to the current
setting of the MATLAB Preferences option. This setting should be changed only if
this specific component must use a different interface or run a specific (different)
MATLAB executable (which is rarely the case). For information on the
Preferences option, see “Setting MATLAB Component Preferences,” on page 425.

Note: If you defined the environment variable MATLAB (see “Setting up the
Environment,” on page 413), you do not need to enter a command in the
Preferences dialog box; the component will launch the MATLAB executable from
that directory. You may also specify the location of the MATLAB executable by
running Isight from the command line with the command argument
-Dfiper.comp.matlab.command=....

A command entered in the Preferences dialog box supersedes either of these


options. For information on the Preferences option, see “Setting MATLAB
Component Preferences,” on page 425.

Isight Component Guide


420 Chapter 3 Using Activity Components

Important: The Java Socket interface has been developed in conjunction with
MATLAB version 7.5 (R2007b) and will not work with earlier versions of
MATLAB.

12. Click OK to save all changes and close the editor.

Defining Mappings
Mapping actions are how Isight passes information to and retrieves information from
MATLAB. A single mapping action can (and typically does) involve mapping more
than just one parameter to/from MATLAB. All that is required to define a mapping is
to specify the Isight parameter and the MATLAB variable name involved in the
mapping.

To define mappings:
1. Set up an action type as described in “Starting the Editor and Adding Actions,” on
page 414.
2. Select the Mapping action for which you want to define the mappings in the
actions table on the left side of the editor. An area for defining the mappings
appears on the right side of the editor.

Isight Component Guide


Using the MATLAB Component 421

Note: You can edit the name used to identify the Mapping action in the Mappings
text box at the top of this panel.

Now you can add a mapping.

3. Select an existing Isight parameter from the drop-down list above the Mapping
table or type the name of a new parameter in the text box to create the entry
directly.

Note: If you type in the name of a new parameter, a scalar parameter of type “real”
will be created by default. If you want to define a new parameter that is something

other than a scalar “real” parameter, click on the button to create a new Isight
parameter.

You can sort the parameters in the list by component. Right-click in the list, and
then select Group Parameters. The setting is now saved in the preferences for this
component. There is a Preference option to set the initial default for this option for
all applicable component editors. You can also choose to not group parameters for
the currently selected component. For more information on these Preference
options, refer to the Isight User’s Guide.

4. Select a mapping direction using the button.


„ The arrow pointing from the parameter icon to the MATLAB icon
represents a mapping from the Isight parameter to the MATLAB
variable.
„ The arrow pointing to the parameter icon from the MATLAB icon
represents a mapping to the Isight parameter from the MATLAB
variable

Isight Component Guide


422 Chapter 3 Using Activity Components

5. Click the button to add a parameter. The new parameter is added to the
table as shown below.

Note: If an Isight parameter has not been specified, a message appears informing
you to select an Isight parameter.

A row appears in the Mapping table with the Isight parameter, the mapping arrow,
and the name of the MATLAB variable. By default the name of the MATLAB
variable is the same as the name of the Isight parameter with the exception that
spaces are replaced with “_”. You can modify the name of the MATLAB variable
as needed directly in the table.

If an entire Isight array parameter (as opposed to just a single element of the array)
is selected, the entire contents of the array are mapped to the MATLAB variable
(for mappings defined to MATLAB) or set from the MATLAB variable (for
mappings defined from MATLAB). If the Isight array parameter is defined as
“resizable”, then when mappings from a MATLAB variable are executed the size
of the array will be adjusted to match the size of the MATLAB variable. Similarly,
when mappings to a MATLAB variable are executed the size of the MATLAB
variable will be adjusted to match the current array parameter size.

6. (optional) Click the button to delete a mapping.

7. Click Apply to save changes.

Isight Component Guide


Using the MATLAB Component 423

Defining Commands
While defining Mappings allows you to pass information to/from MATLAB, the
Commands are what allow you to invoke the desired functions within MATLAB.
Commands can simply be typed directly in or loaded from a MATLAB M-Script file.

Note: The MATLAB component will automatically set the current directory in the
MATLAB session to be the working directory for the component. If you want it set to
some other directory, you will need to provide an explicit “cd” command in your set of
MATLAB commands. Additionally, a variable called “ESI_MATLAB_rundir” is
automatically set in the MATLAB session to allow you to refer to the working
directory of the component, if necessary.

Important: Because the MATLAB component explicitly uses the “cd” command, any
command or M-Script used in the MATLAB session should not define a variable with
the name “cd” since this essentially overrides the command and can lead to errors.

To define commands using the component:

1. Set up an action type as described in “Starting the Editor and Adding Actions,” on
page 414.

Isight Component Guide


424 Chapter 3 Using Activity Components

2. Select the Command action for which you want to define the specific commands in
the actions table on the left side of the editor.

An area for defining the commands appears on the right side of the editor.

Note: You can edit the name used to identify the Command action in the
Command text box at the top of this panel.
3. Either type commands directly into the large text box on the right side of the editor
or click the Open... button to load the commands from an existing MATLAB
M-Script file.

Once you have selected the file you will be asked whether you wish to store the
M-Script in the model.

If you select Yes, the current contents of the M-Script file will be read and stored
within the component (i.e., as if the contents had been typed into the text box).
This command can be run no matter where the component is executed. If the
M-Script file is later edited, this command must also be edited if it is to run the
updated script.

If you select No, an Isight input File parameter, configured to the absolute path and
name of the M-Script file, is created and added to the component. When the
command is run, the current contents of the M-Script file will be fetched via that
File parameter; hence this command can be run only if that path is accessible

Isight Component Guide


Using the MATLAB Component 425

wherever the component is executed. If the M-Script file is later edited, the
component will automatically run the updated script.

Important: You must check for syntactical errors in the given commands. Isight
will not check for proper syntax before execution.

4. (optional) Right-click in the large Command text area; then, click Scan for
variables to map. If you choose this option, the MATLAB editor will scan the
script currently displayed in the box for MATLAB variable names. The MATLAB
variable names that appear in the script will be used to create potential Isight
parameters that can be mapped to or from the corresponding MATLAB variables.

Note: If you use this option, you may want to create all your commands before
creating your mappings.

5. Click Apply to save your changes.

Setting MATLAB Component Preferences


Isight drives MATLAB through a native-code interface that links with a
publicly-supported MATLAB API shared library by default. This interface has some
limitations. For example, on Windows, MATLAB must be installed on the machine
running Isight and must be registered with COM. Therefore, the MATLAB component
also provides a fall-back interface implemented in Java. The MATLAB component
Preference option lets you choose which interface to use.

To set component preferences:


1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.

2. Expand the Components folder on the left side of the dialog box; then, select
MATLAB.

3. Select Native code API or Java Socket from the Drive MATLAB with drop-down
list. If you select Java Socket, enter a command in the MATLAB Command text
box or click the Browse button to navigate to the command.

Note: If you have defined the environment variable MATLAB (see “Setting up the
Environment,” on page 413), you do not need to enter a command in the
Preferences dialog box; the component will launch the MATLAB executable from

Isight Component Guide


426 Chapter 3 Using Activity Components

that directory. You may also specify the location of the MATLAB executable by
running Isight from the command line with the command argument
-Dfiper.comp.matlab.command=.... Keep in mind that a command
entered in the Preferences dialog box supersedes either of these options.

Important: The Java Socket interface has been developed in conjunction with
MATLAB version 7.5 (R2007b) and will not work with earlier versions of
MATLAB.

Using the OS Command Component


The OS Command component allows you to execute single line operating system
commands and multi line (shell) scripts. The OS Command component is also used as
part of the Simcode component. In essence, the Simcode component is an OS
Command component surrounded by two Data Exchanger components. For more
information on using the Data Exchanger component, see “Using the Data Exchanger
Component,” on page 266. For more information on the Simcode component, see
“Using the Simcode Component,” on page 485.

This section is divided into the following topics:

„ “Configuring the OS Command Component,” on page 427

„ “Setting Basic Options,” on page 428

„ “Setting Advanced Options,” on page 435

„ “Setting Required Files Options,” on page 440


„ “Setting Grid Adapter Options,” on page 441

„ “Understanding Grid Adapter Limitations,” on page 448

„ “Setting OS Command Component Preferences,” on page 448

„ “Using the OS Command API,” on page 453

Isight Component Guide


Using the OS Command Component 427

Configuring the OS Command Component


To start the editor and specify a command:

1. Double-click the component icon to start the component editor. For more
information on inserting components and accessing component editors, refer to the
Isight User’s Guide. The Component Editor dialog box appears.

2. Proceed to one of the following sections, based on the tab you need to use:

„ Basic tab. This tab allows you to specify the command and argument or
interpreter (shell) and script, and any I/O redirection. It can also be used to set
affinities to control which Fiper Stations the command is executed on when
using an ACS in the Fiper environment. For more information on the options
on the Basic tab, see “Setting Basic Options,” on page 428.

„ Advanced tab. This tab allows you to set conditions which indicate that the
program has failed. You can also direct standard output or standard error to the
job log, and indicate that a failed run should be retried. There are also
additional options for controlling the environment in which the

Isight Component Guide


428 Chapter 3 Using Activity Components

command/script executes. For more information on these options, see “Setting


Advanced Options,” on page 435.

„ Required Files tab. This tab is used to specify the files that must be placed in
the working directory before the command is run, and the files to save from the
working directory. When the component is part of a Simcode component, it
also lists the files passed by the input and output file parses. For more
information on the options on the Required Files tab, see “Setting Required
Files Options,” on page 440.

„ Grid tab. This tab is used to access the Grid Adapter. This tab appears only if
the Enable use of Grid Plugin preference is enabled. The Grid Adapter allows
OS Command and Simcode components to submit commands to run on a
separate computer using the remote execution commands SSH or RSH, or the
LSF grid execution environment. For information on activating the Grid
Plugin, see “Configuring the OS Command Component,” on page 427. For
more information on the Grid Adapter, see “Setting Grid Adapter Options,” on
page 441.

Setting Basic Options


The OS Command component supports two types of commands:
„ Single line commands and arguments. For more information about single line
command options, see “Setting Single Line Command Options,” on page 429.

„ Multi line (shell) scripts. For more information on the multi line options, see
“Setting Multi Line Script Options,” on page 432. The OS Command preference
page lists the available interpreters, and allows you to add interpreters. For more
information about the OS Command preferences, see “Configuring the OS
Command Component,” on page 427.

Isight Component Guide


Using the OS Command Component 429

Setting Single Line Command Options


To set the basic options for your single line command:

1. Select Command from the Type drop-down list.

2. Click the Find Program... button; then, navigate to the executable you want to
use. You can also type the name of the executable directly into the text box below
the Find Program... button.
Note: You can type a simple command name, such as "nastran," if you know
the program is already on the PATH of the Isight gateway and/or Fiper Station.
Otherwise, you must enter the full path to the executable.

3. Type the rest of the command line following the program name. The syntax used
for the command line is a subset of that used by the Microsoft Windows Command
line (cmd.exe) or the UNIX Borne Shell (sh):

„ Separate arguments with spaces.

„ Enclose arguments that contain spaces or special characters in single or double


quotes.

„ Use < to supply standard input to the program from a file. Follow the < with
the name of the file, or by inserting a file parameter (see the example below).
A space between the < and the file name is optional.
„ Use > to direct standard output of the program to a file. If standard output is
not redirected, it is lost.

„ Use 2> to redirect the standard error stream to a file. By default, standard error
is also sent to the job log.

„ Use 2>&1 to redirect standard error to the same file as standard output. This
setting is only useful if standard output is also redirected into a file.
Note: Other shell or cmd.exe punctuation such as “|” (pipe), “&&” or “;” (multiple
commands), and “&” (background) are not supported.
For example, to run the program myprog with arguments a and b c d, reading
input from the file sample.txt and writing output to the file bar.txt, the
command line would look like:
myprog a "b c d" <sample.txt >bar.txt

Isight Component Guide


430 Chapter 3 Using Activity Components

4. Click the Distribute Executable check box to copy the executable file into the
model. The program name turns green to indicate the program is in the model. The
program will be copied into the working directory before the command is run. To
undistribute the executable, clear the Distribute Executable check box. If the
program has changed on disk, you can update the copy stored in the model by
clearing and then checking the Distribute Executable check box.
The Distribute Executable feature is only appropriate for small programs. Larger
programs, and programs that require a network license, must be pre-installed on
the Fiper Station.

Note: You cannot directly execute Windows built-in commands, such as DIR or
COPY. To run such commands, use the cmd command and the arguments /C and
copy. For example:
cmd /c dir dir1

5. Click the Verify Commands button to check the syntax of the command line. If
there is a syntax error (such as a missing quote or no file name after >), an error
message appears describing the problem. If the command is valid, a dialog box
pops up that shows how the command line will be interpreted - what the command
name is, where arguments are split, and any I/O redirection. The dialog box will
show the VALUE of substituted parameters, instead of their name. The Command
Preview text box, located near the top of the tab, displays how the command will
be issued during runtime. Any error in the command line will also be shown in the
Command Preview text box.
6. You may insert a parameter as an argument by selecting the parameter from the

Parameter drop-down list; then, click the Insert button . The parameter name
is added to the Arguments text box at the current cursor position and is highlighted
in green, indicating that the value will be substituted at runtime. To quickly add a

new parameter, type the parameter name in the Parameter box and click on the
button. The new parameter will have data type Real, but this can be changed on the
Parameters tab on the Design Gateway.

To delete a parameter from the arguments list, click on the parameter and press the
Backspace key.

If a parameter value might contain spaces, you should put double quotes around
the parameter reference (for example, "parm 1").

Isight Component Guide


Using the OS Command Component 431

For a file parameter, the absolute path to the file is substituted into the command
line. This can be very useful for programs that expect the name of their input file
on the command line. It is not necessary to put quotes around substituted file
parameters. File names are never split, even if they contain spaces.
File parameters can be used after the I/O redirection symbols <, >, or 2> to
redirect input/output to/from the file parameter.

Note: You can create a new parameter using the button. For more information,
refer to the Isight User’s Guide.

7. Set the available options in the Affinities area. These options are used to control
which Fiper Stations may execute the component when using an ACS in the Fiper
environment. You can specify the host name, operating system, software, or other
information pertaining to the component. The Affinity options behave exactly the
same as the Affinities on the Component Properties editor. For more information
on the properties, see “Editing Component Properties,” on page 25.
8. Perform one of the following options:

„ Proceed to “Setting Advanced Options,” on page 435 for information on using


the Advanced tab. The advanced tab allows you to set options for error
reporting, reattempting execution, return codes, and execution environment.

„ Proceed to “Setting Required Files Options,” on page 440 for information on


specifying files that are necessary for the command you are executing.
„ Click OK to close the editor.

Isight Component Guide


432 Chapter 3 Using Activity Components

Setting Multi Line Script Options


To set the basic options for your multi line script:

1. Select the appropriate interpreter from the Type drop-down list. Information for
five interpreters is provided by default: Bourne Shell, C Shell, K Shell, Bash, and
Windows Batch. You can add or modify the list of available interpreters using the
OS Command Preferences. For more information about the preferences, see
“Configuring the OS Command Component,” on page 427. The multi line
component editor dialog box appears.

2. Type any interpreter arguments in the Command Arguments text box. These
arguments precede the script file in the argument list for the interpreter.

Note: Any additional arguments to Windows cmd.exe must come before the
required ‘/C’ option.

3. Type any script arguments in the Script Arguments text box.

Isight Component Guide


Using the OS Command Component 433

4. Select the Encoding (character set) to be used when the script is written to a disk
file. This is sometimes needed when running in an Asian locale.

Note: This setting is visible only if the Show File Type Encoding option on the
Files tab is selected on the Preferences dialog (Files and Directories). For more
information about this option, refer to the Isight User’s Guide.

5. Select the Line Endings to use when the script is written to a disk file. The Default
option is recommended. The only time you would need to change the line endings
is if you are running a Unix script from a Windows Gateway via the Grid option. In
this case, you probably will have to force Unix line endings in the script, since
most Unix shells cannot handle Windows line endings. The available Line Endings
are as follows:

„ Default. This setting leaves the line endings as they were found in the input
file. Isight does not attempt to change the line endings. If the file has to be
copied for some reason, local line endings are used. In the OSCommand
editor, this option is effectively equivalent to the Local option below, since the
script is always re-written to disk.

„ Local. This setting writes the file with the local line endings for the machine
on which the model is running. This is the location of the Isight Gateway and
Fiper Station. This means CR-LF on Windows and LF on Unix. The file will
always be copied in text mode and the line endings updated, even if the line
endings already appear to be correct.

„ Unix. This setting always separates lines with LF, even if the model is running
on Windows.

„ Windows. This setting always separates lines with CR-LF, even if the model
is running on Unix.

6. Edit the script in the Editor text box in the middle of the tab. All commands you
could type at the command line for the given interpreter are valid. The script you
type is passed to the interpreter as-is, after expanding any parameter substitutions.
You can remove all contents of the text box at any time using the Clear Script
button.

7. You may insert a parameter as an argument by selecting the parameter from the

Parameter drop-down list; then, click the Insert button . The parameter name
is added to the Arguments text box at the current cursor position and is highlighted
in green, indicating that the value will be substituted at runtime. To quickly add a

Isight Component Guide


434 Chapter 3 Using Activity Components

new parameter, type the parameter name in the Parameter box and click on the
button. The new parameter will have data type String, but this can be changed on
the Parameters tab on the Design Gateway.

To delete a parameter from the arguments list, click on the parameter and press the
Backspace key.

If a parameter value might contain spaces, and you do not want the spaces to be
interpreted by the interpreter, you should put the appropriate quotes for the
language around the parameter reference (for example, "parm 1").
For a file parameter, the absolute path to the file is substituted into the command
line. This can be very useful for programs that expect the name of their input file
on the command line. There is nothing special about file parameters substituted
into scripts. File parameters in scripts SHOULD be quoted if there is any chance
the absolute path could contain spaces. This is different from the behavior in
Command mode.
Note: You can create a new parameter using the button. For more information,
refer to the Isight User’s Guide.
8. (optional) Click the Load Script... button to load a pre-existing script from a file.

9. Edit the affinities for the component. The affinities for the selected interpreter are
set to the values provided in the preferences. Changing the affinities does not affect
the preferences. For more information about the properties, see “Editing
Component Properties,” on page 25.

10. Perform one of the following options:

„ Proceed to “Setting Advanced Options,” on page 435 for information on using


the Advanced tab. The advanced tab allows you to set options for error
reporting, reattempting execution, return codes, and execution environment.

„ Proceed to “Setting Required Files Options,” on page 440 for information on


specifying files that are necessary for the command you are executing.

„ Click OK to close the editor.

Isight Component Guide


Using the OS Command Component 435

Setting Advanced Options


To set the advanced options for the OS Command component:

1. Click the Advanced tab. The advanced options appear.

The Consider execution failed if area is used to determine what conditions should
indicate that the program has failed. If none of the boxes are checked, the program
will be considered to succeed no matter how it exits.
Note: If the program cannot be found, the component will always fail.

Isight Component Guide


436 Chapter 3 Using Activity Components

2. Set the following options, as desired:

„ Return code is other than. Select this option if you want to define the return
codes for successful completion of the execution. You can type multiple return
codes separated by commas (“1,2,5” means consider return codes of 1, 2, or 5
as success), or a range of numbers separated by a colon (“0:9” means any
return code from 0 to 9 inclusive indicates success). These can be combined to
specify multiple ranges (“0:9, 21:30”). Negative return codes are also allowed
(though few programs return them). This option is deactivated by default.

„ There is output to the Standard Output stream. When this option is


selected, if the command produces any output to standard output, the run will
be considered a failure and the workflow will be aborted. This option is rarely
used. Note that this option is independent of whether standard output has been
redirected or not (described above). It is also independent of whether standard
output is also logged (described below).

„ There is output to the Standard Error stream. When this option is selected,
if the command produces any output to the standard error stream, the run will
be considered a failure and the rest of the workflow will be aborted. This
option is usually set for UNIX programs. This option is selected by default.

„ Execution takes longer than. This option allows you to set a time limit (in
seconds) after which execution is deemed to have failed. The default timeout is
300 seconds (5 minutes). A timeout of 0 means don't check runtime. This
option is a duplicate of the Timeout option on the component Properties panel.
For more information about component properties, see “Editing Component
Properties,” on page 25.

3. In the Log Output area, set the following options, as desired:

„ Log Standard Error. If checked, any messages the program writes to


standard error will also be logged to the job log. This option is checked by
default. This option can help you determine why the program didn't run as
expected.

This option (and those below) are in addition to whether standard error is
redirected to a file, and whether output to standard error is to be considered a
sign that the program failed.
„ Log Standard Output. If checked, any messages to standard output will also
be sent to the job log. Using this option is not recommended, as many

Isight Component Guide


Using the OS Command Component 437

programs can produce a lot of output, and log messages are relatively
expensive.

„ Log at most. In order to prevent a program that writes a lot of messages to


standard output or standard error from flooding the job log, this option can be
used to limit the amount of text that is logged. Only the number of lines
specified by this option will be logged. If more lines are produced, only the
first and last few lines are logged and all lines in the middle are discarded. The
number of lines taken from the start and end of the file are each half of the
value specified here, so the total number of lines logged is the given value.

Note: Lines are logged as they are produced by the program. This
characteristic can be very useful if the program writes a couple of lines and
then executes for a long time. You can see the status messages in the job log
before the program finishes.
4. In the Retry Execution after Failure area, set the following options, as desired:

„ Maximum number of retries. This option allows you to set a number of


re-executions to attempt. Zero (“0”) retries means that you want to run the
program only once. One (“1”) retry means try one more time if the first
attempt fails.
„ Wait time for retry. This option allows you to set an amount of time between
the re-execution attempts.
„ Retry only if failed within. This option allows you to limit re-execution to
runs when the previous execution failed within the specified amount of time. If
the program ran longer than this number of seconds, and then failed, no further
retries are attempted.

The retry options are mostly for cases where a program may fail due to an external
condition, such as a web server being down, that can be expected to correct itself in
a short time. These options are typically used to retry execution if a program fails
because all licenses are in use.

Note: The Maximum number of retries option on the Component Properties panel
is in addition to the number of retries on the OSCommand editor. The
OSCommand retries are done first (in Fiper, on the same Fiper Station), and then
the component retries (in Fiper, on a different Fiper station). For more information
about component properties, see “Editing Component Properties,” on page 25.

Isight Component Guide


438 Chapter 3 Using Activity Components

5. Set the options in the Wait for File area. This feature allows you to run a program
that submits a job to an external system and then wait for that job to finish by
looking for an output file the job writes.

„ Wait for file after program finishes. Click the check box to have Isight wait
for a file to appear after the program finishes. If selected, then you must enter a
file name in the File field. You can enter the path name or click the Browse...
button to locate the file. The file name can contain variable substitutions, such
as “{var xx},” similar to file parameters. This file can be a file parameter, but
this is not necessary.

„ Find this string in the file (optional). Enter the string in the file the program
should wait for after the file exists. If no string is specified, the command
terminates as soon as the file exists.

„ Delay after file or string is found (seconds). Enter the amount of seconds the
program will wait if the file or string is found before continuing. This allows
the process to finish writing the file.

6. Set the options in the Execution environment area. These settings allow you to
control a few aspects of how the program runs.

„ Run command/script as Windows job or UNIX Process group


(recommended). Click in this check box to specify special processing when
the Simcode times out or the job is stopped. When this box is checked, the
command is placed into a Windows Job object or a UNIX process group.
When the Simcode times out or is stopped, the whole Job or Process group is
terminated. This is the recommended setting. The check box is selected by
default.
If this box is unchecked, the command is simply run as a child process of the
Gateway or Fiper Station. If the Simcode times out or is stopped, Java tries to
kill the command, but any other processes the command created will NOT be
stopped. This will cause a problem when running the command using
Windows Batch or one of the UNIX shells, where all of the actual programs
are children of the shell, and will continue to run after the
OSCommand/Simcode component stops. Certain Windows programs will not
run if they are inside a Windows job object. In order to run such a program,
you must uncheck this box.

Isight Component Guide


Using the OS Command Component 439

Note: When this box is checked, a helper program called makejob is run by
the OSCommand. You will see this program if you examine the list of
processes running on your machine.

„ Save program exit code in parameter. Enter a parameter name in the text
box if you want the exit code saved. If the parameter does not already exist,
Isight will create it. This parameter can be type integer, real, or string. The
default is string. If this text box is blank, which is the default for new models,
the exit code is not saved.

Note: Models created in earlier versions of Isight will show “retval” as the
parameter name. This insures that existing models have the same behavior as
they did previously.

„ Click the Set X-Windows Display on UNIX check box to activate the option;
then, specify the Host Name in the corresponding text box. This host name
can be either a domain name (unix.development.com) or an IP address.

This option is only used for UNIX X-Windows programs that fail to run unless an
X-Windows display is available. The specified display must be available at
runtime.

7. Click OK to close the editor, or proceed to “Setting Required Files Options,” on


page 440.

Isight Component Guide


440 Chapter 3 Using Activity Components

Setting Required Files Options


To set the required files options for your component:

1. Click the Required Files tab. The required files options appear.

This tab is used to list files that need to be accessible when the command is run.
Any files parsed by the Data Exchange portion of a Simcode will automatically be
listed here. The information on this tab is a duplicate of the information on the
Files tab of the Design Gateway. It is presented here as a convenience. For more
information on using the Files tab, refer to the Isight User’s Guide.

Warning: Deleting a file used to redirect a standard IO stream will result in a


syntax error in the command. Deleting a file parsed by the Data Exchanger will
delete all parsing instructions for that file.

Isight Component Guide


Using the OS Command Component 441

2. Add files needed for execution to the list in the middle of the tab using one of the
following methods, based on the file type:

„ If you want to add all existing file parameters from the parent task, click

the button.

„ To add an input file parameter, click the button.

„ To add an output file parameter, click the button.

Note: To delete a file, verify that it is highlighted and click the button.

3. You can rename a file parameter by clicking in the Name column and editing the
name. This is often required as new file parameters created with the Add Input File
and Add Output File buttons are named “file1”, “file2”, etc. You can also change
the mode of a file parameter by selecting a new value in the Mode column. The
information on this tab is the same as the Files tab on the Design Gateway, and is
included here for convenience. The Files tab will not be updated until the OK or
Apply button on the editor is clicked. For more information on file parameters,
refer to the Isight User’s Guide

4. To configure (or reconfigure) a file parameter, click in the Value column and then
click on the button next to the value. The Configure File Parameter dialog box
appears.
5. Click OK to close the editor, or proceed to “Setting Grid Adapter Options” on this
page.

Setting Grid Adapter Options


The Grid Adapter allows you to submit Simcode jobs to batch queues on a computing
grid. Currently, grid adapters are provided only for the SSH remote execution
command and Platform LSF batch queues. The LSF Grid Adapter submits the job to
the LSF batch queue using the LSF bsub command. SIMULIA does not supply LSF or
SSH. You must obtain them from the appropriate suppliers in order to use the Grid
feature.

Note: The Grid tab is not available by default. To make it available, see “Configuring
the OS Command Component,” on page 427.

Isight Component Guide


442 Chapter 3 Using Activity Components

Note: It is recommended that you review the limitations listed in “Understanding Grid
Adapter Limitations,” on page 448 before using the Grid Adapter.

Depending on the type of grid adapter you are using, proceed to one of the following
topics:
„ For LSF options, proceed to “Setting LSF Grid Adapter Options” on this page

„ For SSH options, proceed to “Setting SSH Grid Adapter Options,” on page 445

Setting LSF Grid Adapter Options


To set LSF Grid Adapter options:

1. Click the Grid tab. The Grid Adapter options appear.

Isight Component Guide


Using the OS Command Component 443

2. Select LSF from the Grid System drop-down list. The LSF options appear.

Now you can specify how the grid job is submitted.


3. (optional) Click the Command is Script File check box.

If you activate this option, the script defined on the Basic tab is assumed to be a
compatible LSF script that will be spooled to the batch system and executed by
LSF as a sequence of commands. The script type must be compatible with the
target system. Additionally, on UNIX systems, the "#!..." syntax must be used
within the script to specify the script’s execution shell. The Script Type selected on
the Basic tab is ignored in this scenario.

Isight Component Guide


444 Chapter 3 Using Activity Components

4. Enter the following information, as desired. You can edit one or all of the values.
You can also accept the default values.

„ Queue. Specifies the queue where the job should run. You can obtain the
available queue names from the LSF “bqueues” command. Refer to the bsub
“-q” option on the man page.
„ Hosts. Lists the candidate hosts (space-separated) where the job should run.
Refer to the bsub “-m” option for more information.
„ Resources. Specifies the resource requirements for the LSF job. Refer to the
bsub “-R” option for more information.
If necessary, you can also set Advanced options for the LSF adapter:

5. Click the Automatically transfer input/output files (bsub-f) check box to


automatically transfer files to the grid. This process uses only the bsub-f
mechanism. Additionally, this process requires that rcp does not require passwords
and that no firewall is enabled in your LSF setup. This functionality is required
only if there is no shared filesystem in the LSF cluster, or if with a heterogeneous
cluster (mix of Windows and UNIX/Linux systems, which cannot have a shared
filesystem). The most common use of this option is when Isight runs on a
Windows machine and the LSF plugin is used to run codes on a remote UNIX or
Linux machine. Consult with your local LSF administrator to determine whether
this is enabled.

6. (optional) Click the Advanced... button. The Additional Grid Options dialog box
appears.

7. Type the commands in the large text area. Enter any additional options to LSF’s
bsub using standard bsub command-line option syntax (see bsub man page). Line

Isight Component Guide


Using the OS Command Component 445

breaks are ignored, so these commands can be space-separated and/or on separate


lines.

8. Click OK to return to the component editor.

9. Click OK to save your changes and close the editor. Click Apply to save your
changes, but leave the editor open.

Setting SSH Grid Adapter Options


To set SSH Grid Adapter options:

1. Click the Grid tab. The Grid Adapter options appear.

2. Select SSH from the Grid System drop-down list.

Note: The grid tab will not appear if there are no grid adapters available.

Isight Component Guide


446 Chapter 3 Using Activity Components

The SSH options appear.

3. Select the Remote Shell and Copy from the drop-down list. The available choices
are:

„ Ssh and scp (Open SSH). Secure Shell is a remote login protocol which uses
public-key encryption to authenticate users and secure their login sessions;
Secure Copy is the corresponding file-transfer protocol. Open SSH is a
commonly-used open-source implementation of these protocols. Use these
protocols to dispatch the OS Command from a local Unix/Linux system to a
remote Unix/Linux system, whenever security has to be maintained (for
example, when crossing a firewall).

„ SSH and scp (PuTTY). PuTTY is a commonly-used open-source


implementation of the ssh/scp protocols made specifically for Windows. Use
these protocols to dispatch the OS Command from a local Windows system to
a remote Unix/Linux system, whenever security has to be maintained (for
example, when crossing a firewall).

Isight Component Guide


Using the OS Command Component 447

„ Rsh and rcp. Remote Shell and Remote Copy are standard remote login and
file-copy protocols that are available on all Unix/Linux systems (except where
deliberately removed or replaced). They are fast, but not very secure. Use these
protocols to dispatch the OS Command from a local Unix/Linux system to a
remote Unix/Linux system, whenever security is not a concern (for example,
when both are behind the same firewall).
Note: The SSH Grid plugin currently does not support remote login and/or
file-transfer to a Windows system.
4. (optional) Enter any Extra (SSH, PuTTY, or RSH) Arguments. Each
remote-login tool has an associated set of command line arguments, some of which
may be used to customize how this OS Command will be dispatched. For example,
the -l argument can be used with any of these tools to force it to log in as a
specified user. This is useful when the OS Command may be dispatched to a Fiper
Station that has the Run As feature disabled.

5. Enter the Remote Host. This is the network name of the remote Unix/Linux
system on which the OS Command will run.

6. Enter the Working Directory Name. Each OS Command needs a scratch


directory to store files read and/or written by the command program or shell script.
This directory is typically created automatically when the OS Command is run
locally or under a Fiper Station. However, since the plugin will run the OS
Command outside of Fiper, you must supply a working directory. If the named
directory does not exist, it will be created before the OS Command is run and
deleted after the OS Command runs.

7. Select one of the following from the drop-down list under the Working Directory
Name text box:

„ Run in separate scratch directories under working directory. It is


recommended that you use this setting if the OS Command will be run in
parallel.

„ Run directly under working directory.

8. Click OK to save your changes and close the editor. Click Apply to save your
changes, but leave the editor open.

Isight Component Guide


448 Chapter 3 Using Activity Components

Understanding Grid Adapter Limitations


The following limitations should be noted with regard to the Grid Adapter:

„ Only LSF v6.2 is supported in Isight. Direct and unrestricted access to run the LSF
commands is required.

„ Only command-line codes are supported.

„ If it is necessary to transfer input/output files to/from the grid, this must be done
through the “-f” advanced option (see bsub man page), if available. If it’s not
available, then another mechanism must be used.

„ Jobs can only be submitted under the security credentials of the job submitter in
Isight.

„ The job status will be 0 for LSF’s “DONE” status or 1 for any other LSF job status.

„ Fail on stdout/stderr functionality will never generate a failure if the LSF plug-in is
used, since stdout/stderr will be returned to the submitting user in an e-mail by
default (LSF’s default behavior). You can override this behavior with the LSF
advanced options on the Advanced tab. The relevant bsub options are –o, -oo, -e,
-eo.

„ For the SSH adapter, your machine/network must be configured to allow remote
login without a password. The exact mechanism will depend on the protocol used,
but it should generally be either an SSH key agent for the SSH protocols or the
usual .rhosts/hosts.equiv syntax for rsh. If you are prompted for a password, the
command will fail.

Setting OS Command Component Preferences


The OS Command component preference options allow you to add, edit, and delete
interpreters (shells) used to execute scripts. To add an interpreter, see “Adding
Interpreters,” on page 449. You can also determine if you want to use the Grid Plugin
for LSF and to set options for the RSH/SSH grid plugin.

Isight Component Guide


Using the OS Command Component 449

Adding Interpreters
To add an interpreter:

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.
2. Expand the Components folder on the left side of the dialog box; then, select OS
Command.
3. Verify that the Scripts tab is displayed. The tab contents appear.

4. Click the Add button located on the right side of the dialog box.

5. Type a name for the interpreter in the Name text box. The name is displayed in the
OS Command Type drop-down list on the OS Command component editor.

Note: The names of the interpreters should be unique (i.e., no duplicates).


6. Type the full path to the interpreter in the Executable text box. You can also
choose the executable by clicking the Browse... button and navigating to the
interpreter.

7. Type the interpreter extension in the Extension text box. For example, Windows
batch files need to have the extension of “bat”.

8. Type any default arguments for the interpreter in the Arguments text box.

Note: During the execution of the component, the executable for the interpreter is
loaded from the OS Command preferences. If the preferences are unavailable, such

Isight Component Guide


450 Chapter 3 Using Activity Components

as on Fiper Stations, then the executable information from the component is used.
An error message is generated if the interpreter is not found during execution of
the component.

9. Set the available options in the affinities area. These options are located in the
bottom half of the dialog box and are used to control which Fiper Stations may
execute the component when using an ACS in the Fiper environment. You can
specify the host name, operating system, software, or other information pertaining
to the component. For more information about the affinities, see “Editing
Component Properties,” on page 25.

10. Click OK to save your changes.

For more information on these options, and all other options available with this
component, see “Using the OS Command Component,” on page 426.

You can also delete or edit existing interpreters. To delete an interpreter, select the
interpreter from the list; then, click the Delete button. To edit the preferences for an
interpreter, select the interpreter from the list; then, change the appropriate
information.

Configuring the Grid Plugin


The Grid Plugin feature is disabled by default.

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.

2. Expand the Components folder on the left side of the dialog box; then, select OS
Command.

Isight Component Guide


Using the OS Command Component 451

3. Click the Grid tab. The contents appear.

4. Click the Enable use of the Grid Plugin checkbox to enable this feature. When
this box is checked, the OS Command (and Simcode) editor have an extra tab for
configuring how to run the command on a compute grid.

5. Select the Source for SSH-Grid Commands from the drop-down list. This will
reset the tab to show the commands, if any, defined in the selected source. Once
you click OK, the shown commands are written to the selected source, overriding
the prior definitions.
When an SSH Grid plugin executes, it first finds the remote login and file-copy
commands for the selected SSH type from one of three sources. These sources are
read in a fixed order, using the commands from the first source that defines them
(if none are found, execution fails).

The sources are, as prioritized:

„ Custom Configuration File. If the local Runtime Gateway (or the Fiper
Station) was launched, with the Java System property fiper.grid.ssh.configfile
defined, commands are read from the file it names (if the file exists).

„ User Preferences File. You may define SSH commands and store them in
your personal Fiper preferences. If no custom configuration file is specified,
commands are read from preferences.

Warning: On a Fiper Station, this is the preferences of the user that launched
the Station, unless the Run As feature is enabled.

Isight Component Guide


452 Chapter 3 Using Activity Components

„ System Configuration File. If no commands are found in a custom


configuration file or in your user preferences, commands are read from the file
named grid_ssh_config.txt in the <Fiper_install_directory>\lib directory (if
present).

Warning: Selecting the source for SSH-Grid commands does not indicate to the
plugin which source to use; the procedure explained above is always followed.
Selecting the source only controls which source is displayed for editing at any
moment.

The SSH Grid plugin supports three protocol types:

„ Ssh and scp (Open SSH). Secure Shell is a remote login protocol which uses
public-key encryption to authenticate users and secure their login sessions;
Secure Copy is the corresponding file-transfer protocol. Open SSH is a
commonly-used open-source implementation of these protocols. Use these
protocols to dispatch the OS Command from a local Unix/Linux system to a
remote Unix/Linux system, whenever security has to be maintained (for
example, when crossing a firewall).

„ SSH and scp (PuTTY). PuTTY is a commonly-used open-source


implementation of the ssh/scp protocols made specifically for Windows. Use
these protocols to dispatch the OS Command from a local Windows system to
a remote Unix/Linux system, whenever security has to be maintained (for
example, when crossing a firewall).

„ Rsh and rcp. Remote Shell and Remote Copy are standard remote login and
file-copy protocols that are available on all Unix/Linux systems (except where
deliberately removed or replaced). They are fast, but not very secure. Use these
protocols to dispatch the OS Command from a local Unix/Linux system to a
remote Unix/Linux system, whenever security is not a concern (for example,
when both are behind the same firewall).
For each supported SSH type, the plugin requires two commands to be defined in
the corresponding text fields.

Isight Component Guide


Using the OS Command Component 453

6. Specify the Run Command and Copy Command.

„ Run Command. Type the name of the tool used to perform remote login and
run the OS Command under the given working directory on the named remote
host. You may also use the Browse... button to locate the tool.

„ Copy Command. Type the name of the tool used to copy input and output
files between the current local working directory and the given working
directory on the named remote host. You may also use the Browse... button to
locate the tool.

Each tool name may be followed by command-line arguments. For example, the
Copy command typically requires a flag to preserve a copied file’s mode and
permissions.

7. Click OK to save your changes.

Using the OS Command API


The OS Command component provides an API for programmatically configuring the
OS Command component using a Java program. For more information about APIs and
how they use keywords on generic get/set/add/call methods, see “Editing Component
Properties,” on page 25.

The API for the OS Command component consists of the following methods:

„ getString("type"), set("type", theType). This method allows you


to get/set whether this component executes a command ("command") or a script
("Script").

„ getString("command"), set("command", theCommand). This


method allows you to get/set the command to execute.

„ getString("commandargs"), set("commandargs", theArgs).


This method allows you to get/set the arguments to supply with the command.

„ getString("scriptinterpreter"), set("scriptinterpreter",
interp). This method allows you to get/set the interpreter to use for executing
the script. The interpreter types are defined in the OSCommand preferences.

Isight Component Guide


454 Chapter 3 Using Activity Components

„ getString("scriptarguments"), set("scriptarguments",
theArgs). This method allows you to get/set the arguments to supply to the
script for execution.

„ getString("waitforfile"), set("waitforfile", fileName).


This method allows you to get/set the name of a file that must exist before the
component considers its execution to be complete.

„ getInt("waitforfiledelay"), set("waitforfiledelay",
delaySecs). This method allows you to get/set the amount of time (in seconds)
that the component should wait after it finds the specified file to wait for (and
optionally text in that file) before considering its execution to be complete.

„ getString("waitfortextinfile"), set("waitfortextinfile",
text). This method allows you to get/set the text that must exist in the specified
file before the component considers its execution to be complete.

„ getInt("maxexecutiontime"), set("maxexecutiontime",
maxTime). This method allows you to get/set the amount of time (in seconds) the
component is allowed to execute before it is forcefully failed.
„ getInt("retrylimit"), set("retrylimit", numRetry). This
method allows you to get/set the number of times that the component execution
should be retried if it fails.

„ getInt("retrydelay"), set("retrydelay", delaySecs). This


method allows you to get/set the amount of time (in seconds) that the component
should wait before retrying execution after failure.

„ getInt("retryiffailedbefore"),
set("retryiffailedbefore", time). This method allows you to get/set
the amount of time (in seconds) within which a component will retry execution if it
fails. Typically, this is used to allow for retrying execution of longer running codes
when they fail at the start of execution (due to unavailable licenses or other
environmental problems/conflicts), but to not retry when they fail later once the
code has actually begun execution properly.

„ getInt("loglinelimit"), set("loglinelimit", numLines).


This method allows you to get/set the limit on the number of lines that will be
written to the log from standard output or standard error.

Isight Component Guide


Using the Pause Component 455

„ getBoolean("logstderror"), set("logstderror", logIt). This


method allows you to get/set whether or not standard error messages should be
written to the job log.

„ getBoolean("logstdoutput"), set("logstdoutput", logIt).


This method allows you to get/set whether or not standard output messages should
be written to the job log.

„ getBoolean("failwhenstderror"), set("failwhenstderror",
fail). This method allows you to get/set whether or not to fail execution when
something is written to standard error.

„ getBoolean("failwhenstdoutput"),
set("failwhenstdoutput", fail). This method allows you to get/set
whether or not to fail execution when something is written to standard output.

„ getString("xwindowshost"), set("xwindowshost", hostName).


This method allows you to get/set the UNIX hostname to use for the X-Windows
display.

„ call("quote", String parameterName). This method allows you to


quote a parameter correctly for including in the command line or the text of a
script.

Using the Pause Component


The Pause component provides a mechanism for inserting pre-defined pauses within a
workflow and optionally performing various interactive activities during the pause.

The Pause component has three primary functions:

„ Pause only (with various options for when to resume)

„ Ask a question

„ Display parameters for review and possible modification

Each of these has different options for configuring how it should behave as part of the
workflow. The options are discussed in the following sections. Also, before using this
component, be sure to review “Known Issues,” on page 463.

Isight Component Guide


456 Chapter 3 Using Activity Components

This section is divided into the following topics:

„ “Starting the Component and Specifying an Action” on this page

„ “Using the Pause only Action,” on page 457

„ “Using the Ask a question Action,” on page 459

„ “Using the Display parameters Action,” on page 461


„ “Using the Automatic Resume and Execution Location Options,” on page 462

„ “Known Issues,” on page 463

Starting the Component and Specifying an Action


To start the Pause component and specify an action:

1. Double-click the component icon to start the component editor. For more
information on inserting components and accessing component editors, refer to the
Isight User’s Guide. The Component Editor dialog box appears.

Isight Component Guide


Using the Pause Component 457

2. Select one of the following options from the Action drop-down list:

„ Pause only. This option causes the workflow to pause and wait until the
specified criteria are met, the Continue button on the provided dialog box is
clicked, or the specified resume time expires. For more information on this
option, see “Using the Pause only Action” on this page.

„ Ask a question. This option causes the workflow to pause and a specified
question displays. The workflow is paused until the answer is provided and the
the OK button is clicked, or the specified resume time expires. For more
information on this option, see “Using the Ask a question Action,” on
page 459.

„ Display parameters. This option causes the workflow to pause and a specified
set of parameters displays, allowing for changes to the parameter values before
the workflow proceeds. For more information on this option, see “Using the
Display parameters Action,” on page 461.

Using the Pause only Action


If you select this action, the component editor appears as shown below:

Isight Component Guide


458 Chapter 3 Using Activity Components

To specify the options for this action:

1. Set the Show a dialog while paused option. When this option is selected, a dialog
box appears when the Pause component is executed in the workflow. The dialog
box may contain any of the following items, based on how the other options for
this action are set:
„ A standard message appears indicating the workflow has been paused. You
can replace the standard message with a customized message by clicking the
Custom Message check box; then, enter the customized message in the
corresponding text box.

„ A Continue button to manually continue the workflow.

„ A message about the file that must be found in the local file system (and
optionally what text it must contain) before continuing the execution, if this
option has been set. For more information on this option, see step 2.
„ A countdown to the automatic resumption is provided, if this option has been
set. For more information on this option, see step 5.
2. Set the Resume as soon as this file exists option. When this option is selected, the
workflow pauses until the specified file exists. You can type the path and file
information directly into the corresponding text box, or you can navigate to the file
using the Browse... button. You can also define text that must exist within the file
using the option in step 3. The file name specified may contain parameter value
substitutions (using the {var <parameter name>} syntax) or a model
directory substitution (using the {modeldir} syntax).

3. Set the Only if this text is found option. This option is activated for use if the
Resume as soon as this file exists option is selected. You can use this option to
specify text that must exist in the specified file in order for the workflow to
resume, and you can determine if the case of the text is important using the Ignore
Case check box. The text to search for may contain parameter value substitutions
(using the {var <parameter name>} syntax) or a model directory
substitution (using the {modeldir} syntax).

4. Set the Resume as soon as email arrives option. When this option is selected, the
workflow pauses until an email from the specified email address is received. If you
only want to resume if the subject of the email contains certain text, type that text
into the Subject contains text box.

Isight Component Guide


Using the Pause Component 459

Note: Click the Mail Options button to specify the information to use to connect
to the mail server and the details of your email account. Only messages that arrive
in your “inbox” mail folder will be checked.

5. See “Using the Automatic Resume and Execution Location Options,” on page 462
for information on the resume options available as well as determining where the
Pause component (and associated interface) should be executed when used in a
distributed environment (using an ACS in the Fiper environment).

6. Click OK to close the editor.

Using the Ask a question Action


If you select this action, the component editor appears as shown below:

Isight Component Guide


460 Chapter 3 Using Activity Components

To specify the options for this action:

1. Type the question that will be asked in the Question text box.

2. In the Possible Answers area, select one of the following options from the first
drop-down list:

„ User will pick from a set. Selecting this option allows you to control the
possible answers to the question, and how the answers are presented. Proceed
to step 3 for more instructions.

„ User will type anything. Selecting this option provides a text box for typing
an answer. Proceed to step 5.

3. Update the Specify possible answers list to correspond with your question. The
answers of “Yes” and “No” are provided by default. You can specify as many
options as necessary by clicking in the last empty row of the table to provide a new
option.

4. Determine how the answers will be selected using the Display as drop-down list.
You can specify to display the answers using radio buttons or a drop-down menu.

5. Specify the information for the answer parameter using the Parameter to contain
answer drop-down list. By default, a parameter called “answer” is provided. You
can change the name of the parameter directly in the corresponding text box.

See “Using the Automatic Resume and Execution Location Options,” on page 462
for information on the resume options available as well as determining where the
Pause component (and associated interface) should be executed when used in a
distributed environment (using an ACS in the Fiper environment).

6. Click OK to close the editor.

Isight Component Guide


Using the Pause Component 461

Using the Display parameters Action


If you select this action, the component editor appears as shown below:

To specify the options for this action:

1. Select the parameters that you want displayed during execution from the list that
appears. You can select individual parameters or you can use the Select All button
to select every displayed parameter.

The list shows all of the parameters available in the current workflow. Selected
parameters have the icon in the first column of the list. Values for the selected
parameters will be presented in a separate dialog box during execution and can be
modified as a means of interactively influencing the design.

2. See “Using the Automatic Resume and Execution Location Options,” on page 462
for information on the resume options available as well as determining where the
Pause component (and associated interface) should be executed when used in a
distributed environment (using an ACS in the Fiper environment).
3. Click OK to close the editor.

Isight Component Guide


462 Chapter 3 Using Activity Components

Using the Automatic Resume and Execution


Location Options
The Pause component provides some general options for if/when the workflow should
automatically resume.

„ Set the Automatically resume option. If activated, any pause in the workflow will
automatically end once the specified (after option) time limit or clock time (at
time option) is reached.
„ If the after option is used, the countdown time is displayed during execution
so that you will know how much time remains before it automatically resumes.

„ The at time option is useful for deferring execution of various parts of the
workflow until a time at which computing resources are known to be available
or a certain user is available to perform some interactive process within the
workflow. Note that if the specified time of day is already passed, the
workflow will resume immediately. If the at time option is used, the time
when the execution will resume is displayed.

You will be able to resume the execution at any time by clicking the Continue
button on the dialog box that appears during execution.

Note: If you do not want the Pause component to automatically resume, simply
clear (uncheck) this option. Clearing this option will also set the general Timeout
option on this component to “0” (meaning it will never timeout). For more
information on component properties, see “Editing Component Properties,” on
page 25.

„ If your model is to be executed within a distributed environment using the Fiper


ACS, you can set the execution location for this Pause component using the
Execute on drop-down list. When executing on your desktop (in Standalone
mode), the Pause component will execute on your local computer.

Isight Component Guide


Using the Pause Component 463

The following options are available:

„ computer job was submitted from. The Pause component, and any
associated interface, will execute on the computer from which the job was
initially submitted. Select this option if your intent is to have the person
executing the model also be the one prompted with any questions or parameter
lists, or just to monitor the status of the pause. Since this option is the most
typical scenario, it is the default setting.

„ specified Fiper Station. The Pause component will execute on the computer
that serves as the Fiper Station specified in the provided text box.

„ any Fiper Station. The Pause component will execute on any available Fiper
Station as selected by the Fiper ACS.

Known Issues
The following issues exist with this component:

„ When using the Automatically resume at time option during daylight savings
time (DST), the Pause component uses the incorrect time on Windows systems that
do not have the “Automatically adjust clock for daylight savings changes” option
enabled on the Windows Date and Time Properties dialog box.

This interface is accessed by double-clicking the clock in the system tray; then,
clicking the Time Zone tab. The option is at the bottom of the tab.

If daylight savings is in effect in the current time zone, but this Windows option is
not enabled, Isight uses a time value which is incorrect by one hour. This issue
affects the Pause component’s ability to resume execution at a specific time of day.

„ When executing in a distributed environment on a Fiper Station, the Pause


component editor might initially come up behind other windows. On Windows
operating systems, an item is provided in the Windows Task bar to provide access
to the editor at all times.

Isight Component Guide


464 Chapter 3 Using Activity Components

Using the Reference Component


The Reference component allows you to integrate a previously created and published
model into your current model. This previously created model can be stored in your
Library or in the Library of a remote partner. You can also choose a submodel of the
current model, that was created using the Design Gateway, as a referenced object.

The remote partner access feature is the primary means of enabling Fiper Federation
(Business-to-Business) capabilities. It allows you to select a model that resides at a
partner organization (which has a Fiper ACS) and insert a reference to it within your
own workflow. When this component is executed as part of your workflow, Isight
makes the appropriate connection to the partner Fiper ACS (which executes the remote
model), and receives the outputs from that remote execution. With this capability,
various organizations can collaborate on an overall product design by contributing
analysis and design results from their own specialty areas of responsibility, while still
maintaining the proprietary nature of their data and methods.

For more information on using Fiper Federation, refer to the Fiper Federation (B2B)
Guide. For more information on other referencing options, refer to the Isight User’s
Guide.

This section is divided into the following topics:


„ “Understanding Component Prerequisites,” on page 465

„ “Accessing the Component and Selecting the Reference Type,” on page 466

„ “Referencing a Submodel,” on page 468


„ “Referencing a Model in the Library,” on page 470

„ “Referencing a Remote Model,” on page 472

„ “Resynchronizing a Reference,” on page 475

Isight Component Guide


Using the Reference Component 465

Understanding Component Prerequisites


The following prerequisites apply when using the Reference component:

„ Isight's underlying Federation capability is provided and governed by the Fiper


ACS. Thus, to take advantage of this capability, both organizations involved in the
collaboration must have the full Fiper environment (ACS) installed; B2B
functionality is not available running Isight in a Standalone mode. In addition,
these ACS installations must use the same application server product (for example,
WebSphere-to-WebSphere or WebLogic-to-WebLogic), due to the way the
communication and transfer of information is carried out. For more information on
installing the ACS, refer to the Fiper Installation and Configuration Guide that
matches your ACS combination.

„ For two Fiper-enabled organizations to collaborate, they must register each other
as “partners” so that the necessary connection protocols can be established. Partner
registration is performed as a Fiper administrator function and can be done at any
time. For more information on defining a Fiper partner, refer to the Fiper
Federation (B2B) Guide.

„ For an organization to share a model with another organization, it must publish it


to the Library, and select the option to “Share this model with other Fiper
environments”, specifying the necessary information to identify the Fiper
partner(s) to share this model with. For more information on publishing models,
refer to the Isight User’s Guide.

The remainder of this section assumes that the aforementioned prerequisites have been
met.

Isight Component Guide


466 Chapter 3 Using Activity Components

Accessing the Component and Selecting the


Reference Type
To access the Reference component and select the type of reference to use:

1. Verify that the Reference component is selected in the workflow area; then,
double-click the component icon to start the component editor. For more
information on inserting components and accessing component editors, refer to the
Isight User’s Guide.
The Component Editor dialog box appears.

2. Click the Choose Model... button.

Isight Component Guide


Using the Reference Component 467

The Select Reference Model dialog box appears.

This dialog box shows three top-level categories, which represent all the places a
model reference can be made. The first category (Internal Submodels) is a single
level that shows all the internal submodels currently defined in your model. The
root component icon and name are shown for each submodel.

Important: Submodels must be created from the Design Gateway before they can
be used within the Reference component. For more information on how to create
submodels as well as the benefits of using submodels, refer to the Isight User’s
Guide.

The second category (Fiper Library) is a Library browser which shows models
published to the local Library. The third category (Remote Partner) shows a
two-level subtree. The first level displays all the partners known to the ACS, and
for each partner, the list of models you are authorized to use. For more information
on configuring Fiper’s federation capability, refer to the Fiper Federation (B2B)
Guide.

Isight Component Guide


468 Chapter 3 Using Activity Components

3. Proceed to one of the following sections, based on the type of model you want to
reference:

„ “Referencing a Submodel” on this page

„ “Referencing a Model in the Library,” on page 470

„ “Referencing a Remote Model,” on page 472

Referencing a Submodel
This option allows you to reference an internal submodel currently defined in your
model. Submodels must be created from the Design Gateway before they can be used
within the Reference component. For more information, refer to the Isight User’s
Guide.

To reference a submodel in the current model:

1. Access the Select Reference Model dialog box as described in “Accessing the
Component and Selecting the Reference Type,” on page 466.

2. Expand the Internal Submodels option on the left side of the dialog box. The
available submodels are listed.

Isight Component Guide


Using the Reference Component 469

Important: Submodels must be created from the Design Gateway before they can
be used within the Reference component. For more information on how to create
submodels, refer to the Isight User’s Guide.

3. Click the submodel to select it. The submodel’s information appears on the right
side of the dialog box.

4. Verify that you have selected the correct submodel; then, click the Select Model
button.

Isight Component Guide


470 Chapter 3 Using Activity Components

You are returned to the Reference component editor, and the selected model’s
information now appears on the editor.

5. (optional) As desired, change any values for the input and output parameters.

6. Click OK to close the editor. The submodel is added to your workflow. For more
information on submodels, refer to the Isight User’s Guide.

Referencing a Model in the Library


This option allows you to reference a model in the current Library, for both standalone
and ACS connections.

To reference a model in your Library:


1. Access the Select Reference Model dialog box as described in “Accessing the
Component and Selecting the Reference Type,” on page 466.

2. Expand the Fiper Library option on the left side of the dialog box; then, navigate
to the location of the model you want to use (if necessary).

Isight Component Guide


Using the Reference Component 471

3. Click the model to select it. The model’s information appears on the right side of
the dialog box.

Note: The parameters that are displayed in the model are specified using the model
properties. For more information, refer to the Isight User’s Guide.

4. Verify that you have selected the correct model; then, click the Select Model
button.

Isight Component Guide


472 Chapter 3 Using Activity Components

You are returned to the Reference component editor, and the selected model’s
information now appears on the editor.

5. (optional) As desired, change any values for the input and output parameters.

6. Click OK to close the editor. The model is added to your workflow. For more
information on how reference models are handled by Isight, and how the workflow
is affected, refer to the Isight User’s Guide.

Referencing a Remote Model


This option allows you to reference a model in a partner (remote) ACS.

To reference a model in a partner’s Library:


1. Access the Select Reference Model dialog box as described in “Accessing the
Component and Selecting the Reference Type,” on page 466.
2. Expand the Remote Partner option on the left side of the dialog box.

Isight Component Guide


Using the Reference Component 473

A list of Fiper partners that have been defined for your organization is displayed.
In the following example, the administrator had defined one partner (partner1) that
can be accessed from the local ACS.

3. Expand the partner that possesses the model you want to use. The available models
are displayed.

Isight Component Guide


474 Chapter 3 Using Activity Components

When a partner is selected, a remote query is made to get a list of all models on the
remote ACS that have shared attributes matching the local ACS domain and the
logged on user ID.

Note: If your Fiper environment does not yet have any partners established, the
Partners list will be empty and you will not be able to proceed. Refer to the Fiper
Federation (B2B) Guide for information on defining partners for your Fiper
environment.

4. Click the model you want to use. The model information, including name, version,
and parameters, is loaded. You are also informed if no models are present in the
Library.

Note: The parameters that are displayed in the model are specified using the model
properties. For more information, refer to the Isight User’s Guide.

5. Verify that you have selected the correct submodel; then, click the Select Model
button.

Isight Component Guide


Using the Reference Component 475

You are returned to the Reference component editor, and the selected model’s
information now appears on the editor.

The inputs and outputs of the remote service are read and used to populate the
inputs and outputs of the local Reference component. The default values for inputs
were taken from the default values defined in the remote service.

6. (optional) As desired, change any values for the input and output parameters.

7. Click OK to close the editor. For more information on how reference models are
handled by Isight, and how the workflow is effected, refer to the Isight User’s
Guide. For more information on Fiper federation capabilities, refer to the Fiper
Federation (B2B) Guide.
Note: Federated Reference models are not expanded/visible. You cannot see the
internal parts of the model (i.e., components, workflow, dataflow, parameters).

Resynchronizing a Reference
When a model contains a Reference component that is configured to refer to a
published model, the published model does not become part of the referencing model.
Therefore, it is possible for the published model to be altered so as to no longer match
the configuration of the Reference component. A new version of the model may be

Isight Component Guide


476 Chapter 3 Using Activity Components

published, or the existing version replaced; any of the following changes (for example)
may affect references:

„ The values of variables exposed in the published model’s interface may be


changed.

„ The published model’s interface may be edited to expose more, or fewer, variables
of the model’s root component. Variables may even have been added to, or deleted
from, the root component.
„ The published model may have been deleted from one location and republished to
another location.
„ The published model may have been permanently deleted.

The configuration of the Reference component can be easily corrected when this has
happened.

1. Double-click on the Reference component to open the component editor.

Below the Choose Model button there is now a Sync to Model button.

2. Click the Sync to Model button. A new version of the published model’s interface
will be loaded from the configured location, and the Reference component will be
reconfigured to match it.

Isight Component Guide


Using the Script Component 477

If the published model has been moved or deleted, then click Choose Model and
select a replacement model instead.

3. Click OK or Apply to save the new configuration.

Note: If the set of variables has changed you may need to edit the model to
accommodate the changes.

Using the Script Component


The Script component allows you to execute Java code in your model. This section is
divided into the following topics:

„ “Using the Script Component,” on page 478


„ “Using Dynamic Java,” on page 481

„ “Parameter Data Types,” on page 482

„ “Job Log and Local Directory,” on page 483


„ “Script Execution,” on page 483

„ “Resizable Arrays,” on page 484

„ “Understanding Limitations,” on page 485

Isight Component Guide


478 Chapter 3 Using Activity Components

Using the Script Component


To use the Script component:

1. Double-click the component icon to start the component editor. For more
information on inserting components and accessing component editors, refer to the
Isight User’s Guide. The Component Editor dialog box appears.

The upper portion of the dialog box lists the available parameters. The lower
portion shows the script.

2. Alter parameter information displayed in the Available Parameters list, if desired.


The existing parameters for this script and for the components around it in the
workflow are displayed at the top of the editor.

Isight Component Guide


Using the Script Component 479

You can perform any of the following options:

„ Add new parameters using the button.

„ Add a new parameter as a member of the selected aggregate parameter using


the button.

Note: This button is only active if an aggregate parameter is selected in the


Available Parameters list.

„ Delete existing parameters using the button.


The columns in the Available Parameters list show the following information:

„ Name. This column shows the name of the parameter and the array/aggregate
hierarchy.

„ Java Variable. This column shows the name that the parameter has inside of
the script. This is initially the same as the Parameter name, with punctuation
and spaces converted to underscores ( _ ). You can edit the Variable name and
change the name used in the script if you wish.

„ Value. This column shows the current parameter value. You can edit this entry
to change the initial value of the parameter.

„ Mode. This column shows the mode of the parameter (input, in/out, output, or
local). If the parameter is not used by the script, the mode the parameter has in
the model (the mode it would have if mapped to the component) is shown.

„ Java Type. This column shows the declared type the parameter variable will
have in the script. You can select a different type using the pull-down menu.
The available types are described in more detail below.

Note: Arrays are followed by [ ] in this column indicating that the Java
variable is an array.
3. Type your script in the Enter your Java script here text box.

Isight Component Guide


480 Chapter 3 Using Activity Components

The Script consists of Java statements, such as you would see inside the body of a
Java method. A surrounding Class or Method declaration is not needed or allowed.

Here are some examples:


System.out.println("My Script runs.");
for (i = 0; i < array.length; i++) {
total += array[i];
}
jobLog.logInfo("The total is " + total);

It is not necessary to declare variables before using them. All of the parameters are
pre-declared. Other variables (such as “i” above) can be used as long as the first
reference is an assignment.

Parameters are referenced in the script by just typing their variable name (from the
Variable column). You can also insert a reference to a parameter by selecting the
parameter and clicking the button.
Simple functions can be declared and called. Here is a trivial example:
int fact(int x) { return x == 0 ? 1 : x * fact(x-1); }
fact_X = fact(X);

4. Click the Check Syntax button to verify the syntax of your script. Any messages
about the script are displayed on the status bar at the bottom of the editor. Any
syntax errors in the script are highlighted in pink. The pink error highlight will go
away as soon as you edit the program.

Note: You can click the Details... button to get more information on a syntax error.
5. Repeat this procedure, as desired, until your Java script is complete.

6. Click OK to close the editor.

Isight Component Guide


Using the Script Component 481

Using Dynamic Java


The Script component uses the Dynamic Java interpreter to run the script. The script is
executed statement-by-statement from the top down, meaning that classes, methods,
and variables must be declared before they are first used.

In addition to supporting normal Java statements and expressions, Dynamic Java


extends the Java language in the following ways:

„ You can write classes in the script and create instances of them.

„ You can write functions using the Java method declaration syntax. For example:
int factorial(int i) {
if (i <= 0) return 1;
else return i * fact(i-1);
}
intVar2 = factorial(intVar1);

Note that a function cannot be called until after it is defined. Also, the body of the
function does not have access to global variables or parameters, only to the
function arguments. So, for example, it would be an error to try to reference
intVar1 inside the body of factorial.

„ Variables do not need to be declared if the first use of the variable is an


assignment. The variable is implicitly declared with the type of the right-hand
expression. Thus the statement:
s = xxx.toString();

declares variable s as type String.

„ Import statements can be interspersed with statements in the script, as long as the
Import statement occurs before the symbols it imports are used.

Isight Component Guide


482 Chapter 3 Using Activity Components

Parameter Data Types


A Parameter can be used in the Script in several different ways. The default is to
represent the parameter as its primitive type:

„ Real as “double”
„ Integer as “int”
„ Boolean as “boolean”
„ String as “java.lang.String”

The value of the parameter is copied into the Java variable before the script starts, and
the value of the Java variable is copied back into the Parameter after the script finishes
(for parameters with mode Output and In/Out only).

A Parameter can also be put into the script as a “Value” object. For example, a Real
parameter could be represented by a RealValue. Value objects have methods like
“setValue(String)” or “getAsReal()”. The advantage of a Value is that there is no need
to copy the contents out to the parameter - any change to the Value immediately
updates the associated Parameter. Value objects can also be updated inside functions,
allowing you to emulate the C-language pass-by-reference operator “&”.

A parameter can also be put into the script as a Variable object. Using the Variable
allows access to additional information beyond just the value. You can get the
parameter name, mode, data type. Members of aggregate Parameters can be accessed
in this way:
abc = AggParm.getMember("abc");

Array Parameters are added to the script as an array of the primitive type, an array of
Value objects, or an ArrayVariable.

Isight Component Guide


Using the Script Component 483

Job Log and Local Directory


In addition to the normal Parameters, there are three special variables you can use in
your script:

„ jobLog. Used to log messages to the Isight job log. The standard usage is:
jobLog.logWarn("Warning - things are going wrong!");

Note: System.out and System.err are directed to the gateway.log file when an
Isight model is run (and to the Station log file when the model is run via Fiper).
The jobLog variable is the preferred way to report messages from a Script.

„ localDir. A java.io.File that points to the component's working directory. Any


temporary files needed by the script should be written to this directory. A useful
idiom for creating a temporary file is:
stream = new FileOutputStream(new File(localDir,
"temp.dat"));
stream.write(myData);
stream.close();

„ runtimeEnv. The complete runtime environment of the Script component. This


can be used to access the JobID, UserID, etc. For a full list of the methods on this
object, refer to the RuntimeEnv.html Javadoc file in the following Isight
installation directory:

<Isight_install_directory>/javadocs/com/engineous/sdk/runtime

These variables cannot be renamed or deleted.

Script Execution
The script is evaluated by statement at runtime until the last statement completes.
When the last statement completes, the Script component is considered to have
finished successfully. If any statement gets an error, or the script throws an uncaught
exception, the Script component is considered to have failed.

Isight Component Guide


484 Chapter 3 Using Activity Components

The standard exception to throw to indicate a failure is RtException. For example,


if (! resultsUsable)
throw new RtException ("The results are not usable
x="+x);

Resizable Arrays
Array parameters can change size at runtime. You can find the size of array parameters
by using one of the following methods:

„ If the Java Type is = 'double[]' or 'RealValue[]', use the java .length


operator:

N= array.length;

„ If the Java Type is ArrayVariable, use the getsize()method (for a


1-dimensional array) or the getDimSize1(int) method for a
multi-dimensional array:

Ncolumns= array2D.getDimSize1(2);

For more information, refer to the ArrayVariable.html file in the following Isight
installation directory:

<Isight_install_directory>/javadocs/com/engineous/sdk/vars

A resizable Array Parameter with model Output or In/Out can be resized by the script
at runtime.

„ If the Java type is 'double[]', use the following statement:

myArray = new double[newsize];


This statement resets the value of every element of the array to the default 0.0.

„ If the Java type is ArrayVariable, use the following statement:

myArray.setDimSize(newSize);

When an ArrayVariable is resized this way, the value of existing array elements
are preserved, and new elements are set to the default value 0.0.

Isight Component Guide


Using the Simcode Component 485

Understanding Limitations
The Script component cannot be used to create new parameters or to change the type of
an existing parameter at runtime. There is no way to run a script at design time. The
script will run only when the model that contains the script component is run.

Using the Simcode Component


The Simcode component is, in essence, an OS Command component surrounded by
two Data Exchanger components. It is used to wrap an external program that reads and
writes files for use in Isight models.

Note: The Simcode component can be used by the iSIGHT File Parser or the Fast
Parser instead of the Data Exchanger to read and write files. For more information on
setting this preference, refer to the Isight User’s Guide.

The input data exchanger is used to update an input file (such as a NASTRAN input
deck) with values taken from parameters. The OS Command portion runs an external
program (or a script that calls multiple programs) that reads input from files and writes
results to files. Finally, the output data exchanger examines the files written by the
program and extracts values into parameters.

The big advantage of using the Simcode component over separate Data Exchanger and
OS Command components is that copying of the input and output files between
machines when running on a Fiper ACS is avoided; the files are created, used, and
(unless saved) discarded in one step.

This section is divided into the following topics:

„ “Understanding the Differences Between the Simcode Component and Separate


Components,” on page 486

„ “Configuring the Component,” on page 487

„ “Additional Information,” on page 494

„ “Setting Simcode Component Preferences,” on page 495

Isight Component Guide


486 Chapter 3 Using Activity Components

Note: This section provides a brief overview of the parts of the Simcode component
editor. For more detailed information on using the Data Exchanger component, see
“Using the Data Exchanger Component,” on page 266. For more detailed information
on using the OS Command component, see “Using the OS Command Component,” on
page 426. For more information on using the Grid Adapter, see “Setting Grid Adapter
Options,” on page 441. For more information on using the Fast Parser or iSIGHT File
Parser, see “Using the Fast Parser Component,” on page 366 or “Using the iSIGHT
File Parser Component,” on page 392. For more technical information on setting up a
simcode, contact your SIMULIA representative.

Understanding the Differences Between the


Simcode Component and Separate Components
The Command tab of the Simcode editor is identical to the OSCommand component.

The Data Exchanger in a Simcode differs only slightly from the Data Exchanger
component:
„ The Input tab is limited to writing files and the output tab is limited to reading files.
A separate Data Exchanger component can read or write files, and can even open
multiple files in different modes.

„ The dialogs used to open files on the Input and Output tabs are slightly different
from the one used by a Data Exchanger component.

„ The Input tab uses only one input file parameter for the file to be written. This file
is effectively updated in-place. A Data Exchanger component would have two file
parameters: an input parameter for the template file and an output file parameter
for the file that is written.
„ The Output tab uses one output file parameter for the file written by the Command.
The file is read by the Data Exchanger after the command writes it and before it is
optionally mapped to a subsequent component. A Data Exchanger component
would use an Input file parameter for the file to read.

The main differences between using the Simcode component over the separate iSIGHT
File Parser component is the output file is of mode output when in Simcode, but input
when in standalone (this lets it be mapped to other components downstream).
Additionally, when using the Simcode component, the modes cannot be changed.

Isight Component Guide


Using the Simcode Component 487

Similarly, when using the Simcode component with Fast Parser, the modes cannot be
changed.

Configuring the Component


To configure the Simcode component:

1. Double-click the component icon to start the component editor. For more
information on inserting components and accessing component editors, refer to the
Isight User’s Guide. The Component Editor dialog box appears.

There are three tabs at the top of the editor, one each for the Input parser, the OS
Command, and the Output parser. Each of these tabs also has sub-tabs containing
additional options.

Note: For the following documentation example, the Data Exchanger is used as the
file parser.

2. Specify the command and arguments on the Command tab. For more information
on using this tab, see “Using the OS Command Component,” on page 426. This tab
is essentially an embedded OS Command component.

Isight Component Guide


488 Chapter 3 Using Activity Components

3. Click the Input tab. The contents of the tab appear.

Note: If you are using Fast Parser or iSIGHT File Parser, see “Using the Fast
Parser Component,” on page 366 or “Using the iSIGHT File Parser Component,”
on page 392.

This tab is used to define the input data sources for the simcode.
4. Click the large button in the center of the dialog box to begin the process of
defining a data source.

Isight Component Guide


Using the Simcode Component 489

The Select Data Source screen appears.

5. Select the source of the data you want to update in the input file parse. The
following three options are available:

„ Update a template file. An existing template file will be updated at runtime.


Proceed to step 6.

„ Write a new file from scratch. A new file will be created at runtime. Proceed
to step 12.

„ Modify an existing file parameter. An existing file parameter will be


modified at runtime. Proceed to step 10.

6. Click Next. The Select Template File screen appears:

Isight Component Guide


490 Chapter 3 Using Activity Components

Note: An Input file parameter is created for the Template file. While the template
file is usually fixed, it is possible to map another file parameter to the Template file
parameter, allowing the template to vary at runtime.

7. Enter the template file into the text box or use the Browse button to locate the file.

8. Select one of the following:

„ Store content of the template in the model. This option allows for the model
to be self-contained – it can be run even if the file is subsequently deleted.
However, the file must be explicitly re-loaded (using the Files tab on the
Design Gateway) to pick up any changes made to the file after the model is
created.

„ Read template from this file for every run. The model will reference the file
on disk every time the simcode executes. This option is faster, saves space for
large files, and causes the model to see any changes to the file the next time it
is run. However, it can prevent distributed execution of the model, and the
model becomes unusable if the file is deleted.

9. Proceed to step 12.

10. Click Next. The Select File Parameter screen appears.

11. Select the file parameter that will provide the template data that will be updated by
the input file parse. This file parameter can already be part of the Simcode
component, or it can be an output from another component earlier in the workflow.

Isight Component Guide


Using the Simcode Component 491

12. Click Next. The Select Local File Name screen appears.

13. Enter the file name or use the Browse button to locate the file. Isight automatically
fills in the text with the simple name of the file (the name with the path removed).
This is the name the file will have at runtime. The name defaults to the name of the
template file.

The File Format options dialog box appears. For more information on using this
dialog box, see “Creating a New Data Exchanger Program,” on page 279.

Isight Component Guide


492 Chapter 3 Using Activity Components

14. Click the Output tab. The contents of the tab appear

Note: If you are using Fast Parser or iSIGHT File Parser, see “Using the Fast
Parser Component,” on page 366 or “Using the iSIGHT File Parser Component,”
on page 392.

This tab is used to read data for the output data sources for the simcode.

Isight Component Guide


Using the Simcode Component 493

15. Click the large button in the center of the dialog box to begin the process of
defining a data source. The Select Sample File screen appears.

16. Enter an example of the output file format or use the Browse button to locate the
file. This file format is used when setting up the parse.

17. Enter the local file or use the Browse button to locate the file. This file is the one
that OSCommand will write to during runtime. Isight automatically fills in the text
with the simple name of the file (the name with the path removed). This simple
name is the name the file will have at runtime. The name defaults to the name of
the template file.

18. Click Next. The Output Destination screen appears.

Isight Component Guide


494 Chapter 3 Using Activity Components

19. Select where the data will be stored after the file is parsed. The three options
available are:

„ Store with Job Results.

„ Don’t store the file. The file cannot be mapped to other components.

„ Write to a file. You will need to enter the name of the file or use the Browse
button to locate the file.

20. Click Next. The File Format screen appears. For more information on the File
Format screen, see “Creating a New Data Exchanger Program,” on page 279.
21. Click OK to close the editor.

Additional Information
The following additional information should be noted when using the Simcode
component:

„ Files set up on the Required Files subtab of the Command tab are available for use
by the Input and Output tabs. Select the parameter associated with the file from the
File to Read at Runtime or File to Write at Runtime drop-down lists on the
Open Data Source wizard of the Input or Output tab.

„ The input files set up by the input file parse and the output files passed by the
output parse can be substituted into the command line, and can be used to redirect
standard input or output of the command.

Isight Component Guide


Using the Simcode Component 495

The files are available in the drop-down parameter list as file parameters.

The absolute path to the file will be substituted into the Runtime command text
box.

Setting Simcode Component Preferences


To set component preferences:

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.

2. Expand the Components folder on the left side of the dialog box; then, select
Simcode.

Isight Component Guide


496 Chapter 3 Using Activity Components

3. Set the Default Parser type option using the corresponding drop-down list. This
option allows you to select the parser you want to automatically use when you are
creating a new Simcode component. You can choose Fast Parser, iSIGHT File
Parser, or Data Exchanger. Data Exchanger is the recommended file parsing tool
and is selected by default. The iSIGHT File Parser and Fast Parser are used as an
aid in converting an iSIGHT description file into an Isight model.
4. Click OK to save your changes and close the Preferences dialog box.

Using the Word Component


The Word component is used to populate Microsoft Word document files (i.e., *.doc,
*.docx) with the values of Isight parameters, typically for the purposes of generating a
custom report. The component can create a new document, or it can be used to modify
an existing Word document. You can also execute any macros that are defined as part
of the Word document.

This section is divided into the following topics:

„ “Setting Up the Component,” on page 497

„ “Setting Station Execution Permissions (Fiper Environment Only),” on page 500

„ “Setting Word Component Preferences,” on page 504

Isight Component Guide


Using the Word Component 497

Setting Up the Component


To use the Word component:

1. Double-click the component icon to start the component editor. For more
information on inserting components and accessing component editors, refer to the
Isight User’s Guide. The Component Editor dialog box appears.

2. Determine if you want to use an existing Word document as a template, or create a


new one:

„ To use an existing Word document, click the Browse... button in the Starting
Document area; then, navigate to the document you want to use. Word is
started and the document is opened. When an existing document is opened, it
is copied into the system temporary directory and all modifications are made to
that document. The original document remains unchanged.

„ To create a new Word document, click the button in the Starting


Document area. Word is started on your system, and a new file is loaded.

Note: Only one document can be opened using the component. When an additional
new document is created, or another existing document is opened, the previously
opened document is closed.

Isight Component Guide


498 Chapter 3 Using Activity Components

Important: If you manually close the Word document that was opened by the
component editor, the editor is not notified. You must click OK to close the editor
and then re-open it.

Now you need to map the desired Isight parameters to the Word document.

3. Highlight the area or place the cursor in the Word document where you want the
parameter value to appear.

Note: You can insert parameter values into a formal Word table in the document
by selecting the desired cell location(s).

4. Bring the component editor back into the foreground.

5. Perform one of the following actions, based on how you want to map parameters to
the Word document:

„ If you want to map parameters individually and control their exact location in
the Word document, proceed to step 6.

„ If you want to create a “<name>=<value>” list that contains all available


parameters, proceed to step 12.

6. Select a parameter from the Parameter to insert drop-down list in the Instructions
area.

You can sort the parameters in the list by component. Right-click in the list, and
then select Group Parameters. The setting is now saved in the preferences for this
component. There is a Preference option to set the initial default for this option for
all applicable component editors. You can also choose to not group parameters for
the currently selected component. For more information on these Preference
options, refer to the Isight User’s Guide.

Note: You can also create a new parameter using the button. Once created,
you can map the parameter into the Word document.

7. For scalar parameters, if you want the parameter to be inserted in the format
“<name> = <value>”, click the Insert as <name> = <value> check box.
Otherwise, only the parameter value will be inserted.

Note: You can insert the contents of a file (image files only) into the Word
document by selecting an appropriate file parameter.

Isight Component Guide


Using the Word Component 499

8. For array parameters, specify the starting index and ending index of part of the
array that you want inserted. The parameter value for every specified element will
be inserted with a line break between each element.

9. Click the button. The parameter is mapped, and the parameter name is
displayed in the Word document in highlighted text.

10. Repeat step 6 and step 9 for each parameter you want to map.

11. Proceed to step 13.

12. Click the button to insert a “<name> = <value>” list. A name-value pair table
is added to the Word document in the location specified. All supported parameters
in the component are listed.

13. If you want to execute any macros that are defined within the specified Word
document, perform the following steps:

a. Click the Macros tab in the Instructions area of the editor.

Note: If Word security settings or document password protection do not allow


the macros to be accessed from Isight, a message will appear in the Macros
panel providing instructions on how to allow access to the macros.

b. Select a macro that you want to execute (only those that are specified to be
public will be presented).

c. Specify any arguments that must be supplied to the macro.

d. Click the button to add the macro to the list. You can also click the

button to remove a macro).

Note: Macros will be executed after any parameter mappings that have been
defined.

14. (optional) To save the updated Word document following execution, click the Also
save to disk check box in the Document Produced area; then, specify a location for
the file in the corresponding text box. You can either type a location, or navigate to
a location using the Browse button.

Isight Component Guide


500 Chapter 3 Using Activity Components

Note: The modified Word document will be provided as an output file parameter
from this component even if you choose not to save it to a specific location on your
disk.

15. Determine if you want the Word document visible during the model execution
using the Show Word during execution check button.
16. Click the Close Word document check box if you want Word to close the opened
document (when not selected, Word and the document remain open after the model
is executed); then, use the corresponding drop-down list to determine when Word
should close. The following options are available:

„ when job completes. This option closes the document after the execution of
the entire Isight job is completed.

„ after each execution. This option closes the document after each execution of
the Word component. The Word component may be executed numerous times
during a single job.

17. Click OK to close the editor.


Note: If you created a new document in step 2, you are asked to specify the
location on your system where the document should be saved. If you do not specify
a name and location for the new document, the file is added to the component as a
file parameter with a default name provided by the component.

During execution, the parameters mapped to the Word document are replaced by
their respective values. After execution, the Word document is provided as a
new/modified output file parameter from this component.

Setting Station Execution Permissions (Fiper


Environment Only)
If you are connected to an ACS in the Fiper environment and executing Word
components on a Fiper Station being run as a Windows service, you must have launch
and activation permissions with Word.

These steps are not necessary if you are executing using the standard Isight desktop
(Standalone) execution.

Isight Component Guide


Using the Word Component 501

To set Word permissions:

1. Click the Start button; then, click the Run... option. The Run dialog box appears.

2. Type dcomcnfg in the Open text box; then, click OK. The Component Services
dialog box appears.

3. Click Component Services on the left side of the dialog box. Folder options
appear on the right side of the dialog box.

Isight Component Guide


502 Chapter 3 Using Activity Components

4. Double-click the Computers folder; then, double-click the My Computer icon.


Additional folders appear.

5. Double-click the DCOM Config folder. The contents of the folder appear.

6. Right-click one of the following icons, depending on your operating system:


„ Microsoft Word Document

„ Microsoft Office Word Macro-Enabled Document

Isight Component Guide


Using the Word Component 503

7. Select Properties from the menu that appears. The Microsoft Word Document
Properties dialog box appears.

8. Click the Security tab. The contents of the tab appear.

9. Click the Customize radio button in the Launch and Activation Permissions area;
then, click the Edit... button. The Launch Permission dialog box appears.

10. Click the Add... button. The Select Users, Computers, or Groups dialog box
appears.

Isight Component Guide


504 Chapter 3 Using Activity Components

11. Type the necessary username (be sure to include the computer/domain name) in
the Enter object names to select text box.

Note: You can click the Check Names button to verify that the username you
entered is valid. You can also search for the name using the Advanced... button. If
the username you specify matches more than one known user, the Multiple Names
Found dialog box appears, allowing you to pick the exact user.

12. Click OK. You are returned to the Launch Permission dialog box, and the
username you entered now appears in the list at the top of the dialog box.

13. In the Permission for <username> area; click the following check boxes in the
Allow column:

„ Local Launch

„ Local Activation

14. Click OK. You are returned to the Microsoft Word Document Properties dialog
box.

15. Click OK. You are returned to the Component Services dialog box.

16. Close the dialog box.

17. Proceed to “Setting Up the Component,” on page 497 for information on using the
Word component.

Setting Word Component Preferences


To set component preferences:

1. From the Isight Design Gateway, select Preferences from the Edit menu. The
Preferences dialog box appears.
2. Expand the Components folder on the left side of the dialog box; then, select
Word.

Isight Component Guide


Using the Word Component 505

3. Set the Default document close option setting. This option allows you to
determine the default behavior for the Word file that is created with the
component. You can choose to leave the file open after execution, or to close it
after each execution of the component or after the entire job completes.

4. Click OK to save your changes and close the Preferences dialog box.

Isight Component Guide


506 Chapter 3 Using Activity Components

Isight Component Guide


507

A Component Reference
Information

This appendix provides information about components and techniques used in


components. This information is not necessary in order to use the components or
techniques, but may prove helpful in better understanding how they are used in Isight.
The chapter is divided into the following topics:

„ “DOE Reference Information,” on page 508

„ “Monte Carlo Reference Information,” on page 515

„ “SDI Reference Information,” on page 533

„ “Six Sigma Reference Information,” on page 534

„ “Taguchi Robust Design Information,” on page 551


„ “Optimization Reference Information,” on page 575

„ “Approximations Reference Information,” on page 598

Isight Component Guide


508 Appendix A Component Reference Information

DOE Reference Information


When defining a plan for a DOE study, one of the key decisions you will need to make
is what technique to select. This section provides an overview of the available
techniques to help you make this decision. It is divided into the following sections:

„ “Parameter Study” on this page

„ “Full-Factorial Design,” on page 509

„ “Orthogonal Arrays,” on page 509


„ “Latin Hypercube,” on page 510

„ “Optimal Latin Hypercube,” on page 511

„ “Central Composite Design,” on page 513

„ “Data File,” on page 515

Parameter Study
Although this term can be used quite generally to refer to any study of design
parameters, in Isight “Parameter Study” is used to refer to a true study of the sensitivity
of the design to each factor independent of all other factors. In other words, each factor
is studied at all of its specified levels (values) while all other factors are held fixed at
their baseline. A baseline point is also analyzed for reference, resulting in
(i = # factors, ni = # levels for factor i) design point
evaluations. Although this does not provide any interaction information, it does allow
you to study many factors at many levels with relatively few design point evaluations.
If interactions are insignificant, the results are a good indicator of the effects of the
individual factors.

Isight Component Guide


DOE Reference Information 509

Full-Factorial Design
A full-factorial design is one in which all combinations of all factors at all levels are
evaluated. It is an old engineering practice to systematically evaluate a grid of points
requiring (i = # factors, ni = # levels for factor i) design point
evaluations. This practice provides extensive information for accurate estimation of
factor and interaction effects. However, it is often deemed cost-prohibitive due to the
number of analyses required.

Orthogonal Arrays
The use of orthogonal arrays lets you avoid a costly full-factorial experiment in which
all combinations of all inputs (or factors) at different levels are studied (pn for n factors
each at p levels), and instead perform a fractional factorial experiment. A fractional
factorial experiment is a certain fractional subset (1/2, 1/4, 1/8, etc.) of the full factorial
set of experiments, carefully selected to maintain orthogonality (independence) among
the various factors and certain interactions. It is this orthogonality that allows for
independent estimation of factor and interaction effects from the entire set of
experimental results. While the use of orthogonal arrays for fractional factorial design
suffers from reduced resolution in the analysis of results (i.e., factor effects are aliased
with interaction effects as more factors are added to a given array), the significant
reduction in the required number of experiments (cost) can often justify this loss in
resolution as long as some of the interaction effects are assumed negligible.

In fractional factorial designs (which are essentially what orthogonal arrays are used
for), the number of columns in the design matrix is less than the number necessary to
represent every factor and all interactions of those factors. Instead, columns are
“shared” by these quantities, an occurrence known as confounding. Confounding
results in the dilemma of not being able to realize which quantity in a given column
produced the effect on the outputs attributed to that column (from post-processing
analysis). In such a case, the designer must make an assumption as to which quantities
can be considered insignificant (typically the highest-order interactions) so that a
single contributing quantity can be identified.

In essence, for an orthogonal array of a given size, the more factors and interactions
you want to study, the greater the confounding. This results in lower confidence in the
analysis of results (since more assumptions of insignificant factors must be made).

Isight Component Guide


510 Appendix A Component Reference Information

Orthogonal arrays have been used in design since as early as the 1940's by Plackett and
Burman, who used saturated designs (only studying factor effects), and were really
popularized by Taguchi, who developed a family of 2- and 3-level orthogonal arrays to
study interaction effects (Ross, P.J., Taguchi Techniques for Quality Engineering,
McGraw-Hill Publishing Company, New York, NY, 1988). The 3-level arrays also
allow for an estimation of 2nd order effects (i.e., design space curvature).

The use of these orthogonal arrays provides a systematic and efficient method to study
the design space and provide suggestions for improving the design. However, the
actual tasks of selecting the appropriate orthogonal arrays to use and assigning the
factors and interactions to columns can be tedious and overwhelming. The automation
of this procedure in Isight allows a designer with little or no knowledge of orthogonal
arrays to efficiently and effectively study the design space using this formal DOE
methodology.

Latin Hypercube
Another class of experimental design which efficiently samples large design spaces is
Latin Hypercube sampling. With this technique, the design space for each factor is
uniformly divided (the same number of divisions (n) for all factors). These levels are
then randomly combined to specify n points defining the design matrix (each level of a
factor is studied only once). For example, Figure A-1 on page 511 illustrates a possible
Latin Hypercube configuration for two factors (X1, X2) in which five points are
studied. Although not as visually obvious, this concept easily extends to multiple
dimensions.

Isight Component Guide


DOE Reference Information 511

Figure A-1. Latin Hypercube Configuration for Two Factors, with Five Points

An advantage of using Latin Hypercube over Orthogonal Arrays is that more points
and more combinations can be studied for each factor. The Latin Hypercube technique
allows the designer total freedom in selecting the number of designs to run (as long as
it is greater than the number factors). The configurations are more restrictive using the
Orthogonal Arrays (L4, L8, etc.).

Note: A drawback to the Latin Hypercube is that, in general, they are not reproducible
since they are generated with random combinations. In addition, as the number of
points decreases, the chances of missing some regions of the design space increases.

Optimal Latin Hypercube


An Optimal Latin Hypercube is a modified Latin Hypercube, in which the combination
of factor levels for each factor is optimized, rather than randomly combined. With this
technique, as with random Latin Hypercube, the design space for each factor is
uniformly divided (the same number of divisions (n) for all factors). These levels are
then randomly combined to generate a random Latin Hypercube as the initial DOE
design matrix with n points (each level of a factor studies only once). An optimization
process is then applied to this initial random Latin Hypercube design matrix. By
swapping the order of two factor levels in a column of the matrix, a new matrix is
generated and the new overall spacing of points is evaluated. The goal of this

Isight Component Guide


512 Appendix A Component Reference Information

optimization process is to design a matrix in which the points are spread as evenly as
possible within the design space defined by the lower and upper level of each factor.

The Optimal Latin Hypercube concept is illustrated in Figure A-2 for a configuration
with two factors (X1, X2) and 9 design points. In Figure A-2 (part a), a standard three
level Orthogonal Array is shown. While this matrix has nine design points, there are
only three levels for each factor. Consequently, a quadratic model could be fit to this
data, but it is not possible to determine if the actual functional relationship between the
response and these two factors is more nonlinear than quadratic. Figure A-2 (part b)
shows a random Latin Hypercube.This matrix also includes nine design points for the
two factors, but there are nine levels for each factor as well, allowing higher order
polynomial models to be fit to the data and greater assessment of nonlinearity.
However, the design points in Figure A-2 (part b) are not spread evenly within the
design space. For example, there is little data in the upper right and lower left corners
of the design space. An Optimal Latin Hypercube matrix is displayed in Figure A-2
(part c). With this matrix, the nine design points cover nine levels of each factor and
are spread evenly within the design space. For cases where one purpose of executing
the design experiment is to fit an approximation to the resulting data, the Optimal Latin
Hypercube gives the best opportunity to model the true function, or true behavior of
the response across the range of the factors.

Figure A-2. Optimal Latin Hypercube Configuration for Two Factors, with Nine
Points

a) 3-level Orthogonal Array b) random Latin Hypercube c) Optimal Latin Hypercube

Isight Component Guide


DOE Reference Information 513

The Optimal Latin Hypercube code implemented in Isight was developed by:

„ Professor Wei Chen, Northwestern University

„ Dr. Ruichen Jin, Ford Motor Company (formerly a student of Professor Chen)

„ Dr. Agus Sudjianto, formerly with Ford Motor Company

There are two major advances of this algorithm, compared to other optimal design of
experiments algorithms, which increase both the efficiency and robustness of the
algorithm:
„ Development of an efficient global optimal search algorithm, “enhanced stochastic
evolutionary (ESE) algorithm”
„ Efficient algorithms for evaluating optimality criteria (significant reduction in
matrix calculations to evaluate new/modified designs during search)

For more information on this algorithm, see the following reference:

Jin, R., Chen, W., and Sudjianto, A. “An Efficient Algorithm for Constructing Optimal
Design of Computer Experiments,” DETC-DAC48760. 2003 ASME Design
Automation Conference, Chicago, IL, September 2-6, 2003.

Note: Since the Optimal Latin Hypercube begins as a random Latin Hypercube and is
optimized using a stochastic optimization process, this type of matrix is generally not
reproducible (unless the same random seed is reused).

Central Composite Design


Central Composite Design (CCD) is a statistically based technique in which a 2-level
full-factorial experiment is augmented with a center point and two additional points for
each factor (called “star points”). Thus, five levels are defined for each factor, and to
study n factors using Central Composite Design requires 2n+2n+1 design point
evaluations. Figure A-3 on page 514 shows the Central Composite Design points for
three factors.

Isight Component Guide


514 Appendix A Component Reference Information

Figure A-3. Central Composite Design Points for Three Factors

The center and star points are added to acquire knowledge from regions of the design
space inside and outside the 2-level full-factorial points, allowing for an estimation of
higher order effects (curvature). The star point(s) are determined by defining a
parameter α which relates these points to the full-factorial points by

Supper = b + (u-b) x α

Slower = b - (b-1) x α

where:

b = baseline designl = lower factorial point

u = upper factorial pointl < b <u

Note that for:

α < 1, star points are inside the full-factorial design

α > 1, star points are outside the full-factorial design

α = 1, star points are the same value as the full-factorial levels (also referred to as
face-centered central composite design)

Although Central Composite Design requires a significant number of design point


evaluations, it is a popular technique for compiling data for Response Surface

Isight Component Guide


Monte Carlo Reference Information 515

Modeling, due to the expanse of design space covered and the higher order information
obtained.

Data File
The Data File technique provides a convenient way for you to define your own set of
trials outside of Isight, and still make use of Isight’s integration and automation
capabilities. Essentially, the design matrix can be defined by data imported from one or
more files, allowing you to execute the DOE study (automatically evaluate all the
design points) and analyze the results. Any file used must simply contain a row of tab
or space separated values for each data point and a column for each parameter to be
used as a factor from that file.

Monte Carlo Reference Information


Monte Carlo simulation techniques are implemented by randomly simulating a design
or process, given the stochastic properties of one or more random variables, with a
focus on characterizing the statistical nature (mean, variance, range, distribution, etc.)
of the responses (outputs) of interest.

Monte Carlo Simulation methods have long been considered the most accurate means
of estimating the probabilistic properties of uncertain system responses resulting from
known uncertain inputs. To implement a Monte Carlo simulation, a defined number of
system simulations to be analyzed are generated by sampling values of random
variables (uncertain inputs), following the probabilistic distributions and associated
properties defined for each.

Sampling techniques for the Monte Carlo component in Isight are implemented as
“plug-ins.” As such, they are extendable by creating new “plug-ins” for new sampling
techniques. For more information, refer to the Isight Development Guide.

Isight Component Guide


516 Appendix A Component Reference Information

The following two sampling technique plug-ins are currently available for the Isight
Monte Carlo component:

„ “Simple Random Sampling” on this page

„ “Descriptive Sampling” on this page

Simple Random Sampling


Simple Random Sampling is the basic, most commonly used Monte Carlo simulation
technique. The general steps for implementing a Monte Carlo simulation using simple
random sampling are as follows:

1. Identify the random variables. Assume appropriate distributions and define


properties for each (mean, standard deviation, or coefficient of variation).

2. Specify the number of simulations to be executed (often 1,000, however, 10,000 or


more simulations are necessary for accurate prediction of response statistical
properties).
3. Generate uniformly distributed random numbers for each random variable.

4. Convert each uniform random number to a random variable value corresponding to


the appropriate distribution.

5. Simulate the design/process (execute system analysis) using the current values for
random variables and the design variables.

6. Repeat step 3 through step 5 for the number of simulations specified in step 2.

7. Perform post processing by analyzing statistics of responses (mean, standard


deviation, range, distribution shape) and evaluate/rank the random variable effects.

Descriptive Sampling
The number of simulations necessary for simple random sampling is usually more than
desirable, and often more than practical. Other sampling techniques have been
developed to reduce the sample size (number of simulations) without sacrificing the
quality of the statistical description of the behavior of the system. These techniques,
called variance reduction techniques, reduce the variance of the statistical estimates

Isight Component Guide


Monte Carlo Reference Information 517

derived from the Monte Carlo simulation data. As a result, the error in estimates is
reduced (estimates from multiple simulations are more consistent), or conversely,
fewer points are needed with variance reduction techniques to obtain error or
confidence levels similar to those obtained through simple random sampling.

One such sampling technique, Descriptive Sampling (Saliby,1990), is available for the
Monte Carlo component. In this technique, the space defined by each random variable
is divided into subsets of equal probability, and the analysis is performed with each
subset of each random variable only once (each subset of one random variable is
combined with only one subset of each other random variable). This sampling
technique is similar to Latin Hypercube experimental design techniques (for more
information on Latin Hypercube refer to “Latin Hypercube,” on page 510), and is best
described through illustration as in Figure A-4 for two random variables in standard
normal space (U-space). As shown in Figure A-4, each row and column in the
discretized two variable space is sampled only once, in random order. The cloud of
points generated using simple random sampling is also illustrated for comparison.

Figure A-4. Monte Carlo Sampling Techniques

Simple Random Sampling Descriptive Sampling

The difference between simple random sampling and descriptive sampling is not
necessarily observable with a single simulation using each technique. The actual
estimates may be similar. However, through repeated simulation (with different
randomization), it is observed that the variance of the set of estimates from descriptive
sampling will be less than that from simple random sampling. The range of values
observed for the estimates from descriptive sampling will be less (tighter range), and
thus the confidence in the estimates is increased. Given this property of descriptive

Isight Component Guide


518 Appendix A Component Reference Information

sampling, and variance reduction techniques in general, descriptive sampling will, on


average, provide better estimates for the same number of sampling points as simple
random sampling, or comparable estimates can be obtained with fewer sampling
points.

The basic sampling procedures can be modified to include a convergence check. The
Monte Carlo component implementation of this convergence checking procedure is
described as follows. Rather than calculating all statistics only during the post
processing analysis, the mean and standard deviation for each response is updated at
specified convergence check intervals (the default is after every 25 sample points). If,
during the current convergence check, the mean and standard deviation of all responses
have not changed from the associated values at the previous convergence check (within
a user-set convergence tolerance), the simulation is terminated. The remaining
statistics are then calculated using the existing data set. Since the Monte Carlo
Simulation points are independent, these points can be executed, for efficiency, in
parallel rather than sequentially.

Additional References
For more background information about these Monte Carlo simulation methods, refer
to:

Hammersley, J.M. and Handscomb, D.C., 1964, “Monte Carlo Methods”, Chapman
and Hall, London.

Hurtodao, J. E. and Barbat, A. H., 1997, “Simulation Methods in Stochastic


Mechanics,” in Computational Stochastic Mechanics in a Meta-Computing
Perspective, (J. Marczyk, ed.), CIMNE, Barcelona.

Saliby, E., 1990, “Descriptive Sampling: A Better Approach to Monte Carlo


Simulation”, J. Opl. Res. Soc., Vol. 41, No. 12, pp. 1133-1142.

Ziha, K., 1995, “Descriptive sampling in structural safety”, Structural Safety, Vol. 17,
pp. 33-41.

Isight Component Guide


Monte Carlo Reference Information 519

Understanding Distribution Types


This section is divided into the following parts:
„ “Introduction” on this page
„ “Normal Distribution,” on page 521
„ “Lognormal Distribution,” on page 522
„ “Weibull Distribution,” on page 524
„ “Gumbel Distribution,” on page 526
„ “Uniform Distribution,” on page 528
„ “Exponential Distribution,” on page 529
„ “Triangular Distribution,” on page 530
„ “Discrete-Uniform,” on page 532

Introduction
Probability distributions are used in some Isight components to characterize the possi-
ble values of an uncertain random variable. Random variables will vary around a spec-
ified mean or nominal value following a defined distribution of values based on
prescribed probabilities for those values. For a given random variable X, the probabil-
ity that X will take on a value x is defined by the probability density function for that
random variable:

where fX(x) 0 for all x. The probability that the random variable X will take on a
value less than a specified threshold value x is defined by the distribution function for
that random variable, often also termed the cumulative distribution function:

Isight Component Guide


520 Appendix A Component Reference Information

where 0 FX(x) 1 for all x. For a continuous random variable X, the probability
density function, fX(x), and cumulative distribution function, FX(x), are related as
follows:

The probability density and cumulative distribution functions for a given probability
distribution are generally defined as a function of one or more distribution parameters
that define the location, shape, or dispersion of the distribution. In this document, the
probability distribution plug-ins available in Isight – normal, lognormal, Weibull,
Gumbel, uniform, exponential, triangular, and discrete-uniform – are described. The
probability density and cumulative distributions are given and the translation between
the distribution parameter(s) and the mean and standard deviation statistics of a
random variable are given for each distribution type.

Note: The integral in the previous equation becomes a summation for discrete random
variables, where the summation is taken over the discrete probability values associated
with the set of values for the random variable. One discrete distribution type is
supported in Isight – Discrete-Uniform.

For more information about probability distributions, as well as theory of probability


and statistics, refer to the following references.

[1] Evans, M., Hastings, N., and Peacock, B., 2000, Statistical Distributions, Third
Edition, Wiley-Interscience, John Wiley & Sons, New York.

[2] Hahn, G. J. and Shapiro, S. S., 1994, Statistical Models in Engineering,


Wiley-Interscience, John Wiley & Sons, New York.

The following nomenclature is used throughout this section:

X random variable
fX(x) probability density function
FX(x) distribution function
mean
standard deviation

Isight Component Guide


Monte Carlo Reference Information 521

Euler’s constant (Gumbel)


gamma function

Normal Distribution
The normal or Gaussian distribution is a two-parameter distribution, defined in terms
of the mean and standard deviation of the random variable X. The probability
density function for the normal distribution is given as follows:

The distribution function corresponding to the density function of the previous


equation is given by:

where is the standard normal distribution function ( and ) defined by:

The corresponding standard normal density function illustrated in Figure A-5 on


page 522 is given by:

The normal distribution is the common “bell curve” distribution, often used for
physical measurements, product dimensions, and average temperatures, for example.

Isight Component Guide


522 Appendix A Component Reference Information

Figure A-5. Standard Normal Probability Density Function

Lognormal Distribution
Given a random variable X defined over 0 < x < , and given that Y = ln X is normally
distributed with mean Y and standard deviation Y, the random variable X follows
the lognormal distribution, defined by the probability density function:

The lognormal distribution function is:

Isight Component Guide


Monte Carlo Reference Information 523

Note that = Y and = Y. The mean and standard deviation of the random variable
X are given as follows:

and

The lognormal probability density function, shown in Figure A-6, is often used to
describe material properties, sizes from a breakage process, and the life of some types
of transistors, for example.

Figure A-6. Lognormal Probability Density Function

Isight Component Guide


524 Appendix A Component Reference Information

Weibull Distribution
The Weibull distribution can be defined by three parameters , , and . Its density
function fX(x) is defined by:

where > 0 is the scale parameter, > 0 is the shape parameter, and ( < < ) is
the location parameter.

The Weibull probability distribution function is:

If = 0, as is true for many cases, the density function reduces to:

and the probability distribution function is:

The reduced density function, called a two-parameter Weibull distribution, is used in


probabilistic fracture mechanics and fatigue. The two-parameter Weibull distribution is
implemented in Isight.

Isight Component Guide


Monte Carlo Reference Information 525

The mean value and standard deviation of the random variable X with the
two-parameter Weibull distribution are given as follows:

and

where is the well known gamma function:

(k) = (k-1)! when k is an positive integer.

The Weibull distribution can take many different shapes, as shown in Figure A-7. This
distribution is often used to describe the life of capacitors and ball bearings, for
example.

Figure A-7. Weibull Probability Density Function

Isight Component Guide


526 Appendix A Component Reference Information

Gumbel Distribution
The Gumbel distribution is also known as extreme value distribution type I for the
largest or smallest of a number of values. The Gumbel probability density function for
largest and smallest elements are given in the following two equations, respectively:

largest element

smallest element

where the parameter is a measure of location and is a measure of dispersion. The


Gumbel distribution function is:

largest element

smallest element

The mean value and standard deviation of the random variable X for the Gumbel
distribution are given by:

largest element

smallest element

Isight Component Guide


Monte Carlo Reference Information 527

and

where 0.5772 is Euler's constant.

The Gumbel probability density function, shown in Figure A-8, is often used to
describe the breaking strength of materials, breakdown voltage in capacitors, and gust
velocities encountered by an aircraft, for example.

Figure A-8. Gumbel Probability Density Function

Isight Component Guide


528 Appendix A Component Reference Information

Uniform Distribution
The uniform distribution has a constant probability for all values of a random variable
X. The uniform probability density function is given by:

where the parameters a and b define the range of the uniform distribution. The uniform
distribution function is:

The mean value and standard deviation of the random variable X for the uniform
distribution are given by:

and

The uniform probability density function, shown in Figure A-9 on page 529, is used
when only a range of possible values for a random variable is known.

Isight Component Guide


Monte Carlo Reference Information 529

Figure A-9. Uniform Probability Density Function

Exponential Distribution
The exponential distribution is a single parameter distribution, with mean and standard
deviation equal. The exponential probability density function for a random variable X
is given by:

where the parameter λ is a scale parameter. The exponential distribution function is:

The mean value and standard deviation of the random variable X for the exponential
distribution are given by:

The exponential probability density function, shown in Figure A-10 on page 530, is
often used to describe usage life of components.

Isight Component Guide


530 Appendix A Component Reference Information

Figure A-10. Exponential Probability Density Function

Triangular Distribution
The triangular distribution is characterized by three parameters: a lower limit location
parameter, a, and upper limit location parameter, b, and a shape parameter that defines
the mode or peak of the triangle, c. The triangular probability density function for a
random variable X is given by:

The triangular distribution function is:

Isight Component Guide


Monte Carlo Reference Information 531

The mean value and standard deviation of the random variable X for the exponential
distribution are given by:

and

The triangular probability density function, shown in Figure A-11, is commonly used
when the actual distribution of a random variable is not known, but three pieces of
information are available: a lower limit which the random variable will not go below,
an upper limit which the random variable will not exceed, and a “most likely”
(expected peak) value.

Figure A-11. Triangular Probability Density Function

Isight Component Guide


532 Appendix A Component Reference Information

Discrete-Uniform
The discrete-uniform distribution has a constant probability for each discrete allowed
value the random variable X may take. The discrete-uniform probability density
function is then given by:

The discrete-uniform distribution function is:

The discrete-uniform probability density function, an example of which is shown in


Figure A-12, is used when a specific set of discrete values are allowed for a random
variable, each with equal probability. In the example in Figure A-12, the allowed
values for X are 1, 2, 4, and 8.5.

Figure A-12. Discrete-Uniform Probability Density Function

Isight Component Guide


SDI Reference Information 533

SDI Reference Information


Stochastic Design Improvement (SDI) is a Monte Carlo simulation-based iterative
procedure for improving a design. At each iteration step, a Monte Carlo sample
including design variables (controllable) and random variables (not controllable) is
taken and an improved design is chosen from among the Monte Carlo “cloud” of
points. The improved design is chosen based on defined response targets, with penalty
associated with violation of defined response limits. The number of iteration steps is
pre-specified, with a “termination threshold distance” allowing early termination if the
new design is within a threshold distance of the target.

The Monte Carlo sampling performed at each step uses the Descriptive Sampling
Monte Carlo technique. For more information on Descriptive Sampling, see
“Descriptive Sampling,” on page 516. Samples are taken following the random
variable distributions and uniformly across a local range for design variables. For more
information on distribution functions, see “Understanding Distribution Types,” on
page 519.

At each SDI step, the selection of an improved point, or decision to terminate, is based
on calculation of the distance of each point to the target point, as described in the
following section.

Distance to Target
The target point is defined by the target values of all responses for which a target is
defined. The distance between any sample point and the target is calculated based on
the euclidean distance equation, with a penalty built in if the sample point is outside
any response constraint(s):

where,

is the value of response k at the current sample point,

is the target value of response k, and

Isight Component Guide


534 Appendix A Component Reference Information

the penalty is a large value added to the distance if the sample point lies outside one or
more response bounds.

For a given SDI step, the distance to the target is not reduced at least by the amount
specified in the Termination Threshold Distance (percent change from previous step),
the SDI process is terminated.

Six Sigma Reference Information


Six Sigma Robust Design/Optimization combines elements of Monte Carlo simulation,
reliability analysis, and design of experiments with the philosophy of “design for six
sigma” to create a complete formulation for assessing and improving reliability and
robustness.

Six Sigma based robust design optimization includes in its formulation uncertainty
information related to variables, constraints, and objectives. The focus is not only to
identify solutions that are reliable or robust with respect to constraint satisfaction, but
also to reduce the variability associated with objective components. Further, by
defining the variance or standard deviation of uncertain input design parameters not as
fixed, but as design variables themselves, tolerance design/optimization can be
implemented by seeking standard deviation settings for these parameters that produce
acceptable performance variation (objective components, constraints).

The basis for robust design, six sigma quality, and the formulation of a robust design
optimization problem is summarized in this section.

Robustness and Six Sigma Quality Defined


The term “robustness” in the robust engineering design context is defined as the
sensitivity of performance parameters to fluctuations in design parameters (inputs),
particularly uncertain design parameters. This sensitivity is captured through
performance variability estimation. Consequently, the fundamental motive underlying
robust design is to improve the quality of a product or process by not only striving to
achieve performance targets or goals, but also by minimizing performance variation.

Isight Component Guide


Six Sigma Reference Information 535

The question is then, how is robustness or quality measured, and what level of
robustness is acceptable and/or desirable?

The term “sigma” refers to standard deviation, σ. Standard deviation or variance, σ2, is
a measure of dispersion of a set of data around the mean value (μ) of this data. This
property can be used both to describe the known variability of factors that influence a
system (product or process), and as a measure of performance variability, and thus
robustness or quality. Assuming performance variation is normally distributed, this
variation can be characterized as a number of standard deviations from the mean
performance, as shown in Figure A-13. The areas under the normal distribution in
Figure A-13 associated with each σ-level relate directly to the probability of
performance falling in that particular range (for example, ±1σ is equivalent to a
probability of 0.683). These probabilities are displayed in Table A-1 on page 536 as
percent variation and number of defective parts per million parts.

Figure A-13. Normal Distribution for Six Sigma

Robustness or quality can be measured using any of the variability metrics in Table
A-1, “sigma level”, percent variation or probability (percent variation / 100), or

Isight Component Guide


536 Appendix A Component Reference Information

number of defects per million parts - by comparing the associated performance


specification limits and the measured performance variation.

Table A-1. Sigma Level As Percent Variation and Defects Per Million

Sigma Level Percent Variation Defects per million Defects per million
(short term) (long term)
±1σ 68.26 317,400 697,700
±2σ 95.46 45,400 308,733
±3σ 99.73 2,700 66,803
±4σ 99.9937 63 6,200
±5σ 99.999943 0.57 233
±6σ 99.9999998 0.002 3.4

In Figure A-13 on page 535, the lower and upper specification limits that define the
acceptable performance range are shown to coincide with ±3σ from the mean. The
design associated with this level of performance variance would be considered a “3σ”
design. Is this design of acceptable quality? Traditionally, if ±3σ worth of performance
variation was identified to lie within the set specification limits, as in Figure A-13, this
was viewed as acceptable variation; in this case, 99.73 of the variation is within spec
limits, or the probability of meeting the requirements defined by these limits is
0.9973%. In engineering terms, this probability was deemed acceptable

More recently, however, the 3σ quality level has been viewed as insufficient quality,
initially from a manufacturing perspective, and then extended into an engineering
design perspective. Motorola, in defining “six sigma quality” (Harry, 1997), translated
the sigma quality level to the number of defective parts per million (ppm) parts being
manufactured. In this case, as can be seen in Table A-1, ±3σ corresponds to 2700 ppm
defective. This number was deemed unacceptable. Furthermore, Motorola and others
observed that even at some observed variation level, mean performance could not be
maintained over time. If a part is to be manufactured to some nominal specification,
plus/minus some specification limits, the mean performance will change and thus the
distribution will shift. A good example of this is tool wear. If a process is set up to
manufacture a part to a nominal dimension of 10 in. with a tolerance of ±0.10 in., even
if the process meets this nominal dimension on average, the cutting tool will wear with
time, and the average part dimension will shift, say to 10.05 in. This will cause the

Isight Component Guide


Six Sigma Reference Information 537

distribution of performance variation to shift, while the specification limits remain


fixed, and thus the area of the distribution outside one of the specification limits will
increase.

This shift was observed by Motorola and others to be approximately 1.5σ, and was
used to define “long term sigma quality” as opposed to “short term sigma quality”.
This explains the last column in Table A-1 on page 536. While the defects per million
for short term correspond directly to the percent variation for a given sigma level
associated with the standard normal distribution, the defects per million for long term
correspond to a 1.5σ shift in the mean. In this case, 3σ quality leads to 66,803 defects
per million, which is certainly undesirable, and should be unacceptable. Consequently,
Motorola defined a quality goal of ±6σ; hence “Six Sigma Quality” came to define the
desired level of acceptable performance variation. With this quality goal, the level of
defects per million, as shown in Table A-1, is 0.002 for short term quality, and 3.4 for
long term quality; both acceptable quality levels.

The focus on achieving six sigma quality is commonly referred to as design for
six-sigma (DFSS) (Harry, 1998). In implementing DFSS within a robust design
context, the “minimize performance variation” goal of robust design is qualified by
striving to maintain six-sigma (μ±6σ) performance variation within the defined
acceptable limits, as illustrated in Figure A-14 on page 538. In this figure, the mean, μ,
and lower specification limit (LSL) and upper specification limit (USL) on
performance variation are held fixed. Figure A-14 (part a) represents the 3σ design of
Figure A-13 on page 535; ±3σ worth of performance variation is within the defined
specification limits. In order to achieve a 6σ design, one for which the probability that
the performance will remain within the set limits is essentially 100%, the performance
variation must be reduced (reduced σy), as shown in Figure A-14 (part b).

Isight Component Guide


538 Appendix A Component Reference Information

Figure A-14. Quality Engineering: Design for Six-Sigma

In summary, design robustness or quality can be measured through “sigma level”,


probability of acceptable performance variation, or defects per million parts, all of
which can be related to each other through the standard normal distribution. The
recently defined goal for acceptable quality level is 6σ. In order to implement methods
for calculating “sigma level quality”, and improving the quality level of a design, the
capability to estimate performance variability, given the presence of uncertainty in the
problem formulation or input parameters, is required. Several such methods are
discussed in the next section.

Sampling Techniques: Methods for Variability


Estimation
Estimation of performance variability requires the definition of uncertain design
parameters and their expected variability that leads to this performance variability.
Uncertainty in design parameters can be characterized in many ways, as shown in
Figure A-15 on page 539 through distributions and associated statistical properties (as
random variables are often characterized) by a range of expected variation (low and
high values, as noise factors in Taguchi Robust Design are commonly defined), or by a
delta or percent variation around a nominal, baseline value.

Isight Component Guide


Six Sigma Reference Information 539

Figure A-15. Types of uncertain parameters affecting performance variability

Given the definition of uncertain parameters and their variability, the resulting
variability of performance parameters can be measured. Multiple techniques for
estimating performance variability exist; three are discussed:

„ “Reliability Analysis Techniques” on this page


„ “Monte Carlo Simulation,” on page 545
„ “Design of Experiments (DOE),” on page 546

Reliability Analysis Techniques


Methods for structural reliability analysis have been developed to incorporate
uncertainties associated with geometrical and material properties, loading and
boundary conditions, and operational environment into structural analysis and design.
These uncertainties are incorporated through the definition of random variables, their
associated probabilistic distribution functions, and statistical properties. Given one or
more identified random variables, the focus in structural reliability analysis is to assess
the probability of failure – the probability of violating a constraint – of a structural
component or system, resulting from performance (output) variation caused by the
variation of uncertain, random (input) variables. The structural reliability is then
defined as the probability of satisfying a constraint, and is equal to 1- probability of
failure. The concepts of reliability and probability of failure are illustrated in Figure
A-16 on page 540.

Isight Component Guide


540 Appendix A Component Reference Information

Figure A-16. Reliability and Probability of Failure Illustrated

For the example in Figure A-16, the current design point, given as X1 = X2 = 4.5, is
within the specified constraint of X1 + X2 ≤ 10, and thus this design appears to be
feasible. If both X1 and X2 are known to vary around their nominal values (roughly
between values of 3 and 6 in Figure A-16), the performance measure Y = X1 + X2 will
also vary. In this case, a portion of the expected distribution of Y lies outside the
constraint. The area of this distribution that is outside the constraint defines the
probability of failure associated with this design point and the defined constraint. The
area of the distribution that lies within the constraint (in the feasible region) is defined
as the reliability level of this design.

Many methods for determining the probability of failure or reliability (estimating the
areas inside and outside the constraints) have been developed in recent years. The
following two reliability analysis technique plug-ins are currently available in Isight:

„ First Order Reliability Method (FORM)


„ Mean Value Method

These methods are used to evaluate reliability of the current design point. Each method
is summarized in the following sections.

Isight Component Guide


Six Sigma Reference Information 541

First Order Reliability Method (FORM)


Figure A-17 presents a graphical representation of the concept FORM.

Figure A-17. First Order Reliability Method

X2 U2
Φ(U) Pf
Failure Region
g(U) < 0
MPPU*
MPPU*
0 β
Mean Value Safe Region
Point
g(U) > 0
Major contribution
to failure probability
fX(X) β
fromthis area
X1 U
0 0
(FORM)
Failure Surface
g(X) =0
Failure Surface
g(U) = 0

FORM takes advantage of the desirable properties of the standard normal probability
distribution. Hasofer and Lind (1974) defined the reliability index as the shortest
distance from the origin of the standard normal space (U-space) to a point on the
failure surface. Mathematically, determining the reliability index is a minimization
problem with one equality constraint:

[1]

In this equation, a transformation T is introduced to map the original random vector X


(in X-space) to the standard, uncorrelated normal vector using U=T(X). The solution of
the minimization problem in U-space, U*, is called the Most Probable Point (MPP).

Isight Component Guide


542 Appendix A Component Reference Information

If the failure function g(U) is linear in terms of the normally distributed random
variables Ui, the failure probability is calculated as:

[2]

In this equation, Φ is the standard normal distribution function. If the failure function is
nonlinear, or the random variables are not normally distributed, a good approximation
can still be obtained using the equation above, provided that the curvature of the failure
surface at the MPP is not too large in magnitude.

The algorithm used to solve for the MPP in the FORM Isight plug-in is the traditional
Hasofer-Lind-Rackwitz-Fiessler (HL-RF) method, a special scheme which does not
require line search during optimization. The HL-RF method was originally derived
from the Kuhn-Tucker necessary condition by Hasofer and Lind (1974). Rackwitz and
Fiessler (1978) suggested that non-normally distributed random variables can be
transformed to equivalent normal variables for use in the Hasofer-Lind reliability
analysis.

Mean Value Method


The Mean Value reliability method utilizes the Taylor's series expansion of failure
functions g(X) at the mean values µx. The mean-value reliability index is then
calculated as a function of the mean and standard deviation of g(X):

[3]

Given the reliability index from the preceding equation, the probability of failure can
then again be calculated as Pf = Φ (-β), as in Eqn. 2.

The Mean Value method, based on a first order Taylor’s expansion, is the most efficient
(in terms of the number of function evaluations, or simulation program executions,
needed to calculate the reliability) of the reliability analysis methods implemented in
Isight. It requires only one time failure function and sensitivity evaluations. However,
the mean-value reliability index is accurate only for linear failure functions with
normally distributed random variables. In most other situations, the mean-value
reliability index is not accurate since the most probable point is not on the failure
surface. Using a second order Taylor’s expansion, a higher level of accuracy can be

Isight Component Guide


Six Sigma Reference Information 543

achieved. Obviously, there is a trade-off between expense (number of gradient


calculations) and accuracy when choosing to include or neglect the higher order terms
in the expansion. The first order and second order formulations are given as follows.

First Order Taylor’s Expansion


Neglecting higher order terms, the Taylor’s series expansion for a performance
response, Y, is:

[4]

The mean of this performance response is then calculated by setting the uncertain
design parameters to their mean value, μx:

[5]

and the standard deviation of Y(x) is given by:

[6]

where σxi is the standard deviation of the ith parameter and n is the number of
uncertain parameters. For more details on this approach for variability estimation for
robust design purposes, see (Phadke, 1989; Chen, 1996).

Since first order derivatives of responses with respect to random variables are needed
in Eqn 6, and the mean value point is needed in Eqn 5, the first order Taylor’s
expansion estimates require n+1 analyses for evaluation. Consequently, this approach
is significantly more efficient than Monte Carlo simulation, and often more efficient
than DOE while including distribution properties. However, the approach loses
accuracy when responses are not close to linear. This method is therefore
recommended when responses are known to be linear or close to linear, and also when
computational cost is high and rough estimates are acceptable.

Isight Component Guide


544 Appendix A Component Reference Information

Second Order Taylor’s Expansion


Adding the second order terms, the Taylor’s series expansion for a performance
response, Y, is:

[7]

The mean of this performance response is then obtained by taking the expectation of
both sides of the expansion:

[8]

and the standard deviation of Y(x) is given by:

[9]

where σxi is the standard deviation of the ith parameter and σxj is the standard
deviation of the jth parameter. For more details on this approach for variability
estimation and its use for robust design, see (Hsieh and Oh, 1992).

Once the performance response standard deviation is estimated with the necessary
sensitivities, robustness or quality can be assessed (sigma level, percent variation,
probability, or defects per million parts, based on defined specification limits).

Since second order derivatives of responses, including crossed terms, with respect to
random variables are needed in Eqn 9, and the mean value point is needed in Eqn 8, the
second order Taylor’s expansion estimates require (n+1)(n+2)/2 analyses for
evaluation. Because of this expense, cross terms are not usually included (only pure
second order deviations) and the expense is reduced to 2n+1. This approach is then
essentially twice as computationally expensive as the first order Taylor’s expansion,
and usually will be more expensive than DOE. For low numbers of uncertain
parameters, this approach can still be more efficient than Monte Carlo simulation, but
becomes less efficient with increasing n. (Monte Carlo simulation is not dependent on
the number of parameters.) The second order Taylor’s expansion approach is therefore

Isight Component Guide


Six Sigma Reference Information 545

recommended when curvature exists and the number of uncertain parameters is not
excessive.

The Mean Value reliability method utilizes the Taylor's series expansion of failure
functions g(X) at the mean values µx. The mean-value reliability index is then
calculated as a function of the mean and standard deviation of g(X), as shown in Eqn 3.

Monte Carlo Simulation


A second method for estimating performance variability, often considered the most
accurate method, is through Monte Carlo simulation. Monte Carlo simulation
techniques are implemented by randomly simulating a population of designs, given the
stochastic properties of one or more random variables, with a focus on characterizing
the statistical nature (mean, standard deviation, variance, range, distribution type, etc.)
of the performance responses (outputs) of interest. Several sampling techniques exist
for simulating a population; two techniques are currently implemented within Isight as
plug-ins: simple random sampling and descriptive sampling (Saliby, 1990). For more
background information on these sampling techniques and the basic Monte Carlo
approach, see “Monte Carlo Reference Information,” on page 515.

To implement Monte Carlo simulation for variability estimation, uncertain parameters


(random variables) must be characterized by specific distribution functions that they
follow and the associated properties of the distributions (mean and standard deviation,
or distribution specific properties). If no distribution is known, and only a range of
possible values is given, the uniform distribution can be used to allow random
sampling across the defined range. Given the statistical definition of random variables,
the statistical estimates of performance derived from Monte Carlo simulation, using
either sampling technique, can then be used to determine sigma level quality, percent
variation within specification limits, probability of meeting specification limits, or
defects per million parts based on defined specification limits.

The computational cost of Monte Carlo simulation for variability estimation is


generally very high, often requiring hundreds or thousands of sample points for
accurate estimation. However, this method consequently is also the most accurate. This
method is recommended when specific distributions and their properties are known,
and should be followed closely.

Isight Component Guide


546 Appendix A Component Reference Information

Design of Experiments (DOE)


A third approach for estimating performance variability due to uncertain design
parameters is through structured sampling using a designed experiment. In DOE, a
design matrix is constructed, in a systematic fashion, that specifies the values for the
design parameters (uncertain parameters in this context) for each sampled point, or
experiment. A number of experimental design techniques exist in Isight as DOE
technique plug-ins, all of which can be used for efficiently sampling values of
uncertain design parameters; for more information on DOE techniques and their
current implementation in Isight, see “Using the DOE Component,” on page 41.

With DOE, potential values for uncertain design parameters are defined by a range
(low and high values), a nominal baseline plus/minus some delta or percent, or through
specified values. In this case each run in the designed experiment is a combination of
the defined levels of each parameter. Specific probability distributions are not defined
for the uncertain parameters. Consequently, this approach represents a higher level of
uncertainty in uncertain design parameters, with expected ranges rather than specific
distributions. Given data from a designed experiment, capturing ranges of uncertain
parameters, robustness or quality can be assessed through determining sigma level,
percent variation within specification limits, probability of meeting specification
limits, or defects per million parts based on defined specification limits.

The computational cost of implementing DOE depends on the particular experimental


design chosen and the levels of the uncertain parameters, but is generally significantly
less than that of Monte Carlo simulation. This method is recommended when
distributions are not known, and can also be used when uncertain parameters follow a
uniform distribution.

Formulating a Six Sigma Based Robust Design


Optimization Problem
Given the definition of robustness and six sigma quality, and the performance
variability estimation techniques, a six sigma robust design optimization problem can
be formulated. In robust design, solutions (system designs represented through settings
of the control factors/design variables) are sought that minimize performance response
variation in addition to achieving performance targets (mean, μy, on target and
minimized variance, σy2). In some cases the mean is to be minimized or maximized,
rather than focussing on a target, but the variance is always minimized. In taking this

Isight Component Guide


Six Sigma Reference Information 547

approach, robust solutions obtained for systems involving significant uncertainty (or
noise) are usually not “optimal” in the traditional sense. The focus of robust design
optimization then is to search for robust or “flat” regions of a design space, to reduce
the effects of variations in uncertain design parameters, through the inclusion of
response variance or standard deviation within the robust optimization formulation.
This concept is illustrated in Figure A-18 on page 548.

If the function in Figure A-18 is to be minimized, the solution given by point 1 would
be chosen if uncertainty and performance variation are not considered, as with
deterministic optimization. Given uncertainty in the design parameter x, defined as a
variation of ±Δx around the chosen value, the solution at point 1 leads to a large level
of variation, Δf1, of the performance function f(x). To the right of point 1 in the figure,
there exists a more ‘flat’ region of f(x), which can be shown to be more robust, or less
sensitive to variation in the design parameter x. If point 2 is chosen, for the same design
parameter variation, ±Δx, the variation of the performance function, Δf2, is
significantly less than that at point 1. The sacrifice in choosing point 2 is the increase in
the mean value of f(x), which is higher at point 2 than at point 1. This is the trade-off
that must be evaluated in searching for a robust solution as opposed to a solution with
optimal mean performance. It can be seen in the figure that an even flatter region than
that at point 2 exists further to the right of point 2 (direction of increasing x). Although
the performance variation may be even less in this region, the mean performance may
not be acceptable. Both elements of desired mean performance and reduced
performance variation must be incorporated in a robust optimization formulation.

Isight Component Guide


548 Appendix A Component Reference Information

Figure A-18. Deterministic “optimum” versus robust solution

Variation Δ of x
n Function Minimum
o±Δx
o Robust Solution
Function f(x)

n±Δx

Δf @n
o Δf @o
n

A robust optimization problem can be formulated by including performance response


variation in constraints, additional objectives, or (typically) both. A typical robust
optimization formulation is as follows:

Minimize F(μy, σy)


subject to Gj(μy, σy) ≤ 0 [10]
xL + Δx ≤ x ≤ xU − Δx

Here the focus is to simultaneously minimize the mean performance (for a


minimization problem) and the performance variation (standard deviation), while
meeting constraints and variable bounds that are formulated as a “worst case scenario”
through the inclusion of the design parameter variation. This formulation is created by
simply modifying the constraint and objective formulations of a deterministic
optimization problem.

Isight Component Guide


Six Sigma Reference Information 549

The robust design objective for the “mean on target” and “minimize variation” robust
design goals is generally formulated as follows:

[11]

where w1i and w2i are the weights and s1i and s2i are the scale factors for the “mean on
target” and “minimize variation” objective components respectively for performance
response i, Mi is the target for performance response i, and l is the number of
performance responses included in the objective. For the case in which the mean
performance is to be minimized or maximized, rather than directed towards a target,
the objective formulation of equation Eqn 11 can be modified as shown in Eqn 12,
where the “+” sign is used before the first term when the response mean is to be
minimized, and the “-” sign is to be used when the response mean is to be maximized.

[12]

For the robust optimization formulation given in equation 10, deterministic constraints
are then modified to create quality constraints by including both the mean and standard
deviation of performance in the formulation. These quality constraints are formulated
as follows:

μY − nσY ≥ Lower Specification Limit [13]


μY + nσY ≤ Upper Specification Limit [14]

Any “sigma-level” quality can be formulated by changing the constraints to reflect the
acceptable “number of sigmas”, n, of performance variation. As discussed earlier, ±3σy
was traditionally considered acceptable for engineering purposes, but to achieve six
sigma quality, to significantly reduce the number of defective parts per million and
associated probability of violating specification limits as shown in Table A-1 on
page 536, n in equations 13 and 14 should be set to 6. With the direct correlation
between sigma level and probability of consistently meeting the specifications, this
constraint formulation concept is similar to reliability constraints in reliability-based
design.

To implement the robust optimization formulation in Eqn 10, performance variation,


σy, must be calculated at each function evaluation or simulation program execution

Isight Component Guide


550 Appendix A Component Reference Information

during optimization, using one of the techniques described in “Sampling Techniques:


Methods for Variability Estimation,” on page 538. Calculating performance variation
in turn requires additional function evaluations or simulation program executions. As a
result, robust optimization will be significantly more expensive (computationally) than
deterministic optimization. To reduce this added expense, initial sampling can be used
to create approximate models to replace expensive simulation codes. Approximate
models can be fit for each response and can then be used within the robust optimization
problem to identify robust solutions.

Additionally, parallel processing of sampling points can be employed to reduce the


time to perform sampling.

References
Arora, J.S., 1989, Introduction to Optimum Design, McGraw-Hill, New York.

Chen, W., Allen, J. K., Tsui, K.-L., and Mistree, F., 1996, “A Procedure for Robust
Design: Minimizing Variations Caused by Noise Factors and Control Factors,” ASME
Journal of Mechanical Design, Vol. 118, No. 4, pp. 478-485.

Choi, K.K., Yu, X., and Chang, K., 1996, “A Mixed Design Approach for Probabilistic
Structural Durability”, 6th AIAA/USAF/NASA/ISSMO Symposium on
Multidisciplinary Analysis and Optimization, Bellevue, WA, pp. 785-795.

Harry, M. J., 1997, The Nature of Six Sigma Quality, Motorola University Press,
Schaumburg, Illinois.

Harry, M., 1998, “Six Sigma: A Breakthrough Strategy for Profitability,” Quality
Progress, Vol.31, No. 5, May 1998, pp. 60-64.

Hasofer, A.M. and Lind, N.C., 1974, “Exact and Invariant Second Moment Code
Format,” Journal of Engineering Mechanics, ASCE, Vol. 100, No. EM1, February, pp.
111-121.

Hsieh, C-C., and Oh, K. P., 1992, “MARS: a computer-based method for achieving
robust systems,” FISITA Conference, The Integration of Design and Manufacture, Vol.
1, pp. 115-120.

Melchers, R.E., 1987, Structural Reliability: Analysis and Prediction, Ellis Horwood
Series in Civil Engineering, John Wiley & Sons, New York.

Isight Component Guide


Taguchi Robust Design Information 551

Phadke, M. S., 1989, Quality Engineering using Robust Design, Prentice Hall,
Englewood Cliffs, New Jersey.

Rackwitz, R. and Fiessler, B., 1978, “Structural Stability Under combined Random
Load Sequences”, Computers and Structures, Vol. 9, pp. 489-494.

Rao, S.S., 1992, Reliability-Based Design, McGraw-Hill, New York.

Saliby, E., 1990, “Descriptive Sampling: A Better Approach to Monte Carlo


Simulation”, J. Opl. Res. Soc., Vol. 41, No. 12, pp. 1133-1142.

Thanedar, P.B. and Kodiyalam, S., 1991, “Structural Optimization using Probabilistic
Constraints”, Proceedings, AIAA/ASME/ACE/AHS/ASC Structures, Structural
Dynamics and Materials Conference, pp. 205-212, Paper No. AIAA-91-0922-CP.

Taguchi Robust Design Information


This section is divided into the following topics:

„ “Overview” on this page

„ “Taguchi Dynamic Analysis,” on page 558

„ “Taguchi Dynamic-Standardized Analysis,” on page 565

Overview
The motive underlying robust design is to improve the quality of a product or process
by not only striving to achieve performance targets, but also by minimizing
performance variation. In robust design, parameters are classified using the following
terminology.

„ Control Factors (x). These parameters can be specified freely by a designer. These
are equivalent to design variables in optimization.

„ Noise Factors (z). These parameters are uncertain. They are either not under a
designer's control, or their settings are difficult or expensive to control. Noise

Isight Component Guide


552 Appendix A Component Reference Information

factors cause the response, y, to vary and lead to quality loss (performance
variation).

Examples include system wear, variations in the operating environment, and


economic uncertainties.

„ Response (y). These parameters are dependent performance characteristics.


Responses are the system outputs, and are functions of the control and noise
factors.

The focus in robust design is to reduce the variation of system performance responses
caused by uncertainty of noise factor values, or to reduce system sensitivity. Solutions,
which are system designs represented through settings of the control factors, are sought
that minimize response variation in addition to achieving performance targets (mean,
µy, on target and minimized variance, σy2).

Taguchi’s parameter design, one implementation of robust design, is built on the


foundation of statistically designed experiments (DOE). In this approach, the
evaluation of mean performance and performance variation is accomplished through a
product array experimental design, constructed by “crossing” two arrays: a “control”
array, designed in the control factors, and a “noise” array, designed in the noise factors.

An example product array is shown in Figure A-19.

Figure A-19. Product Array for Response Mean and Variance Estimation

NoiseArray

. . . . . .
z2 + + - - .
z1 + - + - .

x1 x2 x3 . 1 2 3 4 .

1 + + + . y11 y12 y13 . . μy1 σy1 S/Ny1 Ly1


Control Array

2 - + + . y21 y22 y23 . . μy2 σy2 S/Ny2 Ly2


3 + - + . y31 y32 y33 . . μy3 σy3 S/Ny3 Ly3
4 - - + . y41 y42 y43 . . μy4 σy4 S/Ny4 Ly4
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Isight Component Guide


Taguchi Robust Design Information 553

Each array in the product array can be any designed experiment. In Figure A-19 on
page 552, a two level factorial design is depicted for both the control and noise array,
as indicated by the “+” and “-” levels for each control factor (x1, x2, x3, …) and each
noise factor (z1, z2, …). For each row of the control array (indicating one set of values
of the control factors), response values are generated for each noise factor combination
(each row of the noise array). For example, control array row 1 (run with noise row 1)
leads to the response value y11, control row 1 (run with noise row 2) leads to response
value y12, and so on. This experimentation strategy then leads to multiple response
values for each set of control factor settings, from which a response mean, μyi, and
variance or standard deviation, σyi, can be computed, as shown in Figure A-19.

Given the mean and variance data for each control experiment, the experiments can be
compared to determine which set of control settings best achieves “mean on target”
and “minimized variation” performance goals. Alternately, performance characteristics
or metrics that combine the effects of mean performance and performance variation
can be calculated and used to compare the set of designs represented by the control
factor experiments. The performance characteristics used by Taguchi are the
signal-to-noise ratio (shown as S/Nyi for each control experiment in Figure A-19), and
quality loss (measured using a loss function, Lyi in Figure A-19).

The S/N ratio calculation depends on the particular response being investigated:
„ a response for which a specified target value is desired is categorized as a “nominal
is best” response type

„ a response for which low values are desired is categorized as a “lower is better”
response type
„ and a response for which high values are desired is categorized as a “higher is
better” response type

Isight Component Guide


554 Appendix A Component Reference Information

The S/N ratios for these response types are typically formulated as described in Table
A-2.

Table A-2. S/N Ratio Formulations

Response Type S/N Ratio


Nominal is best: 0≤y≤∞

Lower is better: 0≤y≤∞

Higher is better: 0≤y≤∞

The S/N ratio equations are formulated such that high values are desired (the control
experiment with the highest S/N ratio value is considered the best set of factor settings
of those included in the experiment), when S/N ratio is the performance characteristic
chosen for comparison. This formulation is consistent with the name of this
performance characteristic (signal-to-noise ratio) since the effects of noise are reduced
by increasing the ratio.

The S/N ratio equations given above are valid only for positive response values
(0 ≤ y ≤ ∞). If negative values of a response are encountered in Isight, the following
S/N ratio formulations are substituted for the standard formulations:

Response Type S/N Ratio


Nominal is best: -∞ ≤ y ≤ ∞

Lower is better: -∞ ≤ y ≤ ∞

Higher is better: -∞ ≤ y ≤ ∞

Isight Component Guide


Taguchi Robust Design Information 555

For the “Lower is better” and “Higher is better” functions, when negative values are
encountered and the above formulations are used, the response values are normalized
by the maximum absolute response value as shown (max|y|). This normalization is
performed to prevent the exponential values from getting excessively large.

The second performance characteristic used by Taguchi Robust Design Techniques, the
loss function, is generally used to measure the “loss of quality” associated with
deviating from a targeted performance value. The basic concept is shown in Figure
A-20, where it is compared to the conventional specification-limit quality assessment
approach.

Figure A-20. Taguchi Loss Function Compared to Conventional Quality


Assessment

With the conventional approach, lower and upper specification limits (USL and LSL in
Figure A-20) are used to define the acceptable quality range. All values within the
limits are assumed to have no quality loss, and all values outside the limits are defined
as having 100% quality loss, and related parts are reworked or scrapped. The best
example of this concept is dimensioning and tolerancing. If a part is to be
manufactured to a length of 10 inches, with a tolerance of ±0.1 inches, parts inspected
to be between 9.9 and 10.1 inches will are accepted (no quality loss) and parts less than
9.9 or greater than 10.1 inches will be rejected (100% quality loss). According to
Taguchi Robust Design Techniques, however, loss of quality occurs gradually when
moving in either direction from the target value, rather than as a sharp cutoff with the
conventional approach. Therefore, quality loss is measured by the deviation from the
target.

Isight Component Guide


556 Appendix A Component Reference Information

The standard form of the loss function L(y) is given as follows:

L(y) = k(y - T)2

In this equation, y is the quality characteristic, such as a dimension or performance


parameter, T is the target value for the quality characteristic, and k is the loss constant.
This loss function is derived from a Taylor series expansion with higher order terms
neglected. The loss constant is dependent upon the cost structure of a manufacturing
process or an organization. The quality loss is thus proportional to the deviation from a
desired ideal target (y - T); it is zero at the target, and increases quadratically with
deviations in either direction from the target. The loss constant is a problem-specific,
user-defined parameter. It is used to convert the squared deviation from the desired
target to the appropriate measure of quality loss. For example, if possible, the loss
constant can be defined as $/in2, and the quality loss is then measured as an actual
monetary value (for the case of a manufactured dimension). The loss constant is thus
simply a scaling factor. Individual values for Loss, for a given design, are generally
meaningless without a meaningfully defined loss constant. However, relative values,
between designs, are still meaningful. If no meaningful loss constant can be defined, k
should be set to 1.0 (default). The loss values calculated for different designs (different
cases defined by the control array, Figure A-19 on page 552), are compared, and the
design with the lowest loss value is chosen as the best design (minimum quality loss,
for the control points evaluated).

With the presence of noise factors, the loss can be calculated for each control/noise
factor combination in the crossed product array, as shown in Figure A-19. The loss
values must then be averaged across the noise factor cases, for each control factor case,
to compare designs (control cases) and select the case with the minimum loss. The
quality loss can also be calculated for the “Lower is better” and “Higher is better”
response types, as with the S/N ratio (the traditional loss equation given above
obviously applies to the “Nominal is best” case, since a target value is desired).

Isight Component Guide


Taguchi Robust Design Information 557

The typical loss function formulations, when noise is present, are then given as
follows:

Response Type Loss Function


Nominal is best: -∞ ≤ y ≤ ∞

Lower is better: 0≤y≤∞

Higher is better: 0≤y≤∞

As with the traditional S/N ratio equations, the loss function equations given above for
the “Lower is better” and “Higher is better” response types are valid only for positive
response values (0 ≤ y ≤ ∞).

If negative values of a response are encountered in Isight, the following loss function
formulations are substituted for the standard formulations, with the response values
again normalized by the maximum absolute response value (as with S/N ratios):

Response Type Loss Function


Lower is better: -∞ ≤ y ≤ ∞

Higher is better: -∞ ≤ y ≤ ∞

For all loss function formulations, low values are desired (loss of quality is always to
be reduced where possible). The control experiment case with the lowest loss value is
then considered the best set of factor settings of those included in the experiment, when
loss function is the performance characteristic chosen for comparison.

Isight Component Guide


558 Appendix A Component Reference Information

Taguchi Dynamic Analysis


For certain problems, a third type of factor is introduced into the Taguchi problem
formulation: Signal Factor (M). This type of parameter represents a user-adjustable
setting configured when the product/process is being used (for example: thermostat
setting, accelerator pedal position, weighing system, etc.).

A signal factor is introduced when the system must be designed to accommodate a


user-adjustable input, and achieve the user-expected results, which introduces a
dynamic characteristic into the problem. For a thermostat, for example, the system
must be calibrated such that the measured temperature matches user set desired
temperature. In addition, the sensitivity of the user adjustment should be constant, for
easy control by the user, and be insensitive to noise (a robust dynamic system).

The Taguchi P-Diagram is shown in Figure A-21, including the three types of factors
as inputs to the system that influence the responses. The specific goal of Taguchi
analysis with dynamic characteristics, when a signal factor is included, is to identify a
design with:

„ Linear signal/response relationship (constant sensitivity of user adjustment)

„ Minimized variability around the linear signal/response relationship

Figure A-21. Taguchi P-Diagram

The experiment data is gathered for a dynamic system by repeating the Product Array
of Figure A-19 on page 552 for each signal factor level. Thus the number of
experiments for a dynamic system is the product of the number of control experiments,
the number of noise experiments, and the number of signal factor levels.

Isight Component Guide


Taguchi Robust Design Information 559

An example signal factor-response relationship is shown in Figure A-22. The multiple


points at each signal factor level (M1, M2, M3) are a result of variation due to noise
factors. The relationship between the response and signal factor can be modeled as:
y = βM

where y is the response, M is the signal factor, and is the slope of the line fit to the
signal/response data.

Figure A-22. Signal Factor - Response Relationship

To measure both the linearity of the signal-response relationship and the variability of
noise around this modeled relationship, a dynamic signal-to-noise ratio is calculated
for each experiment run (each control array experiment). To calculate the dynamic
signal-to-noise ratio, the type of the signal-response relationship must first be defined.
Three types exist:

„ Zero Point Proportional. The relationship between the signal factor and response
passes through zero (zero input leads to zero output). One good example of this
relationship is a weighing system to be designed and calibrated. If no weight is on
the scale, the measurement should read zero.

„ Reference Point Proportional. The relationship between the signal factor and the
response passes through a reference point. This type is used when the relationship
does not pass through zero or when the signal values are far from zero. This type

Isight Component Guide


560 Appendix A Component Reference Information

can be used if the relationship can be calibrated to a known standard, as with oven
controls where one setting is calibrated to a specific temperature.

„ General Linear Equation. This relationship is used when the relationship


between the signal factor and response is not known to pass through zero and no
reference point is known. This is the most general case. The other types should be
used whenever possible. This type can be useful however when signal levels are
close together and far from zero, with no known reference point. With this type, a
linear fit to the data will be used to assess the signal factor / response relationship

Zero Point Proportional Calculations


For the Zero Point Proportional case, the dynamic signal-to-noise ratio is calculated as
follows:

r0 = number of noise experiments

k = number of signal factor levels

1. Calculate the slope, :

where

and yk is the sum of the response values at signal level k.

2. Calculate the total sum of squares:

3. Calculate the variation due to the linear effect:

Isight Component Guide


Taguchi Robust Design Information 561

4. Calculate the variation associated with error and nonlinearity:

5. Calculate the error variance:

6. Calculate the dynamic S/N ratio:

The dynamic S/N ratio is calculated for each control experiment. The control
experiment with the largest S/N ratio value represents the best design (best
combination of linear fit and low variability) of those executed. The main effect on
the dynamic S/N ratio can be used to identify other combinations of control factor
settings that may produce even better designs.

Reference Point Proportional Calculations


For the Reference Point Proportional case, a slight variation of the steps given for the
Zero Point Proportional case is used to calculate the dynamic signal-to-noise ratio. The
relationship between the response and signal factor for this case can be modeled as:

where y is the response, is the average from the reference standard data (data
obtained with signal factor at reference value), M is the signal factor, Ms is the
reference standard (the reference signal factor level), and is the slope of the line fit
to the signal/response data.

Isight Component Guide


562 Appendix A Component Reference Information

The reference standard response average is calculated as follows:

where y1 to yj are the response values at the reference standard signal factor level, for a
given control experiment.

The reference standard average is then subtracted from each response data value, for a
given control experiment number, and the reference standard signal factor level is
subtracted from all signal factor levels. The steps for calculating the dynamic
signal-to-noise ratio for the Reference Proportional case, using the reference standard
adjusted data and signal factor levels, is then given as follows:

r0 = number of noise experiments

k = number of signal factor levels


1. Calculate the slope, :

where

and yk is the sum of the response values at signal level k.

2. Calculate the total sum of squares:

3. Calculate the variation due to the linear effect:

Isight Component Guide


Taguchi Robust Design Information 563

4. Calculate the variation associated with error and nonlinearity:

5. Calculate the error variance:

6. Calculate the dynamic S/N ratio:

General Linear Equation Calculations


For the General Linear Equation case, another variation of the steps given for the Zero
Point Proportional case is used to calculate the dynamic signal-to-noise ratio. The
relationship between the response and signal factor for this case can be modeled as:

where y is the response, m = , M is the signal factor, is the average of the signal
factor levels, and is the slope of the line fit to the signal/response data, and e is the
error in this fit.

The dynamic signal-to-noise ratio is calculated for the General Linear Equation case as
follows:

r0 = number of noise experiments

k = number of signal factor levels


1. Calculate the slope, :

Isight Component Guide


564 Appendix A Component Reference Information

where

and yk is the sum of the response values at signal level k.

2. Calculate the total sum of squares:

3. Calculate the variation due to the linear effect:

4. Calculate the variation associated with error and nonlinearity:

5. Calculate the error variance:

6. Calculate the dynamic S/N ratio:

Isight Component Guide


Taguchi Robust Design Information 565

Taguchi Dynamic-Standardized Analysis


The linear signal-response relationship analyzed when using the Taguchi Dynamic
Analysis approach (presented in the previous section) is not appropriate for some
product/process design problems. Such problems provide the motivation behind a new
approach, developed for cases when the relationship between the signal factor and
response is not linear. A new S/N ratio formulation and methodology, which utilizes
this formulation, are implemented in the Taguchi Dynamic-Standardized Analysis for
handling nonlinearity in the ideal signal-response relation.

Figure A-23. Nonlinear Ideal Function; Signal Factor - Response Relationship

The nonlinear relation illustrated in Figure A-23 is not easily modeled by traditional
dynamic S/N ratio formulations of zero-point proportional form, reference-point
proportional, or the general linear equation form.

Isight Component Guide


566 Appendix A Component Reference Information

With the new dynamic-standardized analysis approach, measurement spaces are


transformed into linear spaces and are analyzed using methods similar to the traditional
dynamic analysis approach.

Figure A-24. Transformation of Measurement Space

Isight Component Guide


Taguchi Robust Design Information 567

The procedure employed in this new approach is a two step approach, as shown in
Figure A-25 on page 568. Conceptually, the procedure is similar to traditional Taguchi
approaches:

„ Step 1 - Maximize Robustness (Minimize Variation)

One goal with Taguchi methods is to always reduce the response variation due to
the affects of uncontrollable noise. Control factor settings are sought that minimize
the effects of the noise factors.

„ Step 2 – Adjust System Behavior to Target

In this case the “mean on target” Taguchi goal is actually expanded by the
requirement to move the entire signal-response relationship to the “ideal” or target
relationship.

Isight Component Guide


568 Appendix A Component Reference Information

Figure A-25. Dynamic-Standardized Analysis - Two Step Process

Step 1 - Maximize Robustness

Step 2 - Adjust System Behavior to Target

Isight Component Guide


Taguchi Robust Design Information 569

Note that the processes illustrated in Figure A-25 on page 568 are performed in the
transformed “linearized” space. In the new measurement space, the Y values of the
reference noise condition are plotted on the x-axis and the observed response values
are plotted on the y-axis. The reference noise condition is user-specified. It may be
defined by a certain noise condition or by a hypothetical zero-noise condition. As a
result of the transformation, the curve of N0, the reference noise condition, becomes a
line through origin and at 45 degree angle with the x-axis, as shown in Figure A-26 on
page 570. The curves of the other noise conditions N1, N2 will vary around the N0
reference noise condition, not necessarily linearly.

The transformed measurement space can be analyzed effectively by means of


traditional dynamic analysis of the zero-point proportional S/N ratio. However, the
new S/N ratio in the linearized space is not completely identical to the traditional S/N
ratio, since in the linearized space, in is expected to be constant value
of 1. (The can take arbitrary values in traditional dynamic S/N ratio formulation.)

Isight Component Guide


570 Appendix A Component Reference Information

Figure A-26. Transformation of Measurement Space

Isight Component Guide


Taguchi Robust Design Information 571

Reference noise condition

Negative-side prepared noise condition

Positive-side prepared noise condition

In the dynamic-standardized approach, the use of three noise conditions as previously


discussed (reference noise condition, negative-side noise condition, and positive-side
noise condition) is recommended over use of a full noise matrix to reduce calculation
effort. For nonlinear problems, more signal levels are needed to represent this
nonlinearity than traditionally used with the dynamic analysis (often two or three
signal levels are used with the traditional dynamic analysis; four or more is common
with the new dynamic-standardized approach). The total calculation effort is the
product of the control matrix times the noise matrix times the number of signal levels.
The use of three noise conditions instead of a full noise matrix can offset the added
computational cost with the increase in number of signal levels.

The three noise conditions (N0, N1, and N2) are user defined. The combinations of
noise factor levels necessary to define N0, N1, and N2 are generated in one of two
ways:

„ specified manually, based on user knowledge

„ through preprocessing experimentation - running a separate noise experiment,


identifying main effects of the noise factors, and choosing appropriate levels for
each for the negative side and positive side

If a full noise matrix is employed, a reference noise condition is still employed. This
reference noise condition is often estimated using the average response values at each
signal level. This approach allows for application of the dynamic-standardized S/N
methodology.

Isight Component Guide


572 Appendix A Component Reference Information

The dynamic-standardized analysis employs a standardized S/N ratio formulation. Two


versions of this S/N ratio formulation can be employed. Both versions are available in
Isight and are shown below:

„ Standardized S/N ratio (Generic version):

„ Standardized S/N ratio (Taguchi version):

where:

r is sum of squares of the reference response values

Sβ is the variation due to the proportional effect

Ve is the pure error variance

VN is the noise error variance

Note that the denominator in the generic version is divided by . This step is
different than the traditional definitions of S/N ratio.

Once the standardized S/N ratio values are calculated for all control experiments, the
calculated main effects can be used to “tune” the design for robustness, and to adjust
the system behavior to the target “ideal” conditions. A transformation concept similar
to that used for the dynamic-standardized S/N ratio approach is employed for this
tuning. The values of the x-axis in this transformation are the target response values
(the reference response targets) under N0 for each signal level. The values of the y-axis
are calculated response values. Combinations of control factor levels can then be
explored to achieve a linear relationship in this transformed measurement space.

Isight Component Guide


Taguchi Robust Design Information 573

This tuning, illustrated in Figure A-27, is performed through the following procedure:

„ Step 1: Estimate the y curve in the polynomial expression:


. The polynomial expression is based on orthogonal
expansion.

„ Step 2: Find a combination of control factor levels to achieve


.

The polynomial is calculated for each row of the control matrix.

Figure A-27. Tuning Design Onto the Desired “Ideal” Relation

Isight Component Guide


574 Appendix A Component Reference Information

Target value (reference noise condition)

Response value (reference noise condition)

With the dynamic-standardized analysis approach, as with traditional Taguchi


approaches, the calculated main effects are used to tune the design. The main effects of
the control factors on the standardized S/N ratio are used to achieve robustness. The
main effects of the control factors on the β1, β2, and β3 are used to adjust system
behavior to the target condition.

References - Robust Design


For more background information about Taguchi based robust design methods, see:

Byrne, D. M. and Taguchi, S., 1987, “The Taguchi Approach to Parameter Design,”
40th Annual Quality Congress Transactions, Milwaukee, Wisconsin, American Society
for Quality Control, pp. 19-26.

Chen, W., Allen, J. K., Tsui, K.-L., and Mistree, F., 1996, “A Procedure for Robust
Design: Minimizing Variations Caused by Noise Factors and Control Factors,” ASME
Journal of Mechanical Design, Vol. 118, No. 4, pp. 478-485.

Peace, G. S., 1993, “Taguchi Methods: A Hands-On Approach”, Addison-Wesley, New


York.

Phadke, M. S., 1989, Quality Engineering using Robust Design, Prentice Hall,
Englewood Cliffs, New Jersey.

Ross, P. J., 1988, Taguchi Techniques for Quality Engineering, McGraw Hill, New
York.

Roy, R., 1990, A Primer on the Taguchi Method, Van Nostrand Reinhold, New York.

Isight Component Guide


Optimization Reference Information 575

Optimization Reference Information


The following technique reference information is provided in this section:

„ “Adaptive Simulated Annealing Reference Information” on this page


„ “Downhill Simplex,” on page 577

„ “Modified Method of Feasible Directions - ADS Reference Information,” on


page 578

„ “Generalized Reduced Gradient - LSGRG2,” on page 581

„ “Hooke-Jeeves Direct Search Method,” on page 582

„ “MOST,” on page 582


„ “Multi-Island Genetic Algorithm,” on page 582

„ “Sequential Quadratic Programming - NLPQL,” on page 583

„ “Pointer Reference Information,” on page 583

„ “NSGA-II Reference Information,” on page 592

„ “NCGA Reference Information,” on page 593

„ “Stress Ratio Reference Information,” on page 597

Adaptive Simulated Annealing Reference


Information
The Adaptive Simulated Annealing (ASA) algorithm is very well suited for solving
highly non-linear problems with short running analysis codes, when finding the global
optimum is more important than a quick improvement of the design.

It helps to visualize the problems presented by such complex systems as a geographical


terrain. For example, consider a mountain range, with two “parameters,” such as along
the North-South and East-West directions. We wish to find the lowest valley in this
terrain. ASA approaches this problem similar to using a ball that can bounce over
mountains from valley to valley. We start at a high “temperature,” where the

Isight Component Guide


576 Appendix A Component Reference Information

temperature is an ASA parameter that mimics the effect of a fast moving particle in a
hot object like a hot molten metal, thereby permitting the ball to make very high
bounces, and able to bounce over any mountain to access any valley, given enough
bounces. As the temperature is made relatively colder, the ball cannot bounce so high,
and it also can settle, becoming trapped in relatively smaller ranges of valleys.

We imagine that our mountain range is aptly described by a “cost function” (Objective
and Penalty parameter inIsight). We define probability distributions of the two
directional parameters, called generating distributions since they generate possible
valleys or states we are to explore. We define another distribution, called the
acceptance distribution, which depends on the difference of cost functions of the
present generated valley we are to explore and the last saved lowest valley. The
acceptance distribution decides probabilistically whether to stay in a new lower valley
or to bounce out of it. All the generating and acceptance distributions depend on
temperatures.

In a D-dimensional parameter space with parameters p^i having ranges [A_i, B_i],
about the k'th last saved point (e.g, a local optima), p_k^i, a new point is generated
using a distribution defined by the product of distributions for each parameter, g^i(y^i;
T_i), in terms of random variables y^i in [-1, 1], where p_k+1^i = p_k^i + y^i(B_i -
A_i), and “temperatures” T_i, g^i(y^i; T_i) = 1/[2(|y^i| + T_i)(1 + 1/T_i)].

The cost functions, C(p_k+1) - C(p_k), are compared using a uniform random
generator, U in [0, 1), in a “Boltzmann” test: If exp[-(C(p_k+1) - C(p_k))/T_cost] > U,
where T_cost is the “temperature” used for this test, then the new point is accepted as
the new saved point for the next iteration. Otherwise, the last saved point is retained.

The annealing schedule for each parameter temperature, T_i, from a starting
temperature T_i0, is as follows:

T_i(k_i) = T_0i exp(-c_i k_i^(1/D)).

The annealing schedule for the cost temperature is developed similarly to the
parameter temperatures. However, the index for reannealing the cost function, k_cost,
is determined by the number of accepted points, instead of the number of generated
points as used for the parameters.

T_cost(k_cost) = T_0cost exp(-c_cost k_cost^(1/D)).

As determined by the technique options selected, the parameter “temperatures” may be


periodically adaptively reannealed, or increased relative to their previous values, using

Isight Component Guide


Optimization Reference Information 577

their relative first derivatives with respect to the cost function, in order to guide the
search “fairly” among the parameters.

As determined by the technique options selected, the reannealing of the cost


temperature resets the scale of the annealing of the cost acceptance criteria using the
new T_0cost value. The new T_0cost value is taken to be the minimum of the current
initial cost temperature and the maximum of the absolute values of the best and last
cost functions and their difference. The new k_cost is calculated taking T_cost as the
maximum of the current value and the absolute value of the difference between the last
and best saved minima of the cost function, constrained not to exceed the current initial
cost temperature. This procedure essentially resets the scale of the annealing of the cost
temperature within the scale of the current best or last saved minimum.

References for Adaptive Simulated Annealing Reference


Information
Ingber, L. (1993). “Adaptive Simulated Annealing (ASA)”.
[ftp.alumni.caltech.edu:/pub/ingber/ASA.tar.Z], Lester Ingber Research, Mclean, VA.

Downhill Simplex
The downhill simplex method is a geometrically intuitive algorithm. A simplex is
defined as a body in n dimensions consisting of n+1 vertices. Specifying the location of
each vertex fully defines the simplex. In two dimensions, the simplex is a triangle. In
three dimensions, it is a tetrahedron. As the algorithm proceeds, the simplex makes its
way downward toward the location of the minimum through a series of steps. These
steps can be divided into reflections, expansions, and contractions. Most steps are
reflections, which consist of moving the vertex of the simplex where the objective
function is largest (worst) through the opposite face of the simplex to a lower (better)
point. Reflections maintain the volume of the simplex. When possible, an expansion
can accompany the reflection in order to increase the size of the simplex and speed
convergence by allowing larger steps. Conversely, contractions “shrink” the simplex,
allowing it to settle into a minimum or pass through a small opening like the neck of an
hourglass.

This method has the highest probability of finding the global minimum when it is
started with big initial steps. The initial simplex will then span a greater fraction of the

Isight Component Guide


578 Appendix A Component Reference Information

design space and the chances of getting trapped in a local minimum are smaller.
However, for complex hyperdimensional topographies, the method can break down.

Modified Method of Feasible Directions - ADS


Reference Information
The Modified Method of Feasible Directions-ADS (Automated Design Synthesis) is a
direct numerical optimization technique used to solve constrained optimization
problems. This technique has the following features:

„ Rapidly obtains an optimum design

„ Handles inequality and equality constraints

„ Satisfies constraints with high precision at the optimum

The following are the sequence of steps followed by the Modified Method of Feasible
Directions technique:

1. q = 0, x = x0
2. q = q + 1

3. Evaluate F(x) and gj(x); j = 1, 2, ...., M

4. Identify set of critical constraints, J


5. Calculate F(x) and gj(x), j J

6. Determine usable/feasible search direction, Sq

7. Perform 1D search to find a*

8. Set xq = xq-1 + a*x Sq

9. Check for convergence; if not converged go to step 2

Isight Component Guide


Optimization Reference Information 579

The Modified Method of Feasible Directions technique uses one of the following
methods to find the search direction at each iteration q:

„ If no constraints are active or violated, the (previously described) unconstrained


method Conjugate Gradient method is used

„ If any constraints are active and none are violated, the Modified Method of
Feasible Directions

Minimizes F(xq-1) x Sq

Subject to: gj(xq-1) x Sq 0; j J


Sq x Sq 1

„ If one or more constraints are violated, the Modified Method of Feasible


Directions

Minimizes F(xq-1) x Sq -

Subject to: gj(xq-1) x Sq + 0; j J

Sq x Sq 1
Where: J is the set of active and violated constraints

is a large positive number

is a push-off factor for constraints


= 0 for active constraints

> 0 for violated constraints

The active and violated constraints are identified as follows:

gj(x) is active, if CT gj(x) CTMIN

gj(x) is violated, if gj(x) > CTMIN

Isight Component Guide


580 Appendix A Component Reference Information

Figure A-28. Active and Violated Constraint Identification

Modified Method of Feasible Directions - ADS References


„ Han S.-P. (1976): Superlinearly convergent variable metric algorithms for general
nonlinear programming problems, Mathematical Programming, Vol. 11, 263-282.

„ Han S.-P. (1977): A globally convergent method for nonlinear programming,


Journal of Optimization Theory and Applications, Vol. 22, 297-305.

„ Hock W., Schittkowski K. (1981): Test Examples for Nonlinear Programming


Codes, Lecture Notes in Economics and Mathematical Systems, Vol. 187,
Springer.

„ Powell M.J.D. (1978a): A fast algorithm for nonlinearly constrained optimization


calculations, in: Numerical Analysis, G.A. Watson ed., Lecture Notes in
Mathematics, Vol. 630, Springer.

„ Powell M.J.D. (1978b): The convergence of variable metric methods for


nonlinearly constrained optimization calculations, in: Nonlinear Programming 3,
O.L. Mangasarian, R.R. Meyer, S.M. Robinson eds., Academic Press.

Isight Component Guide


Optimization Reference Information 581

„ Schittkowski K. (1980): Nonlinear Programming Codes, Lecture Notes in


Economics and Mathematical Systems, Vol. 183, Springer.

„ Schittkowski K. (1983): On the convergence of a sequential quadratic


programming method with an augmented Lagrangian line search function,
Optimization, Vol. 14, 197-216.

„ Schittkowski K. (1985/86): NLPQL: A FORTRAN subroutine solving constrained


nonlinear programming problems, Annals of Operations Research, Vol. 5,
485-500.

„ Schittkowski K. (1987): More Test Examples for Nonlinear Programming, Lecture


Notes in Economics and Mathematical Systems, Vol. 182, Springer.

„ Schittkowski K. (1988): Solving nonlinear least squares problems by a general


purpose SQP-method, in: Trends in Mathematical Optimization, K.-H. Hoffmann,
J.-B. Hiriart-Urruty, C. Lemarechal, J. Zowe eds., International Series of
Numerical Mathematics, Vol. 84, Birkhaeuser.

„ Schittkowski K. (1991): Solving nonlinear programming problems with very many


constraints, Report No. 294, DFG-Schwerpunktprogramm ‘Anwendungsbezogene
Optimierung und Steuerung’, Mathematical Institute, University of Bayreuth.

„ Schittkowski K. (1994): Easy-to-use optimization programs with automatic


differentiation, Report, Mathematical Institute, University of Bayreuth.

„ Schittkowski,K. (1996): EASY-FIT: Parameter estimation in dynamic systems,


User’s Guide, Mathematical Institute, University of Bayreuth.

Generalized Reduced Gradient - LSGRG2


This technique uses generalized reduced gradient algorithm for solving constrained
non-linear optimization problems. The algorithm uses a search direction such that any
active constraints remain precisely active for some small move in that direction.

Isight Component Guide


582 Appendix A Component Reference Information

Hooke-Jeeves Direct Search Method


This technique begins with a starting guess and searches for a local minimum. It does
not require the objective function to be continuous. Because the algorithm does not use
derivatives, the function does not need to be differentiable. Also, this technique has a
convergence parameter, rho, that lets you determine the number of function
evaluations needed for the greatest probability of convergence.

MOST
This technique first solves the given design problem as if it were a purely continuous
problem, using sequential quadratic programming to locate an initial peak. If all design
variables are real, optimization stops here. Otherwise, the technique will branch out to
the nearest points that satisfy the integer or discrete value limits of one non-real
parameter, for each such parameter. Those limits are added as new constraints, and the
technique re-optimizes, yielding a new set of peaks from which to branch. As the
optimization progresses, the technique focuses on the values of successive non-real
parameters, until all limits are satisfied.

Multi-Island Genetic Algorithm


In the Multi-Island Genetic Algorithm, as with other genetic algorithms, each design
point is perceived as an individual with a certain value of fitness, based on the value of
objective function and constraint penalty. An individual with a better value of objective
function and penalty has a higher fitness value.

The main feature of Multi-Island Genetic Algorithm that distinguishes it from


traditional genetic algorithms is the fact that each population of individuals is divided
into several sub-populations called “islands.” All traditional genetic operations are
performed separately on each sub-population. Some individuals are then selected from
each island and migrated to different islands periodically. This operation is called
“migration.” Two parameters control the migration process: migration interval, which
is the number of generations between each migration, and migration rate, which is the
percentage of individuals migrated from each island at the time of migration.

Isight Component Guide


Optimization Reference Information 583

Sequential Quadratic Programming - NLPQL


This technique assumes that objective function and constraints are continuously
differentiable. The idea is to generate a sequence of quadratic programming
subproblems, obtained by a quadratic approximation of the Lagrangian function, and a
linearization of the constraints. Second order information is updated by a
quasi-Newton formula, and the method is stabilized by an additional line search.

Pointer Reference Information


The Pointer technique consists of a complementary set of optimization algorithms:
linear simplex, sequential quadratic programming (SQP), downhill simplex, and
genetic algorithms. Pointer can efficiently solve a wide range of problems in a fully
automatic manner due to a special automatic control algorithm. The goal of the Pointer
technique is to make optimization more accessible to non-expert users without
sacrificing performance.

It has been said that one of the problems with optimization is that “there is nothing you
can say about an arbitrary system”. This statement is correct to some extent. However,
based on many years of experience in applying optimization to various engineering
problems, the following observations can be made. First of all, a system can be
classified once more is known about it. Secondly, once classified, there is some
combination of optimization methods that would work better than random guessing.

Knowing the type of system you have is critical to being able to solve the system
efficiently. Optimization theory has always been developed the other way around.
Assuming that the system has a certain mathematical form, what is the most cost
efficient way of optimizing this system? Over time, a large collection of optimization
methods based on such assumptions were developed. Each of these methods had many
degrees of freedom to adapt the method to the problem at hand. In essence, the specific
problem that people wanted to solve (for example, design a lighter structure) was now
transformed into finding the right algorithm for designing the structure. This second
task was in many ways a harder task than the original. For many engineers and
scientists, the problem was transformed from a known to an unknown domain. As a
consequence, optimization technology did not become the big commercial success
many had hoped for.

Isight Component Guide


584 Appendix A Component Reference Information

Thus the issue of control became a driving factor in the development of the Pointer
optimization engine. Pointer uses a proprietary algorithm that automatically controls a
set of optimization resources. Similarly, Pointer efficiently solves a wide range of
problems in a fully automatic manner by harnessing and leveraging the power of a
group of distinct complementary optimization algorithms.

Pointer Control Algorithm


Pointer derives its name from the Pointer dog. Even though Pointer dogs are all
genetically similar, they can have very specialized skills. Some can “point” out drugs
while others can “point” out where a victim is buried under an avalanche. These
special skills are passed down from generation to generation. Figure A-29 illustrates
the control algorithm.

Figure A-29. Pointer Control Algorithm

The Pointer technique consists of a complementary set of optimization algorithms.


Currently, Pointer uses linear simplex, sequential quadratic programming (SQP),
downhill simplex, and genetic algorithms. All have control parameters (such as initial
step sizes) that need to be set properly in order to operate efficiently. This process,
illustrated in Figure A-29, is called optimizer training. The inputs to the process are the
design variables, constraints and the search objective, with the total time available for

Isight Component Guide


Optimization Reference Information 585

the search and any previous experience in terms of the selection and right settings of
the optimizers.

The Pointer control algorithm varies the optimizer settings in such a way that either:

1. The best answer is found in the shortest time. In this case the optimizers are
configured such that the maximum rate of improvement of the objective function is
achieved from a single starting position.

2. The most experience is gained. The optimizer settings are selected in such a way
that the highest optimizer robustness is achieved for a given optimization time. The
robustness is defined as the mean harmonic error of the best objective function
(ever found) normalized by the local optimum for a set of random starting vectors.
This approach is an order of magnitude slower than merely finding the best answer,
but the experience gained will allow you to solve similar classes of problem in the
shortest possible time.

Usually, it is not possible for the user to identify the problem topology in such a way
that he/she can select the proper algorithms and settings. A real-life example is shown
in Figure A-30. The topology is that of the drag of an airfoil computed by CFD as a
function of its shape. Previously, the user (from experience) assumed that the drag was
a smooth function of the geometry. From the starting point, a small step was selected to
calculate the gradients accurately. Because the topology of the drag had surface waves,
the steepest downhill slope was considered to be along this wave. If the user had
picked a larger step size, he/she would have concluded that the direction normal to the
waves has the “relevant” steepest downhill slope.

Figure A-30. CFD Problem Topology

Isight Component Guide


586 Appendix A Component Reference Information

These waves are not caused by the physics of the problem (drag), but by numerical
interference of converging loops inside the numerical code that calculates the drag.
Almost all simulation codes that use partial differential equations exhibit such
behavior. Note that the spikes in this plot represent code-crashes, another difficult
topological feature not inherent in the real physics.

A dozen approaches were identified to correct pathological topologies and find the
correct relevant search direction. These pathological topologies are created by the type
of numerical algorithm used in the simulation code and not by the specific design
problem the simulation code addresses. Therefore, the solution that Pointer presents is
valid over a wide range of topologies.

Pointer Core Algorithms


The core Pointer algorithms were selected based on their individual performance and
the added performance in the set of algorithms used.

For smooth problems, the best optimizer is the sequential quadratic programming
(SQP) algorithm. The SQP algorithm uses function calls close to the starting point to
determine the topology of the problem. SQP is widely used in trajectory optimization
and structural optimization.

The SQP algorithm used in Pointer is NLPQL, developed by Dr. Klaus Schittkowski,
which solves general nonlinear mathematical programming problems with equality and
inequality constraints. It is assumed that all problem functions are continuously
differentiable. Proceeding from a quadratic approximation of the Lagrangian function
and a linearization of the constraints, a quadratic subproblem is formulated and solved
by the dual code QL. Subsequently, a line search is performed with respect to two
alternative merit functions and the Hessian approximation is updated by a modified
BFGS-formula.

For non-smooth continuous problems, the downhill simplex method is unmatched.


Downhill simplex is especially popular in the chemical engineering field. Unlike SQP,
that starts the computation near the starting point, downhill simplex starts the
computations from the edges of a computational domain. Pointer utilizes a modified
version of Nelder and Mead's implementation. The simplex is a geometrical body with
n+1 vertices represented by a triangle in two dimensions and a tetrahedron in three.
The method calculates and compares the objective function at the vertices of a simplex
in the variable space, selects the worst one, and moves this point through the opposite

Isight Component Guide


Optimization Reference Information 587

face of the simplex to a lower point. If this new vertex is better, the old one is deleted.
If there is no improvement after a number of steps, the method “shrinks” the simplex
by reducing the length of each side, thus trapping the optimum solution. Instead of
moving the best point directly in the direction of the steepest decent (the approach of
SQP) it moves the worst points of the initial set in the direction of the best. Thus SQP
and downhill simplex have little overlap in terms of assumptions and computational
use of objective function data.

A third algorithm in Pointer is the so-called evolution or genetic algorithm. SQP and
downhill simplex determine analytically where the best answer is based on previous
objective function calls. Genetic algorithms work well because they incorporate
randomness in their search. It gives the algorithm the ability to correct deterministic
search bottlenecks. No objective function continuity is required for this method.

The algorithm in Pointer is based on Professor Schwefel's evolution strategy, later


modified by Dr. Mathias Hadenfeld and the first author. The evolution strategy starts
out with a large number of points inside the computational domain. In the case of
mutation, each of the points produces new points that are normally distributed around
the original point. The best point out of this set is selected. In the case of
recombination, a random number of points exchange parameter values. Instead of the
step size (for SQP) and the size of the simplex (downhill simplex), the volatility of the
search is determined by the standard deviation of the average mutation.

Genetic algorithms almost always work. However, they are not often the best
algorithms to use because of their very high computational expense.

Pointer's Performance On Bench-mark Problems


Pointer has been tested on a variety of problems, from classic “hard” problems such as
traveling salesman, to the design of the hull shape for a hydrofoil.

However, any optimization problem can usually be solved when the right answer is
already known and the starting point “tweaked”. This comparison will therefore focus
on the added value of Pointer versus the already good set of core algorithms.

Although many problems have been solved with Pointer, this section uses a truss
optimization problem because it represents a typical design problem in mechanical or
aerospace engineering. Figure A-31 on page 588 shows a truss as it supports a series of
point loads.

Isight Component Guide


588 Appendix A Component Reference Information

Figure A-31. A 27 Bar Truss Supporting a Load On a Bridge

Figure A-32. Weight of Bar as Function of x,y Node

The bridge is supported at the right edge and free at the left edge. It has six joints
whose positions are chosen by the optimizer so as to minimize the weight or cost
subject to a given set of loads. The weight is computed by determining the minimum
bar dimensions that can support the applied load.

The problem is hard because, as the joints locations move with respect to each other,
the loads on the bars change from compression to tension and back. A bar under
compression has to be much thicker (thin-walled cylinder) than a bar under tension
(wire). The weight of the truss structure is therefore a discontinuous function of the
locations of the joints.

Isight Component Guide


Optimization Reference Information 589

The optimization task was to minimize the weight of the truss in 30 minutes. In 1993,
Mathias Hadenfeld completed the task of optimizing the truss from a random starting
point. Hadenfeld was an expert user of optimization. He was free to tweak and restart
the solution until he felt that no more progress could be made, but he could not change
the starting point. His results are shown in Figure A-34 on page 591 (blue symbols).
On average he had more success with the genetic algorithm than the downhill simplex
method, and the gradient method failed completely. On average his answers were 15%
away from the known optimum due to the difficult topology of the problem.

In 1999, the same problem was given to 13 groups of between 7 and 15 professional
engineers. They were given Pointer and its graphical user interface displaying the truss.
They were asked to minimize the weight without using the optimization. They had to
manually input the joint coordinates and run the analysis to see whether an
improvement was made. Since an analysis could be done in less than a second, 30
minutes was ample time to complete the task. The number of iterations was between 10
and 30. In our experience this also represents the average number of industrial product
design iterations.

The groups of engineers came up with vastly different answers. Some were more than
twice as heavy as the best solution. However, some came up with solutions that were
within 5% of the right answer. It is interesting to note that they only achieved these
results through the use of the graphical representation of the truss. In a subsequent test
without the graphics, no engineer came within 20% of the optimizer's best answer.

Next, Pointer was given the control over the core optimizers (red symbol). Just like the
expert, Pointer required less function calls to find the answer with genetic algorithm
than with the downhill simplex algorithm. But with its standard settings, which allow
the optimal use of all algorithms, Pointer was able to consistently get the right answer
from any starting point with just 1000 function calls (< 1 minute).

Even though the group of experts got very different answers when solving the problem
manually, all achieved the correct answer when using Pointer under its standard
settings.

We also compared Pointer versus a dozen high quality optimizers on standard


benchmark tests. The test we used was devised by Dr. Sandgren to represent a wide
variety of hard optimization problems in all fields of mathematics and engineering.
Though the problems are hard, they were typically not as hard as the ones we
experience when working with clients.

Isight Component Guide


590 Appendix A Component Reference Information

Figure A-34 on page 591 shows the result of the test. Nevertheless, maybe not
surprisingly, Pointer performed exceedingly well on the test. It was the only code
capable of solving all the problems. This is all the more impressive considering that the
same standard settings were used for all the test cases and that there was no expert
intervention in the process. In terms of speed it is usually comparable to the best codes
for each of the specific problems. The “best” benchmark results were provided by Dr.
Egorov the author of IOSO. Other codes in the comparison were IOSO, NLPQL,
DONLP, and MOST.

Figure A-33. Design of a Truss for Minimum Weight Using Various Tools

Isight Component Guide


Optimization Reference Information 591

Figure A-34. Performance of Pointer Compared to the Fastest Algorithm (used by


an expert) Known For Each Test Problem

Summary
The Pointer technique consists of a complementary set of optimization algorithms:
linear simplex, sequential quadratic programming, downhill simplex, and genetic
algorithms. Since all the optimizer control parameters are automatically set with a
special control algorithm, Pointer can efficiently solve a wide range of problems in a
fully automatic manner. This was demonstrated by benchmarking the code with Eric
Sandgren's optimization benchmark test. Pointer was the only algorithm that could
solve all problems and was usually as fast as the best algorithm known for each of the
individual test problems.

Pointer References
Schittkowski, K., “NLPQL: A Fortran subroutine for solving constrained nonlinear
programming problems”, Annals of Operations Research, Vol.5, 485-500. 1985.

Nelder, J.A. & Mead R. “Downhill simplex method in multidimensions”. Computer


Journal, 7, pp. 308-313, 1965.

Isight Component Guide


592 Appendix A Component Reference Information

Schwefel, H.P. “Evolutionsstrategie und numerische optimierung”, Ph.D. thesis,


Verfahrenstechnik TUBerlin, 1975.

Hadenfeld, M., “Anwendung von Evolutionsstrategien fuer die Optimierungsaufgaben


beim Vorentwurf von Flugzeugen”, Braunschweig /Bremen. 1993.

Ashley, H., “On Making Things the Best - Aeronautical uses of Optimization”, Wright
brothers lectureship in aeronautics, Journal of Aircraft. vol. 19 No. 1. 1982.

Sandgren, Eric, “The Utility of Nonlinear Programming Algorithms” Ph.D. Thesis,


Purdue University, December 1977.

Egorov, I.N. “Indirect Optimization Methods on the basis of self-organization”.


Optimization Techniques and Applications (ICOTA '98), vol 2. pp. 683-691. 1998.

Dr. Spellucci:
(http://www.mathematik.th-darmstadt.de/ags/ag8/spellucci/spellucci.html).

Pincus, Jonathan. “Transistor Sizing.”' UCB//CSD-86-285, February 1986. 102 pages.

NSGA-II Reference Information


This section contains detailed background information on Isight’s NSGA-II
optimization technique.

Non-dominated Sorting Genetic Algorithm - NSGA-II was proposed by K. Deb and S.


Agrawal in 2001. It is an improved version of NSGA.

Great changes were applied to the original NSGA to create NSGA-II. The only
common feature between the two was adopting non-dominated sorting. NSGA-II has
Pareto archive P and population Q for genetic search just like SPEA. However, it
utilizes Pareto archive more aggressively. In NSGA-II, the number of individuals in
archive P is N, and it is equal to the number of individuals in population Q. On the
other hand, in SPEA, the best number of individuals in archive P is generally perceived
as one-fourth of the individuals in Q. Genetic operators of crossover and mutation are
performed on population , and the selection for extracting the next generation was
applied on set union , creating . The selection consists of two mechanisms:
“non-dominated sorting” and “crowding distance sorting.” was generated from
by means of selection, the so called “Mating selection.”

Isight Component Guide


Optimization Reference Information 593

Meanwhile, Zitzler improved his SPEA. SPEA2 was proposed in 2001. SPEA2 was an
improvement over SPEA in the following areas:

„ fitness calculation mechanism was modified to ensure effective convergence to the


Pareto front

„ archive P has same number of individuals as population Q

„ a new method of reducing individuals in archive (archive truncation method) is


used

The second point mentioned above is the same as the mechanism used in NSGA-II.
Moreover, SPEA2 and NSGA-II have the following common points between them:

„ crossover and mutation is done in searching population Q

„ archive for the next generation is selected from

„ the next searching population is selected from

In other words, the outline of the algorithm is similar in both NSGA-II and SPEA2, and
the differences exist only in the definition of fitness, the reducing mechanism of the
archive, and the selection for . Today, these two algorithms are the main methods
for multi-objective Genetic Algorithm. It is also said that the performance of the two is
almost even.

NCGA Reference Information


In this technique, each objective parameter is treated separately. Standard genetic
operation of mutation and crossover are performed on the designs. The crossover
process is based on the “neighborhood cultivation” mechanism, where the crossover is
performed mostly between individuals with values close to one of the objectives. By
the end of the optimization run, a pareto set is constructed where each design has the
“best” combination of objective values, and improving one objective is impossible
without sacrificing one or more of other objectives.

VEGA (Vector Evaluated Genetic Algorithm), proposed by J.D.Schaffer in 1985, has


been perceived as the pioneering research of the application of Genetic Algorithms
(GA) to multi-objective optimization problems. However, in this early multi-objective
Genetic Algorithm, the fundamental algorithm was a simple expansion of

Isight Component Guide


594 Appendix A Component Reference Information

single-objective Genetic Algorithm. The idea of Pareto optimality was not explicitly
included.

The first multi-objective Genetic Algorithm that adopted the idea of Pareto optimality
explicitly was MOGA (Multi-Objective Genetic Algorithm), proposed by C.M.
Fonseca and P.J. Fleming in 1993. In the remainder of this section, this algorithm is
referred to as “Fonseca's MOGA,” in order to distinguish it from the generic
designation of Multi-Objective Genetic Algorithm.

In Fonseca's MOGA, the dominating relation of solutions is defined by means of


“Pareto-ranking,” which is an ordering that is based on Pareto optimality. Also, to
avoid solutions that create a narrow range in the objective space, it performs niching
based on sharing distance, giving lower fitness to a solution close to other solutions.

Although Fonseca's MOGA was the first multi-objective Genetic Algorithm that
adopted the idea of Pareto optimality explicitly, problems were reported. In the
calculation of fitness with niching, as mentioned previously, the algorithm sometimes
generated irrational fitness values, such as solutions on the Pareto front that had lower
fitness due to niching.

NSGA (Non-dominated Sorting Genetic Algorithm), proposed by N. Srinivas and K.


Deb in 1994, resolved the problems found in MOGA and was based on Pareto
optimality. The main features in NSGA were the following:

„ it ranks solutions with non-dominated sorting


„ it ensures that solutions in lower rank have lower fitness

This means that solutions on the Pareto front will have the highest fitness value. It is
similar to Fonseca's MOGA in that is performs niching based on the sharing distance.

SPEA (Strength Pareto Evolutionarily Algorithm), proposed by E.Zitzler and L.Thiele


in 1999, was a pioneer of the current multi-objective Genetic Algorithms. Elitism of
the single objective Genetic Algorithms was initially introduced in the multi-objective
Genetic Algorithms with NCGA. In multi-objective Genetic Algorithms since SPEA,
whole populations consist of two sub-populations. One is for preserving elite
individuals, while the other is for performing genetic operators in order to generate
children for optimum solution search. The latter population has the same role as the
population in MOGA and NSGA, which were proposed in the mid-1990s. The former
population was called the “Pareto Archive” or simply “Archive.” SPEA also
introduced the original mechanism that could keep diversity and extension of solutions
archived. This mechanism was called “clustering.” It ranks solutions based on both

Isight Component Guide


Optimization Reference Information 595

Pareto optimality and the idea that crowding level and ranking value are equal to
fitness in SPEA.

Neighborhood Cultivation Genetic Algorithm - NCGA is based on SPEA2, and a good


way to examine NCGA is to compare it to SPEA2. NCGA differs from SPEA2 in the
following ways:

„ Introduces the idea of “neighborhood cultivation” in crossover

„ Modifies the selection method of extracting from

The term “neighborhood cultivation” means that the individuals to be crossed over
must be within a certain range of the objective space. The idea comes from research for
improving the searching performance of multi-objective Genetic Algorithm by means
of dividing populations into sub-populations, and sending each sub-population onto
distributed CPUs in a network environment. In the divided population of such
multi-objective Genetic Algorithms, a division is decided by one of the element
objectives. Genetic operators are applied in each divided sub-population.
Consequently, in the divided model, crossover operations are performed between
neighbors, which are grouped by the division based on an objective. From a series of
numerical research on this divided population model, it was concluded that crossover
with similar individuals would produce better results than that of greatly differing
individuals. The “neighborhood cultivation” is the crossover operation that performs
the crossover with similar individuals. When the number of objective functions is p,
individuals are sorted according to one of those objective functions, and crossover is
performed by two adjoined pairs. The objective function of each generation that is used
for sorting is changed. However, with complete sorting there is a danger of loss of
diversity in the solution. For this reason, around five percent of the disturbance is
applied on sorted individuals before the crossover operation.

The method of selecting the search population Q(t+1) from the Pareto archive P(t+1) in
NCGA involves simply copying archive P(t+1) of N individuals onto Q. On the other
hand, Non-dominated Sorting Genetic Algorithm - NSGA-II and SPEA2 select
individuals by binary tournament selection with repetition. For more information on
these two algorithms, see “NSGA-II Reference Information,” on page 592. This
difference relates to the standpoint of whether to put the selection pressure onto elites.
The disadvantage of this option is that the selection pressure can result in lost diversity,
and lend to a danger of being trapped in a local optimum.

Isight Component Guide


596 Appendix A Component Reference Information

A research group tested NCGA and compared it with NSGA-II and SPEA2 with
numerous test functions, including an element knapsack problem. They concluded that,
when the following are true, NCGA provides better results than NSGA-II or SPEA2:

„ when objective functions have a multi-peak landscape

„ when the number of design variables is large (≥ 100)

NCGA References
Major references and papers are listed below. The references apply to the
Neighborhood Cultivation Genetic Algorithm - NCGA and Non-dominated Sorting
Genetic Algorithm - NSGA-II sections only.

K. Deb. Multi-Objective Optimization using Evolutionary Algorithms. Chichester, UK:


Wiley, 2001.

J. D. Schaffer. Multiple objective optimization with vector evaluated genetic


algorithms. In Proceedings of 1st International Conference on Genetic Algorithms and
Their Applications, pp. 93?V100, 1985.

D. E. Goldberg. Genetic Algorithms in search, optimization and machine learning.


Addison-Wesly, 1989.

C. M. Fonseca and P. J. Fleming. Genetic algorithms for multiobjective optimization:


Formulation, discussion and generalization. In Proceedings of the 5th international
conference on genetic algorithms, pp. 416?V423, 1993.

E. Zitzler and L. Thiele. Multiobjective Evolutionary Algorithms: A Comparative Case


Study and the Strength Pareto Approach. IEEE Transactions on Evolutionary
Computation, Vol. 3, No. 4, pp. 257?V271, 1999.

K. Deb, S. Agrawal, A. Pratab, and T. Meyarivan. A Fast Elitist Non-Dominated


Sorting Genetic Algorithm for Multi-Objective Optimization: NSGA-II. In KanGAL
report 200001, Indian Institute of Technology, Kanpur, India, 2000.

E. Zitzler, M. Laumanns, and L. Thiele. SPEA2: Improving the Performance of the


Strength Pareto Evolutionary Algorithm. In Technical Report 103, Computer
Engineering and Communication Networks Lab (TIK), Swiss Federal Institute of
Technology (ETH) Zurich, 2001.

Isight Component Guide


Optimization Reference Information 597

C. M. Fonseca and P. J. Fleming. Genetic Algorithms for Multiobjective


Optimization:Formulation, Discussion and Generalization. In Proceedings of the 5th
International Conference on Genetic Algorithms (ICGA?93), pp. 416?V423, 1993.

N. Srinivas and Kalyanmoy Deb. Multiobjective Optimization Using Nondominated


Sorting in Genetic Algorithms. Evolutionary Computation, Vol. 2, No. 3, pp. 221,
V248, Fall 1994.

Stress Ratio Reference Information


The Stress Ratio Optimizer is a fully stressed design (FSD) method commonly used in
structural optimization. It takes a set of design variables, typically dimensions such as
thicknesses, areas, or moments of inertia, and a corresponding set of constraints on
allowable stresses, and modifies the design variables according to the relation:

Since the dimension x can refer to any arbitrary dimension or property, the exponential
factor β accounts for this. For example, if a frame structure were to be designed where
the member cross sections were assumed to be square with length x, then the ideal
value of β would be 0.5 for axial loads and 0.33 for flexural loads. In the Stress Ratio
algorithm, all design variables use the same β with the understanding that the smaller
the exponent, the more stable (and slower) the convergence.

Isight Component Guide


598 Appendix A Component Reference Information

Approximations Reference Information


The following two approximation models are available in Isight:

„ “RBF Model” on this page


„ “Response Surface Model,” on page 605

RBF Model
Radial Basis Functions are a type of neural network employing a hidden layer of radial
units and an output layer of linear units, and characterized by reasonably fast training
and reasonably compact networks.

Weissinger (1947) was the first to use numerical potential flow to calculate the flow
around wings. The potential flow equations are a radial basis function. R. Hardy(1971)
realized that the same concept could be used to fit geophysical data to geophysical
phenomena. Broomhead, D. S., and D. Lowe (1988) renamed this technology “neural
nets” and it was subsequently used to approximate all types of behavior.

Isight Component Guide


Approximations Reference Information 599

Usage in Isight
In Isight we follow the Hardy (1972) method as described by Kansa (1999):

Figure A-35. Isight’s RBF Method

Isight Component Guide


600 Appendix A Component Reference Information

Obviously, as the type of physics that are models varies a different type of basis
function would be needed to provide a good fit. The response surface goes through all
the given interpolation data.

For the Isight implementation, the following variable power spline radial basis
function is used:

Variable power spline || x - xj || c


Where: || x - xj || is the Euclidean distance, and
Where: c is a shape function variable between 0.2 < c < 3

The reason for choosing this radial basis function is its ability to model extreme
functions within a narrow range of values of c.

For a value c = 1.15, a good approximation of a step function can be achieved with just
seven interpolation points. For a value of c = 2, a good approximation of a linear
function can be achieved with just three interpolation points, as shown below.

Isight Component Guide


Approximations Reference Information 601

Figure A-36. Step Function and Linear Function

Isight Component Guide


602 Appendix A Component Reference Information

For a value c = 3, a good approximation of a harmonic function is achieved with about


seven points per harmonic period.

Figure A-37. Harmonic Function

Picking c = 3 for the step function example would produce an approximation that
would go through the seven data points, but it would more resemble a single sine wave
than a step function. There are obviously an infinite number of solutions that will go
through any given set of data points.

In most of the literature this problem is solved by splitting the interpolation data into
two groups. One group is used to create the radial basis function approximation and
one is used to compute the error between the radial basis function approximation for
those points and the actual function values. The shape function is optimized to
minimize the summed errors. This is a valid approach when a lot of data points are
available for the interpolation, but in our practice we deal mostly with very sparse data
sets and it seems inefficient to use only half the data to create the actual response
surface.

So we adopted a different approach. We define a good fit as one whereby the shape of
the curve does not change when a point is subtracted. We optimize the value of c for a
minimum sum of the errors N-1 data points.

Isight Component Guide


Approximations Reference Information 603

This approach can be illustrated by going back to the picture of the straight line
approximation, we approximate the first point (circle) from the two top points (square).
The center point is approximated from the two extreme points and the top point is
approximated from the two bottom points. For c = 2 the sum of the errors for the
“missing points” is low.

Figure A-38. Straight Line Approximations

Isight Component Guide


604 Appendix A Component Reference Information

For c = 0.2, the sum of the errors of the “missing points” is extremely high.

Figure A-39. Straight Line Approximations - Part 2

Since the shape function optimization is given a limited number of iterations to


converge, higher accuracy can be achieved by splitting up a large problem into coupled
smaller ones. For instance, one approximation of five inputs and two outputs and one
approximation of six inputs and one output; instead of a single approximation of eleven
inputs and three outputs.

Note: We would like to thank Dr. Kansa for getting us started with the development of
this method.

Isight Component Guide


Approximations Reference Information 605

References
J. Weissinger. “The lift distribution of swept-back wings”. NACA TM 1120, 1947.

Hardy. “Multiquadratic equations of topography and other irregular surfaces”. J.


Geophysics Res. 76, 1905-15 (1971).

Broomhead, D. S., and D. Lowe. “Multivariable functional interpolation and adaptive


networks”. Complex Systems, 1988, Vol. 2, pp. 321-355.

Kansa, E.J. “Motivation for using radial basis functions to solve PDE's”. 1999.
(Unpublished paper: author kansa@IrisINTERNET.net).

Response Surface Model


Response Surface Models (RSM) in Isight use polynomials of low order (from 1 to 4)
to approximate response of an actual analysis code. A number of exact analyses using
the simulation code(s) have to be performed initially to construct a model, or
alternatively a datafile with a set of analyzed design points can be used. The model
then can be used in optimization and sensitivity studies with a very small
computational expense, since evaluation only involves calculating the value of a
polynomial for a given set of input values. Accuracy of the model is highly dependent
on the amount of data used for its construction (number of data points), the shape of the
exact response function which is approximated, and the volume of the design space in
which the model is constructed. In a sufficiently small volume of the design space, any
smooth function can be approximated by a quadratic polynomial with good accuracy.
For highly non-linear functions, polynomials of 3rd or 4th order can be used. If the
model is used outside of the design space where it was constructed, its accuracy is
impaired, and refining of the model is required.

A maximum order model (4th order or Quartic model) is represented by a polynomial


of the following form:

Isight Component Guide


606 Appendix A Component Reference Information

Where:

N is the number of model inputs

xi is the set of model inputs

a, b, c, d, e are the polynomial coefficients

A lower order model (Linear, Quadratic, Cubic) includes only lower order polynomial
terms (only linear, quadratic, or cubic terms correspondingly). Notice that 3rd and 4th
order models in Isight do not have any mixed polynomial terms (interactions) of order
3 and 4. Only pure cubic and quartic terms are included to reduce the amount of data
required for model construction.

Coefficients of the polynomial (a, b, c, d, e) are determined by solving a linear system


of equations (one equation for each analyzed design point).

The Response Surface Model construction is controlled by the following options:

„ The order of the model polynomial (referred to as Polynomial Order).


„ Polynomial term selection.

This option allows you to select a sub-set of polynomial terms using one of the
four available term selection methods (Sequential Replacement, Stepwise
Regression (Efroymson's algorithm), Two-at-a-time Replacement, or Exhaustive
Search). For more information about term selection, see “Polynomial Term
Selection in RSM,” on page 607.

„ The number of design points (if Random Designs is used for initialization).

„ The size of the design space around the baseline point in which the initial random
designs are generated (if Random Designs option is used for initialization).

The size of the design space can be set individually for each input parameter. The
bounds of the design sub-space can be entered directly (absolute values) or
calculated by Isight by applying lower and upper bounds to the baseline value of
each parameter (relative to baseline).

Sampling data points needed for initialization of the Response Surface Model
approximations can be obtained using one of the available sampling methods in Isight.
Typical initialization mode for a Response Surface Model, if no previous data is
available, is Random Designs. In this case, Isight will generate the required number of
random designs inside the specified boundaries, and then run exact analysis for each of

Isight Component Guide


Approximations Reference Information 607

those designs. Obtained data then are used for calculating polynomial coefficients of
the model. Least squares fit is used to calculate the coefficients.

The recommended number of sampling points for initialization is twice the number of
polynomial coefficients, which for a linear polynomial is (N+1), for a quadratic
polynomial is (N+1)(N+2)/2, for a cubic polynomial is (N+1)(N+2)/2 + N, and for a
quartic polynomial is (N+1)(N+2)/2 + 2N, where N is the number of input variables.

Proceed to one of the following sections:

„ “Polynomial Term Selection in RSM” on this page

„ “R2 Analysis of Response Surface Models,” on page 609

Polynomial Term Selection in RSM


Polynomial term selection in RSM has several benefits:

„ Improves prediction reliability of the model

„ Eliminates predictor variables with little or no effect on the output

„ Reduces variance of the model

„ Selects the best model when a limited number of design points are available

The basic idea of the polynomial term selection is as follows:

Given a set of k predictor variables X1, X2, X3,…,Xk, select a subset of p (p<k)
predictor variables that minimizes the Residual Sum of Squares:

In the case of RSM term selection, predictor variables are the polynomial terms, X1,
X2,…, X1^2, X2^2, …, X1*X2, etc. The best combination of the polynomial terms is
selected so that the Residual Sum of Squares is minimized. Since the residuals can be
non-zero only when the model has at least one degree of freedom, minimization of the
RSS implies that the maximum number of polynomial terms selected must be lower
than the number of design points used for the RSM. Otherwise the RSS will be exactly
zero and no term selection will be possible.

Isight Component Guide


608 Appendix A Component Reference Information

The four term selection methods available in Isight have the following features:

„ Sequential Replacement. This method is a variation of the Forward selection


algorithm and has the following steps:

„ start with the constant term, select the next best term

„ at every step of the forward selection, for every previously selected term find
the best replacement that will decrease the RSS and swap the variables

„ select the next best term and add it to the model

„ repeat the procedure until maximum allowed number of terms selected.

The Sequential Replacement algorithm does not guarantee the best model.
„ Stepwise Regression (Efroymson's algorithm). This method is a variation of the
Forward selection with the following steps:

„ start with the constant term, select the next best term
„ at every step of the forward selection, add the next best term if it sufficiently
decreases the RSS using the following criterion

„ at every step of the forward selection, check if one of the selected terms can be
dropped without appreciably increasing the RSS using the following criterion

„ repeat the process until no more terms satisfy the first criterion or until the
maximum desired number of terms is selected

The values of “F-ratio-to-add-term” and “F-ratio-to-delete-term” are 4.0 by default


and can be controlled from the graphical user interface when creating a new RSM.
These values will affect the selection process. The Stepwise Regression algorithm
does not guarantee the best model.

„ Two-at-a-time Replacement. This method is a variation of the Forward selection


with the following steps:

„ start with the constant term, select the next best term

Isight Component Guide


Approximations Reference Information 609

„ at every step of the forward selection, consider all possible replacements of 1


or 2 terms from the previously selected terms

„ find the best replacement combination that will decrease the RSS and swap the
variables

„ select the next best term and add it to the model

„ repeat the procedure until maximum allowed number of terms selected


The Two-at-a-time Replacement algorithm is more expensive than the two
previous algorithms and has a much better chance of finding the best model.
„ Exhaustive Search. This method is a systematic approach to finding the best
combination of terms from all possible combinations. It has the following basic
steps:

„ generate all possible combinations of terms up to the maximum allowed


number of terms

„ calculate RSS values for all polynomials

„ select the best combination of terms to minimize the RSS

The Exhaustive Search algorithm is the most expensive one from the four
available. It guarantees finding the best model at the cost of a high computational
time. The number of design points and the number of selected terms will greatly
affect the computational cost, and can make this algorithm a non-viable option for
large data sets and a large number of inputs.

R2 Analysis of Response Surface Models


R2 analysis is a measure of how well the model polynomial approximates the actual
function at the design points used for its construction. The Response Surface Model
module of Isight will automatically perform R2 analysis of the approximated
functions, when the number of distinct designs used for the response surface model is
greater than the number of model coefficients. The R2 value of 1.00 indicates that
values of the model polynomial, and values of the response function, are identical at all
of the design points. Remember that it is always possible to perfectly fit N points using
a polynomial with N+1 coefficients. Thus, a perfect value of the R2 coefficient does
not necessarily indicate that the actual function will match the model polynomial
everywhere in the design space, unless the number of points used for analysis is

Isight Component Guide


610 Appendix A Component Reference Information

considerably greater (3 -10 times) than the number of polynomial coefficients.


Information about R2 analysis is reported inside the coefficients data for each output
polynomial.

Isight Component Guide


611

Index

A COM component
editing 262
usage 261
activity components 22, 238 component API 37
adaptive simulated annealing Component contents 36
overview 575 components
parameters 130 preferences 36
API, component 37 properties 25
approximation component
coefficient data 252
defining parameters 243
error analysis 251
selecting technique 239
D
specifying data file 239
technique options 246 data exchanger component
approximation models adjusting a basic swipe 306
RBF model 598 calculation editor 319
response surface model 605 changing the format of a section of a data
archive-based micro genetic algorithm source 299
parameters 125 click 278
creating a bottom-up data exchange 292
creating a new program 279
creating a top-down data
C exchange 288, 291
data source area 270
deleting a data source 323
calculator component editing a program 287
API 260 editing Java code directly 303
array parameters 259 editing read/write statement 296
editing 255 filtering parameters 322
limitations 260 for loop editor 321
undeclared parameters 258 formatting numbers during a write
central composite design (DOE) technique 513 operation 298
full Java code view 276
general text format option 304

Isight Component Guide


612 Index

list of parameters 275 distribution types


markers 318 exponential 529
name value format option 311 gumbel 526
navigating between section formats 302 lognormal 522
new data source wizard 277 normal 521
overview 266 triangular 530
performing a basic swipe 304 weibull 524
performing an advanced swipe 308 DOE component
preferences 324 API 65
read/write area 274 central composite design options 59
reading fixed-format tables with touching data file options 60
columns 314 editing
removing a read/write operation 297 design matrix tab 48
searching a data source 317 factors tab 46
section format wizard 277 multiple parameters 57
swipe 278 post processing tab 51
swipe details area 274 full-factorial design options 61
table format option 312 general tab 43
terminology 278 latin hypercube options 62
understanding the main interface 268 mapping items to parameters 53
updating a read or write operation 294 optimal latin hypercube options 62
updating an existing section format 301 orthogonal arrays options 63
vector format option 315 overview 41
data file (DOE) technique 515 parameter study options 64
database component preferences 65
connecting to a database 331 downhill simplex
limitations 330 overview 577
mapping parameters 334 parameters 134
overview 326 DRM Settings 35
queries, working with 341
supported databases 332
viewing data 334
descriptive sampling 516 E
design drivers 22, 40
design of experiments (DOE) techniques Excel component
central composite design 513 adding workbooks 344
data file 515 advanced options 357
full-factorial design 509 API 365
latin hypercube (DOE) technique 510 execution permission (Fiper) 360
optimal latin hypercube (DOE) macros 357
technique 511 mapping
orthogonal arrays 509 direct cell 346, 347
parameter study 508 files 354
Isight Component Guide
Index 613

named cells/ranges 346, 352 Loop, While 77


name-value 346, 349 Mail 410
parameters 346 MATLAB 421
preferences 364, 425 Monte Carlo, random variables 88
starting the editor 344 Monte Carlo, responses 92
exponential distribution 529 Optimization, constraints 114
Optimization, objectives 116
Optimization, variables 111
SDI, design variables 157
F SDI, random variables 159
SDI, responses 163
fast parser component Six Sigma, factors 186
accessing 368 Six Sigma, random variables 181
deleting 377 Taguchi, factors 216
delimiters 376 Taguchi, responses 223
embedding a file 375 Word 498
introduction 366 gumbel distribution 526
markers 374
tags 370
when to use 367
feasibility (optimization) 103 H
file parsing, available options 367
Fiper Federation capabilities 464 hooke-jeeves direct search method
first order reliability method (FORM) 541 overview 582
full-factorial design (DOE) technique 509 parameters 130, 134

G I
generalized reduced gradient - LSGRG2 iSIGHT component
overview 581 “directories with spaces” problem 391
parameters 136 default execution directory, changing 391
Grouping Parameters editing 379
Calculator 256 file parameters 384
DOE, factors 46 iSIGHT version required 378
DOE, post processing 51 limitations 378
Excel 347 iSIGHT file parser component
Loop, Do Until 79 advanced parser, using 405
Loop, For 68 creating parse using component editor 406
Loop, For Array 70 editor overview 393
Loop, For Each 74 importing description file 396

Isight Component Guide


614 Index

importing FDC file 400 mean value method 542


opening editor 395 modified method of feasible directions
overview 392 overview 578
simcode, creating 407 parameters 138
terminology 394 Monte Carlo component
updating 406 API 101
configuring 84
editing multiple parameters 100
mapping items to parameters 94
L overview 84
preferences 101
lognormal distribution 522 Monte Carlo simulation techniques
loop component descriptive sampling 516
API 82 simple random sampling 516
do until loop, creating 78 MOST (multifunctional optimization system
for array loop, creating 69 tool)
for each loop, creating 73 overview 582
for loop, creating 67 parameters 139
limitations 81 multi-island genetic algorithm
loop types 66 overview 582
parallel execution 80 parameters 141
while loop, creating 76
LSF 442

N
M NCGA (neighborhood cultivation genetic
algorithm)
mail component overview 593
API 411 parameters 143
editing 408 NLPQL (sequential quadratic programming)
MATLAB component overview 583
actions, adding 414 parameters 145
defining normal distribution 521
commands 423 NSGA-II (non-dominated sorting genetic
mappings 420 algorithm)
editor, starting 414 overview 592
environment, setting 413 parameters 147
usage 412

Isight Component Guide


Index 615

O LSF 442
preferences 448
required files options 440
optimization component SSH 445
API 153 usage 426
configuring 105
editing multiple parameters 123
feasibility 103
mapping items to parameters 118
overview 102
P
preferences 152
step epilogue 31 parameter study (DOE) technique 508
step prologue 31 pause component
tuning parameters 124 ask a question 459
optimization techniques automatic resume 462
adaptive simulated annealing 575 display parameters 461
downhill simplex 577 execution location 462
generalized reduced gradient - known issues 463
LSGRG2 581 pause only 457
hooke-jeeves direct search method 582 specifying an action 456
modified method of feasible directions 578 usage 455
MOST (multifunctional optimization pointer
system tool) 582 control algorithm 584
multi-island genetic algorithm 582 optimization algorithms used 584, 586
NCGA (neighborhood cultivation genetic overview 583
algorithm) 593 parameters 150
NLQPL (sequential quadratic performance 587
programming) 583 preferences
NSGA-II (non-dominated sorting genetic accessing 36
algorithm) 592 data exchanger component 324
pointer 583 DOE component 65
stress ratio optimizer 597 Excel component 364, 425
orthogonal arrays (DOE) technique 509 Monte Carlo component 101
OS command component optimization component 152
advanced options 435 OS command component 448
API 453 simcode component 495
basic options 428 six sigma component 210
configuring 427 Taguchi robust design component 234
grid adapter options 441 Word component 504
grid plugin, configuring 450 process components 22, 40
limitations 448 properties, component 25

Isight Component Guide


616 Index

R simcode component
editing 487
files on command line 494
RBF model how different from separate
in Isight 599 components 486
introduction 598 preferences 495
reference component required files 494
“federation” defined 464 usage 485
accessing and using 466 simple random sampling 516
model, using 470 six sigma component
prerequisites 465 API 210
remote model, using 472 configuring 173
setting up 466 editing multiple parameters 208
submodel, using 468 mapping items to parameters 203
usage 464 overview 172
reliability analysis preferences 210
first order reliability method (FORM) 541 six sigma robust design
mean value method 542 defined 534
response surface model introduction 534
introduction 605 optimization formulation 546
R2 analysis of response surface models 609 sampling techniques 538
SSH 445
stress ratio optimizer
overview 597
S parameters 151

script component
dynamic Java 481
editing 478 T
job log 483
limitations 485 Taguchi robust design component
local directory 483 API 235
parameter data types 482 configuring 211
resizable arrays 484 editing multiple parameters 233
script execution 483 factor information 214
usage 477 mapping items to parameters 228
SDI component post processing 226
configuring 154 preferences 234
editing multiple parameters 170 responses 223
mapping items to parameters 165 task component 235
overview 153, 211 triangular distribution 530
tuning parameters (optimization) 124

Isight Component Guide


Index 617

W
weibull distribution 524
Word component
editing 497
execution permissions (Fiper) 500
preferences 504
usage 496

Isight Component Guide


618 Index

Isight Component Guide

You might also like