Domain-specific development with Visual Studio DSL tools:
Gespeichert in:
Format: | Buch |
---|---|
Sprache: | English |
Veröffentlicht: |
Upper Saddle River, NJ ; Munich [u.a.]
Addison-Wesley
c2007
|
Ausgabe: | 1. printing |
Schriftenreihe: | Microsoft .NET development series
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | xxxvi, 524 p. ill. |
ISBN: | 9780321398208 0321398203 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV022782305 | ||
003 | DE-604 | ||
005 | 20071010 | ||
007 | t | ||
008 | 070919s2007 xxua||| |||| 00||| eng d | ||
010 | |a 2007011960 | ||
015 | |a GBA752463 |2 dnb | ||
020 | |a 9780321398208 |9 978-0-321-39820-8 | ||
020 | |a 0321398203 |9 0-321-39820-3 | ||
035 | |a (OCoLC)105444761 | ||
035 | |a (DE-599)BVBBV022782305 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-703 | ||
050 | 0 | |a QA76.76.D47 | |
082 | 0 | |a 006.7/86 | |
084 | |a ST 253 |0 (DE-625)143628: |2 rvk | ||
245 | 1 | 0 | |a Domain-specific development with Visual Studio DSL tools |c Steve Cook ... [et al.] |
246 | 1 | 3 | |a Domain specific development with Visual Studio DSL tools |
250 | |a 1. printing | ||
264 | 1 | |a Upper Saddle River, NJ ; Munich [u.a.] |b Addison-Wesley |c c2007 | |
300 | |a xxxvi, 524 p. |b ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Microsoft .NET development series | |
630 | 0 | 4 | |a Microsoft Visual studio |
650 | 4 | |a Computer software |x Development | |
650 | 0 | 7 | |a Domänenspezifische Programmiersprache |0 (DE-588)7585264-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Visual Studio 2005 |0 (DE-588)4823910-0 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Visual Studio 2005 |0 (DE-588)4823910-0 |D s |
689 | 0 | 1 | |a Domänenspezifische Programmiersprache |0 (DE-588)7585264-0 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Cook, Steve |e Sonstige |4 oth | |
856 | 4 | 2 | |m HEBIS Datenaustausch Darmstadt |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015987791&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-015987791 |
Datensatz im Suchindex
_version_ | 1804137044427931648 |
---|---|
adam_text | DOMAIN-SPECIFIC DEVELOPMENT WITH VISUAL STUDIO DSL TOOLS * STEVE COOK *
GARETH JONES * STUART KENT * ALAN CAMERON WILLS A ADDISON-WESLEY UPPER
SADDLE RIVER, NJ E BOSTON * INDIANAPOLIS * SAN FRANCISCO NEW YORK *
TORONTO 8 MONTREAL * LONDON * MUNICH * PARIS MADRID * CAPETOWN * SYDNEY
* TOKYO * SINGAPORE * MEXICO CITY CONTENTS LIST OF FIGURES XVII LIST OF
TABLES XXV FOREWORD XXVII PREFACE XXIX ABOUT THE AUTHORS XXXV
DOMAIN-SPECIFIC DEVELOPMENT 1 INTRODUCTION 1 DOMAIN-SPECIFIC DEVELOPMENT
2 EXAMPLES 4 SOFTWARE DEFINED CIRCUITRY 8 EMBEDDED SYSTEMS 9 DEVICE
INTERFACES 9 SOFTWARE DEVELOPMENT PROCESS CUSTOMIZATION 9 BENEFITS 10
LANGUAGES 11 TEXTUAL DSLS 15 GRAPHICAL DSLS 20 CONVENTIONS FOR
REPRESENTING STRUCTURE 21 CONVENTIONS FOR REPRESENTING BEHAVIOR 22
ASPECTS OF GRAPHICAL DSLS 23 , NOTATION 24 DOMAIN MODEL 24 GENERATION
24 VII VIII N CONTENTS SERIALIZATION 25 TOOL INTEGRATION 26 PUTTING IT
ALL TOGETHER 26 DSLS IN VISUAL STUDIO 27 THE CUSTOMIZATION PIT 32 UML 34
SUMMARY 40 CREATING AND USING DSLS 41 INTRODUCTION 41 PROCESS:
INCREMENTAL DEVELOPMENT OF DSLS 41 GENERALIZING AN APPLICATION: IDENTIFY
VARIABILITY, DISCOVER DSLS 42 TOP-DOWN AND BOTTOM-UP 46 DEVELOPING THE
DSL: FROM SKETCHES TO DOMAIN MODEL 48 DOMAIN MODEL AND PRESENTATION ARE
SEPARATE 49 REFINING THE DSL 50 DRIVING THE FRAMEWORK FROM THE DSL 51
USING THE DSL 53 EVOLVING THE DSLS 55 INTERPRETIVE ARCHITECTURES 56
CREATING A DSL IN VISUAL STUDIO 57 CREATING A DSL AUTHORING SOLUTION IN
VISUAL STUDIO 57 TRYING OUT THE DSL SOLUTION 61 DEFINING THE DSL 64
GENERATING THE CODE FOR THE DESIGNER 66 ADDING TO THE DSL 67 CONSTRAINTS
68 CUSTOMIZING THE EXPLORER WINDOW 71 CUSTOMIZING THE PROPERTIES WINDOW
72 CUSTOM CODE FOR THE DESIGNERS 73 SERIALIZATION FORMAT OF THE DSL FILE
73 DRIVING APPLICATIONS FROM THE DSL 74 DEPLOYMENT 76 A SECOND DSL: THE
PROJECT DEFINITION DSL 77 CONTENTS A I: IX ARCHITECTURE OF THE DSL TOOLS
78 THE GENERATED CODE 78 DSL TOOLS ARCHITECTURAL LAYERS 79 THE FRAMEWORK
ASSEMBLIES 79 CONTENT OF THE DSL PROJECT 81 CONTENT OF THE DSLPACKAGE
PROJECT 83 SUMMARY 85 DOMAIN MODEL DEFINITION 87 INTRODUCTION 87 THE
DOMAIN MODEL DESIGNER 88 THE IN-MEMORY STORE 89 DOMAIN CLASSES 92 DOMAIN
RELATIONSHIPS 98 EMBEDDINGS 101 MULTIPLICITY 104 REFERENCES 105
RELATIONSHIP DERIVATION 106 GENERATING A DESIGNER WITH NO SHAPES 108 THE
GENERATED CODE 109 USING THE GENERATED CODE 113 MORE ABOUT DOMAIN
CLASSES 115 DOMAINCLASSINFO 118 MORE ABOUT DOMAIN PROPERTIES 119
CALCULATED PROPERTIES 121 DOMAINPROPERTYLNFO 121 MORE ON DOMAIN
RELATIONSHIPS AND ROLES 122 ACCESSING LINKS 124 MORE ON RELATIONSHIP
DERIVATION 126 DOMAINRELATIONSHIPINFO AND DOMAINROLELNFO 129 MORE ABOUT
THE STORE 129 LOOKING UP ELEMENTS 129 PARTITIONS 130 RULES 130
DOMAINMODELLNFO 130 SUMMARY 131 CONTENTS PRESENTATION 133 INTRODUCTION
133 GRAPHICAL NOTATION*OVERVIEW 134 DIAGRAM AND EDITOR 137 DIAGRAM 138
EDITOR 141 DESIGNER 142 CUSTOM EDITOR 142 SHAPES 146 KINDS OF SHAPES 147
SHAPE MAPS 154 CONNECTORS 164 CONNECTOR ANATOMY AND APPEARANCE 164
CONNECTORS AND INHERITANCE 165 CONNECTOR MAPS 165 ADVANCED CONNECTOR
MAPS 167 DECORATORS 167 KINDS OF DECORATORS 168 POSITIONING 169
DECORATOR MAPS 170 CUSTOMIZING THE GRAPHICAL NOTATION IN CODE 173
MULTILINE TEXT DECORATORS 173 * VARIABLE IMAGE SHAPE 174 SET A
BACKGROUND PICTURE 176 SET CUSTOM CONNECTION POINTS 177 CHANGE ROUTING
STYLE OF CONNECTORS 178 EXPLORER 180 DEFAULT APPEARANCE 181 CHANGING THE
WINDOW ICON AND LABEL 183 CUSTOMIZING THE APPEARANCE OF NODES 184 HIDING
NODES 186 CUSTOMIZING THE EXPLORER THROUGH CODE 187 , PROPERTIES WINDOW
188 DEFAULT APPEARANCE OF PROPERTIES WINDOW 188 CATEGORIES, NAMES, AND
DESCRIPTIONS 190 CONTENTS * XI HIDING PROPERTIES AND MAKING THEM
READ-ONLY 192 FORWARDING PROPERTIES 192 CUSTOMIZING THE PROPERTIES
WINDOW THROUGH CODE 193 SUMMARY 195 5 CREATION, DELETION, AND UPDATE
BEHAVIOR 197 INTRODUCTION 197 ELEMENT CREATION 197 THE TOOLBOX 198
ELEMENT MERGE DIRECTIVES 200 CUSTOM ELEMENT MERGE DIRECTIVES 208
RE-PARENTING WITH ELEMENT MERGE DIRECTIVES 211 CUSTOM ELEMENT TOOL
PROTOTYPES 212 CONNECTION BUILDERS 216 MULTIPLE SOURCE AND TARGET ROLE
DIRECTIVES 217 MULTIPLE LINK CONNECT DIRECTIVES 219 CUSTOM CONNECTION
BUILDERS 222 ELEMENT DELETION 229 DEFAULT DELETE PROPAGATION RULES 229
CONTROLLING DELETE PROPAGATION 231 CUSTOMIZING DELETE PROPAGATION 232
SUMMARY 234 6 SERIALIZATION 237 INTRODUCTION 237 SAVING AND LOADING
MODELS AND DIAGRAMS 238 MODEL XML FILE FORMAT 239 ELEMENTS AND
PROPERTIES 242 RELATIONSHIPS 243 RELATIONSHIP DERIVATION 245
CROSS-REFERENCING 245 USING GUIDS AS REFERENCES 246 USING QUALIFIED
NAMES AS REFERENCES 248 , REFERENCES TO LINKS 249 DIAGRAM XML FILE
FORMAT 251 VERSIONING AND MIGRATION 254 XII * CONTENTS THE XML SCHEMA
257 CUSTOMIZATION 258 MODIFYING XML ELEMENT NAMES 259 ELEMENT DATA 261
IMPLEMENTING YOUR OWN SERIALIZER 264 GENERATED SERIALIZATION CODE 264
CUSTOMIZED SERIALIZATION CODE 271 IMPACT OF CUSTOMIZATION ON THE SCHEMA
272 SUMMARY 273 7 CONSTRAINTS AND VALIDATION 275 INTRODUCTION 275
CHOOSING HARD OR SOFT CONSTRAINTS? 277 CHOICES MADE BY THE DSL TOOLS 280
SOFT CONSTRAINTS IN THE DSL TOOLS 280 VALIDATION METHODS 282 ENABLING
VALIDATION 284 INVOKING VALIDATION 288 CUSTOM VALIDATION CATEGORIES 289
INHERITING VALIDATION BEHAVIOR 292 VALIDATION OUTPUT 292 USING
VALIDATION OUTSIDE THE IDE 293 VALIDATION AGAINST EXTERNAL DATA 294 HARD
CONSTRAINTS IN THE DSL TOOLS 295 RULES 296 PUTTING TOGETHER HARD AND
SOFT CONSTRAINTS 299 SUMMARY 307 8 GENERATING ARTIFACTS 309 INTRODUCTION
309 ARTIFACT GENERATION STYLES 311 EXTENSIBLE STYLESHEET LANGUAGE
TRANSFORMATIONS 311 MAKING USE OF THE DOMAIN-SPECIFIC API 314 , A
TEMPLATE-BASED APPROACH 319 COMPLEX RELATIONSHIPS AND ROUND-TRIPPING 321
CONTENTS * XIII THE TEMPLATIZATION PROCESS 325 THE FIRST CUT TEMPLATE
328 GENERATION-SPECIFIC MODEL DATA 338 STARTING TO BUILD A LIBRARY 340
SYNTAX OF A TEXT TEMPLATE 341 DIRECTIVES 341 CUSTOM DIRECTIVES 344
CONTROL BLOCK TYPES 346 PROBLEMS OF LARGE-SCALE, REAL-WORLD ARTIFACT
GENERATION 349 ADVANCED CUSTOMIZATIONS 351 TEXT TEMPLATING ARCHITECTURE
352 CUSTOM HOSTING 354 CUSTOM DIRECTIVE PROCESSOR 357 CUSTOM
ORCHESTRATION 359 SUMMARY 366 9 DEPLOYING A DSL 369 INTRODUCTION 369
FILES NEEDED TO INSTALL A DESIGNER 370 GETTING STARTED*CREATING A SETUP
PROJECT 373 SETUP PROJECT CONTENTS 376 CUSTOMIZING SETUP 377 CUSTOMIZING
INSTALLERDEFINITION.DSLSETUP 377 CUSTOMIZING SETTINGS.INI 377
CUSTOMIZING STRINGS.WXL 378 CUSTOMIZING PRODUCT.ICO 378 THE .DSLSETUP
FORMAT 378 380 382 382 383 384 384 * 384 385 XIV D M CONTENTS
REFRESHING THE INSTALLATION FILES 387 PACKAGE LOAD KEY 388 DEPLOYING
TEXT TEMPLATES FOR CODE GENERATION 390 CREATING A PROJECT TEMPLATE FROM
THE DEBUGGING PROJECT 390 USING A TEXT TEMPLATE INCLUDE FILE 392
INCLUDING TEXT TEMPLATES IN THE VS ITEM TEMPLATE 393 SUMMARY 396 10
ADVANCED DSL CUSTOMIZATION 397 INTRODUCTION 397 TOOLS FOR CUSTOMIZATION
397 PARTIAL CLASSES 397 DOUBLE DERIVED * THE GENERATION GAP 398 CUSTOM
CONSTRUCTORS 399 CUSTOMIZATION SWITCHES 399 CUSTOM OVERRIDES 401
RESPONDING TO CHANGES 402 PROPERTY HANDLERS ON VALUE CHANGED/CHANGING
402 CALCULATED DOMAIN PROPERTIES 404 CUSTOM STORAGE DOMAIN PROPERTIES
405 NOTIFY VALUE CHANGE 407 PROPAGATING CHANGE FROM MODEL TO SHAPE:
ONASSOCIATEDPROPERTYCHANGED 408 RULES 412 STORE EVENTS 417 .NET EVENT
HANDLERS 419 EVENT OVERRIDES 420 BOUNDS RULES 420 SUMMARY OF CHANGE
PROPAGATION AND CONSTRAINT TECHNIQUES 424 DSL SHELL ARCHITECTURE 426 HOW
TO ADD A MENU COMMAND 429 ADD A COMMAND ID FOR EACH COMMAND 430
INCREMENT MENU RESOURCE INDEX 430 * ADD COMMANDS TO COMMAND SET 431
DEFINE THE COMMAND HANDLERS 432 GOOD PRACTICES FOR COMMAND HANDLERS 434
CONTENTS M XV BUILD AND RUN 435 PROVIDING HANDLERS FOR STANDARD COMMANDS
435 BUILDING THE DSL DIAGRAM INTO ANOTHER INTERFACE 435 IMPLEMENTING
COPY AND PASTE 437 THE COPY METHOD 437 THE PASTE METHOD 438 REGISTERING
THE MENU HANDLERS 440 SHAPE CONTAINERS 442 CHILD SHAPES 442 A DSL USING
NESTED CHILD SHAPES 443 SHAPE CONTAINMENT USING RULES 446 SUMMARY 453 11
DESIGNING A DSL 455 INTRODUCTION 455 IDENTIFYING VARIABILITY 456
BOTTOM-UP OR TOP-DOWN? 457 FEATURE TREES 458 FEATURE TREES AND DSLS 459
DEVELOPING THE DOMAIN MODEL 460 SKETCH DOMAIN SNAPSHOTS 460 DOMAIN MODEL
FROM SNAPSHOTS 464 DEVELOPING THE NOTATION 468 PROJECT DEFINITION
NOTATION 470 ISSUE STATE NOTATION 471 FAMILIAR NOTATIONS 474 DEFINING
VALIDATION CONSTRAINTS 475 INTERNAL CONSISTENCY 476 CONSISTENCY WITH
EXTERNAL DATA AND MODELS 478 DEVELOPING AND EVOLVING THE FRAMEWORK 479
GENERATION VERSUS INTERPRETATION 479 EVOLVING A GENERIC FRAMEWORK 482
DRIVING A FRAMEWORK FROM THE DSL 483 * TESTING 484 VALIDATION
CONSTRAINTS 486 GENERATOR TEMPLATES 488 XVI M CONTENTS GENERATED CODE
488 RULES 489 LANGUAGE DEFINITION 489 EVOLVING A DSL 489 WHAT MAKES A
GOOD DSL? 491 APPROPRIATE NOTATION: AN EXAMPLE WITH REGULAR EXPRESSIONS
493 CANDIDATE NOTATIONS 495 GRAPHS ARE NOT SYNTAX TREES 498 SUMMARY 498
CONCLUSION 499 INDEX 503
|
adam_txt |
DOMAIN-SPECIFIC DEVELOPMENT WITH VISUAL STUDIO DSL TOOLS * STEVE COOK *
GARETH JONES * STUART KENT * ALAN CAMERON WILLS A ADDISON-WESLEY UPPER
SADDLE RIVER, NJ E BOSTON * INDIANAPOLIS * SAN FRANCISCO NEW YORK *
TORONTO 8 MONTREAL' * LONDON * MUNICH * PARIS MADRID * CAPETOWN * SYDNEY
* TOKYO * SINGAPORE * MEXICO CITY CONTENTS LIST OF FIGURES XVII LIST OF
TABLES XXV FOREWORD XXVII PREFACE XXIX ABOUT THE AUTHORS XXXV
DOMAIN-SPECIFIC DEVELOPMENT 1 INTRODUCTION 1 DOMAIN-SPECIFIC DEVELOPMENT
2 EXAMPLES 4 SOFTWARE DEFINED CIRCUITRY 8 EMBEDDED SYSTEMS 9 DEVICE
INTERFACES 9 SOFTWARE DEVELOPMENT PROCESS CUSTOMIZATION 9 BENEFITS 10
LANGUAGES 11 TEXTUAL DSLS 15 GRAPHICAL DSLS 20 CONVENTIONS FOR
REPRESENTING STRUCTURE 21 CONVENTIONS FOR REPRESENTING BEHAVIOR 22
ASPECTS OF GRAPHICAL DSLS 23 ', NOTATION 24 DOMAIN MODEL 24 GENERATION
24 VII VIII N CONTENTS SERIALIZATION 25 TOOL INTEGRATION 26 PUTTING IT
ALL TOGETHER 26 DSLS IN VISUAL STUDIO 27 THE CUSTOMIZATION PIT 32 UML 34
SUMMARY 40 CREATING AND USING DSLS 41 INTRODUCTION 41 PROCESS:
INCREMENTAL DEVELOPMENT OF DSLS 41 GENERALIZING AN APPLICATION: IDENTIFY
VARIABILITY, DISCOVER DSLS 42 TOP-DOWN AND BOTTOM-UP 46 DEVELOPING THE
DSL: FROM SKETCHES TO DOMAIN MODEL 48 DOMAIN MODEL AND PRESENTATION ARE
SEPARATE 49 REFINING THE DSL 50 DRIVING THE FRAMEWORK FROM THE DSL 51
USING THE DSL 53 EVOLVING THE DSLS 55 INTERPRETIVE ARCHITECTURES 56
CREATING A DSL IN VISUAL STUDIO 57 CREATING A DSL AUTHORING SOLUTION IN
VISUAL STUDIO 57 TRYING OUT THE DSL SOLUTION 61 DEFINING THE DSL 64
GENERATING THE CODE FOR THE DESIGNER 66 ADDING TO THE DSL 67 CONSTRAINTS
68 CUSTOMIZING THE EXPLORER WINDOW 71 CUSTOMIZING THE PROPERTIES WINDOW
72 CUSTOM CODE FOR THE DESIGNERS 73 SERIALIZATION FORMAT OF THE DSL FILE
73 DRIVING APPLICATIONS FROM THE DSL 74 DEPLOYMENT 76 A SECOND DSL: THE
PROJECT DEFINITION DSL 77 CONTENTS A I: IX ARCHITECTURE OF THE DSL TOOLS
78 THE GENERATED CODE 78 DSL TOOLS ARCHITECTURAL LAYERS 79 THE FRAMEWORK
ASSEMBLIES 79 CONTENT OF THE DSL PROJECT 81 CONTENT OF THE DSLPACKAGE
PROJECT 83 SUMMARY 85 DOMAIN MODEL DEFINITION 87 INTRODUCTION 87 THE
DOMAIN MODEL DESIGNER 88 THE IN-MEMORY STORE 89 DOMAIN CLASSES 92 DOMAIN
RELATIONSHIPS 98 EMBEDDINGS 101 MULTIPLICITY 104 REFERENCES 105
RELATIONSHIP DERIVATION 106 GENERATING A DESIGNER WITH NO SHAPES 108 THE
GENERATED CODE 109 USING THE GENERATED CODE 113 MORE ABOUT DOMAIN
CLASSES 115 DOMAINCLASSINFO 118 MORE ABOUT DOMAIN PROPERTIES 119
CALCULATED PROPERTIES 121 DOMAINPROPERTYLNFO 121 MORE ON DOMAIN
RELATIONSHIPS AND ROLES 122 ACCESSING LINKS 124 MORE ON RELATIONSHIP
DERIVATION 126 DOMAINRELATIONSHIPINFO AND DOMAINROLELNFO 129 MORE ABOUT
THE STORE 129 LOOKING UP ELEMENTS 129 PARTITIONS 130 ' RULES 130
DOMAINMODELLNFO 130 SUMMARY 131 CONTENTS PRESENTATION 133 INTRODUCTION
133 GRAPHICAL NOTATION*OVERVIEW 134 DIAGRAM AND EDITOR 137 DIAGRAM 138
EDITOR 141 DESIGNER 142 CUSTOM EDITOR 142 SHAPES 146 KINDS OF SHAPES 147
SHAPE MAPS 154 CONNECTORS 164 CONNECTOR ANATOMY AND APPEARANCE 164
CONNECTORS AND INHERITANCE 165 CONNECTOR MAPS 165 ADVANCED CONNECTOR
MAPS 167 DECORATORS 167 KINDS OF DECORATORS 168 POSITIONING 169
DECORATOR MAPS 170 CUSTOMIZING THE GRAPHICAL NOTATION IN CODE 173
MULTILINE TEXT DECORATORS 173 * VARIABLE IMAGE SHAPE 174 SET A
BACKGROUND PICTURE 176 SET CUSTOM CONNECTION POINTS 177 CHANGE ROUTING
STYLE OF CONNECTORS 178 EXPLORER 180 DEFAULT APPEARANCE 181 CHANGING THE
WINDOW ICON AND LABEL 183 CUSTOMIZING THE APPEARANCE OF NODES 184 HIDING
NODES 186 CUSTOMIZING THE EXPLORER THROUGH CODE 187 , PROPERTIES WINDOW
188 DEFAULT APPEARANCE OF PROPERTIES WINDOW 188 CATEGORIES, NAMES, AND
DESCRIPTIONS 190 CONTENTS * XI HIDING PROPERTIES AND MAKING THEM
READ-ONLY 192 FORWARDING PROPERTIES 192 CUSTOMIZING THE PROPERTIES
WINDOW THROUGH CODE 193 SUMMARY 195 5 CREATION, DELETION, AND UPDATE
BEHAVIOR 197 INTRODUCTION 197 ELEMENT CREATION 197 THE TOOLBOX 198
ELEMENT MERGE DIRECTIVES 200 CUSTOM ELEMENT MERGE DIRECTIVES 208
RE-PARENTING WITH ELEMENT MERGE DIRECTIVES 211 CUSTOM ELEMENT TOOL
PROTOTYPES 212 CONNECTION BUILDERS 216 MULTIPLE SOURCE AND TARGET ROLE
DIRECTIVES 217 MULTIPLE LINK CONNECT DIRECTIVES 219 CUSTOM CONNECTION
BUILDERS 222 ELEMENT DELETION 229 DEFAULT DELETE PROPAGATION RULES 229
CONTROLLING DELETE PROPAGATION 231 CUSTOMIZING DELETE PROPAGATION 232
SUMMARY 234 6 SERIALIZATION 237 INTRODUCTION 237 SAVING AND LOADING
MODELS AND DIAGRAMS 238 MODEL XML FILE FORMAT 239 ELEMENTS AND
PROPERTIES 242 RELATIONSHIPS 243 RELATIONSHIP DERIVATION 245
CROSS-REFERENCING 245 USING GUIDS AS REFERENCES 246 USING QUALIFIED
NAMES AS REFERENCES 248 , REFERENCES TO LINKS 249 DIAGRAM XML FILE
FORMAT 251 VERSIONING AND MIGRATION 254 XII * CONTENTS THE XML SCHEMA
257 CUSTOMIZATION 258 MODIFYING XML ELEMENT NAMES 259 ELEMENT DATA 261
IMPLEMENTING YOUR OWN SERIALIZER 264 GENERATED SERIALIZATION CODE 264
CUSTOMIZED SERIALIZATION CODE 271 IMPACT OF CUSTOMIZATION ON THE SCHEMA
272 SUMMARY 273 7 CONSTRAINTS AND VALIDATION 275 INTRODUCTION 275
CHOOSING HARD OR SOFT CONSTRAINTS? 277 CHOICES MADE BY THE DSL TOOLS 280
SOFT CONSTRAINTS IN THE DSL TOOLS 280 VALIDATION METHODS 282 ENABLING
VALIDATION 284 INVOKING VALIDATION 288 CUSTOM VALIDATION CATEGORIES 289
INHERITING VALIDATION BEHAVIOR 292 VALIDATION OUTPUT 292 USING
VALIDATION OUTSIDE THE IDE 293 VALIDATION AGAINST EXTERNAL DATA 294 HARD
CONSTRAINTS IN THE DSL TOOLS 295 RULES 296 PUTTING TOGETHER HARD AND
SOFT CONSTRAINTS 299 SUMMARY 307 8 GENERATING ARTIFACTS 309 INTRODUCTION
309 ARTIFACT GENERATION STYLES 311 EXTENSIBLE STYLESHEET LANGUAGE
TRANSFORMATIONS 311 MAKING USE OF THE DOMAIN-SPECIFIC API 314 ', A
TEMPLATE-BASED APPROACH 319 COMPLEX RELATIONSHIPS AND ROUND-TRIPPING 321
CONTENTS * XIII THE TEMPLATIZATION PROCESS 325 THE FIRST CUT TEMPLATE
328 GENERATION-SPECIFIC MODEL DATA 338 STARTING TO BUILD A LIBRARY 340
SYNTAX OF A TEXT TEMPLATE 341 DIRECTIVES 341 CUSTOM DIRECTIVES 344
CONTROL BLOCK TYPES 346 PROBLEMS OF LARGE-SCALE, REAL-WORLD ARTIFACT
GENERATION 349 ADVANCED CUSTOMIZATIONS 351 TEXT TEMPLATING ARCHITECTURE
352 CUSTOM HOSTING 354 CUSTOM DIRECTIVE PROCESSOR 357 CUSTOM
ORCHESTRATION 359 SUMMARY 366 9 DEPLOYING A DSL 369 INTRODUCTION 369
FILES NEEDED TO INSTALL A DESIGNER 370 GETTING STARTED*CREATING A SETUP
PROJECT 373 SETUP PROJECT CONTENTS 376 CUSTOMIZING SETUP 377 CUSTOMIZING
INSTALLERDEFINITION.DSLSETUP 377 CUSTOMIZING SETTINGS.INI 377
CUSTOMIZING STRINGS.WXL 378 CUSTOMIZING PRODUCT.ICO 378 THE .DSLSETUP
FORMAT 378 380 382 382 383 384 384 '* 384 385 XIV D M CONTENTS
REFRESHING THE INSTALLATION FILES 387 PACKAGE LOAD KEY 388 DEPLOYING
TEXT TEMPLATES FOR CODE GENERATION 390 CREATING A PROJECT TEMPLATE FROM
THE DEBUGGING PROJECT 390 USING A TEXT TEMPLATE INCLUDE FILE 392
INCLUDING TEXT TEMPLATES IN THE VS ITEM TEMPLATE 393 SUMMARY 396 10
ADVANCED DSL CUSTOMIZATION 397 INTRODUCTION 397 TOOLS FOR CUSTOMIZATION
397 PARTIAL CLASSES 397 DOUBLE DERIVED * THE GENERATION GAP 398 CUSTOM
CONSTRUCTORS 399 CUSTOMIZATION SWITCHES 399 CUSTOM OVERRIDES 401
RESPONDING TO CHANGES 402 PROPERTY HANDLERS "ON VALUE CHANGED/CHANGING"
402 CALCULATED DOMAIN PROPERTIES 404 CUSTOM STORAGE DOMAIN PROPERTIES
405 NOTIFY VALUE CHANGE 407 PROPAGATING CHANGE FROM MODEL TO SHAPE:
ONASSOCIATEDPROPERTYCHANGED 408 RULES 412 STORE EVENTS 417 .NET EVENT
HANDLERS 419 EVENT OVERRIDES 420 BOUNDS RULES 420 SUMMARY OF CHANGE
PROPAGATION AND CONSTRAINT TECHNIQUES 424 DSL SHELL ARCHITECTURE 426 HOW
TO ADD A MENU COMMAND 429 ADD A COMMAND ID FOR EACH COMMAND 430
INCREMENT MENU RESOURCE INDEX 430 '* ADD COMMANDS TO COMMAND SET 431
DEFINE THE COMMAND HANDLERS 432 GOOD PRACTICES FOR COMMAND HANDLERS 434
CONTENTS M XV BUILD AND RUN 435 PROVIDING HANDLERS FOR STANDARD COMMANDS
435 BUILDING THE DSL DIAGRAM INTO ANOTHER INTERFACE 435 IMPLEMENTING
COPY AND PASTE 437 THE COPY METHOD 437 THE PASTE METHOD 438 REGISTERING
THE MENU HANDLERS 440 SHAPE CONTAINERS 442 CHILD SHAPES 442 A DSL USING
NESTED CHILD SHAPES 443 SHAPE CONTAINMENT USING RULES 446 SUMMARY 453 11
DESIGNING A DSL 455 INTRODUCTION 455 IDENTIFYING VARIABILITY 456
BOTTOM-UP OR TOP-DOWN? 457 FEATURE TREES 458 FEATURE TREES AND DSLS 459
DEVELOPING THE DOMAIN MODEL 460 SKETCH DOMAIN SNAPSHOTS 460 DOMAIN MODEL
FROM SNAPSHOTS 464 DEVELOPING THE NOTATION 468 PROJECT DEFINITION
NOTATION 470 ISSUE STATE NOTATION 471 FAMILIAR NOTATIONS 474 DEFINING
VALIDATION CONSTRAINTS 475 INTERNAL CONSISTENCY 476 CONSISTENCY WITH
EXTERNAL DATA AND MODELS 478 DEVELOPING AND EVOLVING THE FRAMEWORK 479
GENERATION VERSUS INTERPRETATION 479 EVOLVING A GENERIC FRAMEWORK 482
DRIVING A FRAMEWORK FROM THE DSL 483 '* TESTING 484 VALIDATION
CONSTRAINTS 486 GENERATOR TEMPLATES 488 XVI M CONTENTS GENERATED CODE
488 RULES 489 LANGUAGE DEFINITION 489 EVOLVING A DSL 489 WHAT MAKES A
GOOD DSL? 491 APPROPRIATE NOTATION: AN EXAMPLE WITH REGULAR EXPRESSIONS
493 CANDIDATE NOTATIONS 495 GRAPHS ARE NOT SYNTAX TREES 498 SUMMARY 498
CONCLUSION 499 INDEX 503 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
building | Verbundindex |
bvnumber | BV022782305 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.D47 |
callnumber-search | QA76.76.D47 |
callnumber-sort | QA 276.76 D47 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 253 |
ctrlnum | (OCoLC)105444761 (DE-599)BVBBV022782305 |
dewey-full | 006.7/86 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 006 - Special computer methods |
dewey-raw | 006.7/86 |
dewey-search | 006.7/86 |
dewey-sort | 16.7 286 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 1. printing |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01794nam a2200469zc 4500</leader><controlfield tag="001">BV022782305</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20071010 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">070919s2007 xxua||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2007011960</subfield></datafield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBA752463</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321398208</subfield><subfield code="9">978-0-321-39820-8</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0321398203</subfield><subfield code="9">0-321-39820-3</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)105444761</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV022782305</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.76.D47</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">006.7/86</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 253</subfield><subfield code="0">(DE-625)143628:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Domain-specific development with Visual Studio DSL tools</subfield><subfield code="c">Steve Cook ... [et al.]</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">Domain specific development with Visual Studio DSL tools</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. printing</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ ; Munich [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">c2007</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxxvi, 524 p.</subfield><subfield code="b">ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Microsoft .NET development series</subfield></datafield><datafield tag="630" ind1="0" ind2="4"><subfield code="a">Microsoft Visual studio</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software</subfield><subfield code="x">Development</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Domänenspezifische Programmiersprache</subfield><subfield code="0">(DE-588)7585264-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Visual Studio 2005</subfield><subfield code="0">(DE-588)4823910-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Visual Studio 2005</subfield><subfield code="0">(DE-588)4823910-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Domänenspezifische Programmiersprache</subfield><subfield code="0">(DE-588)7585264-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Cook, Steve</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HEBIS Datenaustausch Darmstadt</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015987791&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-015987791</subfield></datafield></record></collection> |
id | DE-604.BV022782305 |
illustrated | Illustrated |
index_date | 2024-07-02T18:36:41Z |
indexdate | 2024-07-09T21:06:02Z |
institution | BVB |
isbn | 9780321398208 0321398203 |
language | English |
lccn | 2007011960 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-015987791 |
oclc_num | 105444761 |
open_access_boolean | |
owner | DE-703 |
owner_facet | DE-703 |
physical | xxxvi, 524 p. ill. |
publishDate | 2007 |
publishDateSearch | 2007 |
publishDateSort | 2007 |
publisher | Addison-Wesley |
record_format | marc |
series2 | Microsoft .NET development series |
spelling | Domain-specific development with Visual Studio DSL tools Steve Cook ... [et al.] Domain specific development with Visual Studio DSL tools 1. printing Upper Saddle River, NJ ; Munich [u.a.] Addison-Wesley c2007 xxxvi, 524 p. ill. txt rdacontent n rdamedia nc rdacarrier Microsoft .NET development series Microsoft Visual studio Computer software Development Domänenspezifische Programmiersprache (DE-588)7585264-0 gnd rswk-swf Visual Studio 2005 (DE-588)4823910-0 gnd rswk-swf Visual Studio 2005 (DE-588)4823910-0 s Domänenspezifische Programmiersprache (DE-588)7585264-0 s DE-604 Cook, Steve Sonstige oth HEBIS Datenaustausch Darmstadt application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015987791&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Domain-specific development with Visual Studio DSL tools Microsoft Visual studio Computer software Development Domänenspezifische Programmiersprache (DE-588)7585264-0 gnd Visual Studio 2005 (DE-588)4823910-0 gnd |
subject_GND | (DE-588)7585264-0 (DE-588)4823910-0 |
title | Domain-specific development with Visual Studio DSL tools |
title_alt | Domain specific development with Visual Studio DSL tools |
title_auth | Domain-specific development with Visual Studio DSL tools |
title_exact_search | Domain-specific development with Visual Studio DSL tools |
title_exact_search_txtP | Domain-specific development with Visual Studio DSL tools |
title_full | Domain-specific development with Visual Studio DSL tools Steve Cook ... [et al.] |
title_fullStr | Domain-specific development with Visual Studio DSL tools Steve Cook ... [et al.] |
title_full_unstemmed | Domain-specific development with Visual Studio DSL tools Steve Cook ... [et al.] |
title_short | Domain-specific development with Visual Studio DSL tools |
title_sort | domain specific development with visual studio dsl tools |
topic | Microsoft Visual studio Computer software Development Domänenspezifische Programmiersprache (DE-588)7585264-0 gnd Visual Studio 2005 (DE-588)4823910-0 gnd |
topic_facet | Microsoft Visual studio Computer software Development Domänenspezifische Programmiersprache Visual Studio 2005 |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015987791&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT cooksteve domainspecificdevelopmentwithvisualstudiodsltools |