Systematic composition of language components in MontiCore:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Abschlussarbeit Buch |
Sprache: | English |
Veröffentlicht: |
Düren
Shaker Verlag
2023
|
Schriftenreihe: | Aachener Informatik Berichte, Software Engineering
Band 53 |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | xiii, 321 Seiten 129 Illustrationen 24 cm x 17 cm, 509 g |
ISBN: | 9783844089363 3844089365 |
Internformat
MARC
LEADER | 00000nam a22000008cb4500 | ||
---|---|---|---|
001 | BV048877668 | ||
003 | DE-604 | ||
005 | 20230425 | ||
007 | t | ||
008 | 230327s2023 gw a||| m||| 00||| eng d | ||
015 | |a 23,N03 |2 dnb | ||
016 | 7 | |a 1277761159 |2 DE-101 | |
020 | |a 9783844089363 |c : EUR 39.80 (DE), EUR 39.80 (AT), CHF 49.80 (freier Preis) |9 978-3-8440-8936-3 | ||
020 | |a 3844089365 |9 3-8440-8936-5 | ||
024 | 3 | |a 9783844089363 | |
035 | |a (OCoLC)1378503093 | ||
035 | |a (DE-599)DNB1277761159 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-83 | ||
084 | |a ST 136 |0 (DE-625)143591: |2 rvk | ||
084 | |8 1\p |a 004 |2 23sdnb | ||
100 | 1 | |a Butting, Arvid |e Verfasser |0 (DE-588)1181240875 |4 aut | |
245 | 1 | 0 | |a Systematic composition of language components in MontiCore |c Arvid Butting |
264 | 1 | |a Düren |b Shaker Verlag |c 2023 | |
300 | |a xiii, 321 Seiten |b 129 Illustrationen |c 24 cm x 17 cm, 509 g | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 1 | |a Aachener Informatik Berichte, Software Engineering |v Band 53 | |
502 | |b Dissertation |c RWTH Aachen University |d 2022 | ||
650 | 0 | 7 | |a Modellgetriebene Entwicklung |0 (DE-588)4832365-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Domänenspezifische Programmiersprache |0 (DE-588)7585264-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Komposition |g Wortbildung |0 (DE-588)4394616-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Symboltabelle |0 (DE-588)4723266-3 |2 gnd |9 rswk-swf |
653 | |a Software Language Engineering | ||
653 | |a Domain-Specific Modeling Languages | ||
653 | |a Language Product Lines | ||
653 | |a Symbol Tables | ||
653 | |a Language Reusability | ||
653 | |a Language Variability | ||
655 | 7 | |0 (DE-588)4113937-9 |a Hochschulschrift |2 gnd-content | |
689 | 0 | 0 | |a Modellgetriebene Entwicklung |0 (DE-588)4832365-2 |D s |
689 | 0 | 1 | |a Domänenspezifische Programmiersprache |0 (DE-588)7585264-0 |D s |
689 | 0 | 2 | |a Symboltabelle |0 (DE-588)4723266-3 |D s |
689 | 0 | 3 | |a Komposition |g Wortbildung |0 (DE-588)4394616-1 |D s |
689 | 0 | |5 DE-604 | |
710 | 2 | |a Shaker Verlag |0 (DE-588)1064118135 |4 pbl | |
830 | 0 | |a Aachener Informatik Berichte, Software Engineering |v Band 53 |w (DE-604)BV040516036 |9 53 | |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034142456&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-034142456 | ||
883 | 1 | |8 1\p |a vlb |d 20230111 |q DE-101 |u https://d-nb.info/provenance/plan#vlb |
Datensatz im Suchindex
_version_ | 1804185020258058240 |
---|---|
adam_text | CONTENTS
1
INTRODUCTION
1
1.1
RESEARCH
QUESTION
&
OBJECTIVES
........................................................................
3
1.2
MAIN
RESULTS
AND
STRUCTURE
OF
THESIS
..............................................................
5
2
FOUNDATIONS
9
2.1
SOFTWARE
LANGUAGE
ENGINEERING
........................................................................
9
2.1.1
SOFTWARE
LANGUAGES
...............................................................................
9
2.2
THE
MONTICORE
LANGUAGE
WORKBENCH
............................................................
13
2.2.1
MONTICORE
GRAMMARS
............................................................................
15
2.2.2
ABSTRACT
SYNTAX
TREE
DATA
STRUCTURE
...............................................
21
2.2.3
TRAVERSING
THE
ABSTRACT
SYNTAX
............................................................
23
2.2.4
CONTEXT
CONDITIONS
...............................................................................
25
2.2.5
IDENTIFYING
ARTIFACTS
IN
THE
FILE
SYSTEM
............................................
27
2.2.6
INSTANTIATING
THE
LANGUAGE
INFRASTRUCTURE
.........................................
27
2.2.7
INTEGRATION
OF
HANDWRITTEN
CODE
........................................................
27
2.2.8
LANGUAGE
COMPOSITION
...........................................................................
29
2.3
SOFTWARE
PRODUCT
LINE
ENGINEERING
..................................................................
32
2.3.1
VARIABILITY
IN
SOFTWARE
AND
SOFTWARE
PRODUCT
LINES
..........................
33
2.3.2
SOFTWARE
REUSE
........................................................................................
35
2.3.3
FEATURE
DIAGRAMS
.................................................................................
36
3
METHOD
FOR
THE
SYSTEMATIC
COMPOSITION
OF
LANGUAGE
COMPONENTS
IN
MONTI
CORE
41
4
GENERATING
KIND-TYPED
SYMBOL
TABLE
INFRASTRUCTURES
45
4.1
CONCEPT
OF
KIND-TYPED
SYMBOL
TABLES
...........................................................
48
4.1.1
RELATIONSHIPS
BETWEEN
SYMBOLS,
SCOPES,
AND
AST
NODES
....................
49
4.1.2
DEFINING
NAMES
VIA
SYMBOLS
..............................................................
50
4.1.3
CAPTURING
NAME
VISIBILITY
WITH
SCOPES
............................................
51
4.1.4
PROVIDING
ACCESS
TO
A
MODEL
S
SYMBOL
TABLE
WITH
ARTIFACT
SCOPES
54
4.1.5
BRIDGING
THE
GAP
BETWEEN
MODELS
WITH
GLOBAL
SCOPES
.......................
55
4.1.6
USING
MODEL
ELEMENTS
THROUGH
NAMES
...............................................
56
4.1.7
TYPE
DEFINITIONS
AND
TYPE
EXPRESSIONS
............................................
58
4.1.8
SYMBOL
RESOLUTION
.................................................................................
62
4.1.9
SYMBOL
TABLE
TRAVERSAL
........................................................................
69
4.1.10
SYMBOL
TABLE
INSTANTIATION
..................................................................
70
4.2
ANNOTATING
GRAMMARS
WITH
SYMBOL
TABLE
INFORMATION
...............................
73
4.2.1
INDICATE
THAT
A
NONTERMINAL
DEFINES
A
SYMBOL
KIND
........................
73
4.2.2
INDICATE
THAT
A
NONTERMINAL
SPANS
A
SCOPE
.......................................
75
4.2.3
INDICATE
THAT
A
NONTERMINAL
USES
THE
NAME
OF
A
SYMBOL
..................
76
4.2.4
PROVIDING
SYMBOL
KIND
ATTRIBUTES
......................................................
77
4.2.5
PROVIDING
SCOPE
ATTRIBUTES
..................................................................
79
4.3
IMPLEMENTATION
OF
THE
TYPED
SYMBOL
TABLE
INFRASTRUCTURE
.............................
80
4.3.1
IMPLEMENTATION
OF
LANGUAGE
MILLS
IN
MONTICORE
.................................
81
4.3.2
IMPLEMENTATION
OF
SCOPES
IN
MONTICORE
............................................
82
4.3.3
IMPLEMENTATION
OF
ARTIFACT
SCOPES
IN
MONTICORE
.................................
90
4.3.4
IMPLEMENTATION
OF
GLOBAL
SCOPES
IN
MONTICORE
....................................
92
4.3.5
IMPLEMENTATION
OF
SYMBOL
RESOLVERS
IN
MONTICORE
..........................
94
4.3.6
CUSTOMIZING
SYMBOL
RESOLUTION
........................................................
95
4.3.7
REALIZATION
OF
SYMBOLS
IN
SYMBOL
CLASSES
.............................................
96
4.3.8
INSTANTIATING
SYMBOL
TABLES
WITH
SCOPES
GENITORS
.........................
97
4.3.9
INSTANTIATING
SYMBOL
TABLES
OF
COMPOSED
LANGUAGES
WITH
SCOPES
GENITOR
DELEGATORS
.................................................................................
99
4.4
DISCUSSION
..............................................................................................................
99
4.5
RELATED
WORK
..........................................................................................................
101
5
INFRASTRUCTURE
FOR
LOADING
AND
STORING
SYMBOL
TABLES
105
5.1
SERIALIZATION
IN
GENERAL
........................................................................................
107
5.1.1
SERIALIZATION
AND
DESERIALIZATION
..........................................................
107
5.1.2
SERIALIZATION
STRATEGIES
.............................................................................
108
5.1.3
SERIALIZATION
WITH
INTERMEDIATE
STRUCTURE
...........................................
ILL
5.2
CONCEPT
FOR
SYMBOL
TABLE
PERSISTENCE
..............................................................
112
5.2.1
OVERVIEW
OF
SYMBOL
TABLE
PERSISTENCE
.................................................
112
5.2.2
ORGANIZATION
OF
PERSISTED
FILES
..............................................................
114
5.2.3
CONCEPT
FOR
SYMBOL
TABLE
SERIALIZATION
AND
DESERIALIZATION
....
116
5.3
JSON
INFRASTRUCTURE
..............................................................................................
123
5.3.1
JSON
ABSTRACT
SYNTAX
MODEL
..............................................................
124
5.3.2
SERIALIZATION
INFRASTRUCTURE
.................................................................
128
5.3.3
DESERIALIZATION
INFRASTRUCTURE
..............................................................
130
5.4
REALIZATION
OF
LOADING
AND
STORING
OF
SYMBOL
TABLES
IN
MONTICORE
....
132
5.4.1
COMMONALITIES
OF
SYMBOL
DESERS
IN
THE
ISYMBOLDESER
INTERFACE
133
5.4.2
COMMONALITIES
OF
SCOPE
DESERS
IN
THE
IDESER
INTERFACE
...............
134
5.4.3
THE
JSONDESERS
CLASS
..........................................................................
137
5.4.4
SYMBOLS2JSON
CLASSES
FOR
TRAVERSING
SYMBOL
TABLES
...................
137
5.4.5
SYMBOLDESER
CLASSES
WITH
SERIALIZATION
STRATEGIES
FOR
SYMBOLS
.
140
5.4.6
SCOPEDESER
CLASSES
WITH
SERIALIZATION
STRATEGIES
FOR
SCOPES
.
.
.
141
5.4.7
LOADING
AND
STORING
SYMBOL
TABLES
VIA
THE
GLOBAL
SCOPE
............
143
5.4.8
INTEGRATING
LOADING
OF
SYMBOL
TABLES
INTO
SYMBOL
RESOLUTION
.
.
.
145
5.4.9
SUPPORTING
STORING
OF
SYMBOL
TABLES
FOR
MODEL
PROCESSING
....
146
5.5
CUSTOMIZING
THE
PERSISTENCE
OF
SYMBOL
TABLES
IN
MONTICORE
........................
147
5.5.1
PROVIDING
A
SERIALIZATION
STRATEGY
FOR
A
SYMBOL
ATTRIBUTE
.............
147
5.5.2
OMITTING
SERIALIZATION
OF
SYMBOLS
OF
A
CERTAIN
KIND
.........................
148
5.5.3
REALIZING
SERIALIZATION
OF
AN
ADDITIONAL
SCOPE
ATTRIBUTE
................
149
5.5.4
LOAD
ASTS
TOGETHER
WITH
SYMBOL
TABLES
...........................................
151
5.5.5
LOAD
SYMBOL
TABLES
OF
A
SINGLE
LANGUAGE
ONLY
..................................
152
5.5.6
LOAD
SYMBOLS
AS
INSTANCES
OF
THEIR
SUBKINDS
.....................................
152
5.5.7
LOAD
SYMBOLS
AS
INSTANCES
OF
THEIR
SUPER
KINDS
...............................
153
5.6
DISCUSSION
...............................................................................................................
153
5.7
RELATED
WORK
.........................................................................................................
154
6
USING
TYPED
SYMBOL
TABLES
FOR
LANGUAGE
COMPOSITION
157
6.1
LANGUAGE
INHERITANCE
IN
THE
TYPED
SYMBOL
TABLE
INFRASTRUCTURE
............
157
6.1.1
LANGUAGE
INHERITANCE
OF
SCOPES
..............................................................
157
6.1.2
LANGUAGE
INHERITANCE
OF
SYMBOL
TABLE
CREATION
...............................
159
6.1.3
LANGUAGE
INHERITANCE
OF
SYMBOL
TABLE
PERSISTENCE
............................
161
6.1.4
RECONFIGURATION
VIA
MILLS
.......................................................................
162
6.2
ADAPTING
BETWEEN
SYMBOL
KINDS
........................................................................
163
6.2.1
CONCEPT
FOR
SYMBOL
ADAPTERS
.................................................................
164
6.2.2
FINDING
SYMBOL
ADAPTERS
DURING
SYMBOL
RESOLUTION
.........................
165
6.2.3
COMBINATION
OF
SYMBOL
ADAPTERS
AND
SYMBOL
PERSISTENCE
.............
167
6.3
IMPORTING
SYMBOLS
FROM
JAVA
WITH
CLASS2MC
.................................................
170
6.4
AGGREGATION
OF
LANGUAGES
...................................................................................
173
6.4.1
AGGREGATION
THROUGH
SHARED
GRAMMAR
..................................................
173
6.4.2
AGGREGATION
THROUGH
UNIFYING
GRAMMAR
..............................................
174
6.4.3
AGGREGATION
THROUGH
RESOLVERS
..............................................................
174
6.4.4
AGGREGATION
THROUGH
SYMBOL
FILES
........................................................
175
6.5
DISCUSSION
...............................................................................................................
176
6.6
RELATED
WORK
.........................................................................................................
176
7
LANGUAGE
COMPONENTS
179
7.1
LANGUAGE
COMPONENT
MODELS
.............................................................................
181
7.2
MONTICORE
LANGUAGE
COMPONENT
DIAGRAMS
....................................................
184
7.3
CONCEPT
FOR
IDENTIFYING
ARTIFACTS
OF
LANGUAGE
COMPONENTS
..........................
186
7.3.1
ADDRESS
ARTIFACTS
OF
A
LANGUAGE
COMPONENT
....................................
186
7.3.2
ARTIFACT
ANALYSIS
......................................................................................
187
7.3.3
BUILDING
SELF-CONTAINED
LANGUAGE
COMPONENT
ARCHIVES
.................
188
7.4
REALIZATION
OF
LANGUAGE
COMPONENTS
.................................................................
190
7.4.1
THE
MLC
LANGUAGE
.................................................................................
190
7.4.2
TOOL
FOR
PROCESSING
MLC
MODELS
...........................................................
195
7.5
DISCUSSION
.................................................................................................................
197
7.6
RELATED
WORK
...........................................................................................................
199
8
THE
MONTICORE
FEATURE
DIAGRAM
LANGUAGE
FAMILY
201
8.1
THE
FEATURE
DIAGRAM
LANGUAGE
...........................................................................
203
8.2
THE
FEATURE
CONFIGURATION
LANGUAGES
..............................................................
207
8.3
THE
FEATURE
DIAGRAM
ANALYSIS
TOOL
..................................................................
208
8.4
COMPOSING
FEATURE
MODELS
WITH
DOMAIN
MODELS
.............................................
209
8.4.1
INTERNAL
FEATURE
REALIZATIONS
.................................................................
210
8.4.2
REFERRING
TO
FEATURE
REALIZATIONS
...........................................................
211
8.4.3
MAPPING
TO
FEATURE
REALIZATIONS
...........................................................
212
8.5
DISCUSSION
.................................................................................................................
213
8.6
RELATED
WORK
..........................................................................................................
214
9
ENGINEERING
FEATURE-ORIENTED
LANGUAGE
PRODUCT
LINES
WITH
MONTICORE
215
9.1
CONCEPT
OF
A
FEATURE-ORIENTED
LANGUAGE
PRODUCT
LINE
....................................
217
9.1.1
ENGINEERING
A
LANGUAGE
PRODUCT
LINE
.................................................
217
9.1.2
ROLES
INVOLVED
IN
LANGUAGE
PRODUCT
LINES
...........................................
219
9.1.3
DESCRIBING
THE
COMPOSITION
OF
LANGUAGE
COMPONENTS
.....................
221
9.1.4
LANGUAGE
VARIANT
DERIVATION
.................................................................
224
9.2
REALIZING
LANGUAGE
PRODUCT
LINES
IN
MONTICORE
...........................................
226
9.2.1
THE
LANGUAGE
PRODUCT
LINE
LANGUAGE
.................................................
227
9.2.2
THE
COMPOSITION
INFRASTRUCTURE
..............................................................
229
9.3
DISCUSSION
................................................................................................................
231
9.4
RELATED
WORK
..........................................................................................................
237
10
APPLICATION-BASED
EVALUATION
241
10.1
APPLICATION
OF
THE
STI
..........................................................................................
242
10.2
PERFORMANCE
OF
JSON
INFRASTRUCTURE
....................................................................
243
10.3
APPLICATION
OF
LOADING
AND
STORING
SYMBOL
TABLES
.........................................
244
10.4
APPLICATION
OF
LANGUAGE
COMPOSITION
VIA
SYMBOL
TABLES
..............................
246
10.5
APPLICATION
OF
MONTICORE
LANGUAGE
COMPONENTS
...........................................
248
10.6
APPLICATION
OF
THE
FEATURE
DIAGRAM
LANGUAGE
FAMILY
..................................
249
10.7
EVALUATION
OF
THE
LCPL
.......................................................................................
251
11
CONCLUSION
253
11.1
SUMMARY
................................................................................................................
253
11.2
POTENTIAL
FOR
FUTURE
WORK
....................................................................................
254
BIBLIOGRAPHY
LIST
OF
FIGURES
257
275
|
adam_txt |
CONTENTS
1
INTRODUCTION
1
1.1
RESEARCH
QUESTION
&
OBJECTIVES
.
3
1.2
MAIN
RESULTS
AND
STRUCTURE
OF
THESIS
.
5
2
FOUNDATIONS
9
2.1
SOFTWARE
LANGUAGE
ENGINEERING
.
9
2.1.1
SOFTWARE
LANGUAGES
.
9
2.2
THE
MONTICORE
LANGUAGE
WORKBENCH
.
13
2.2.1
MONTICORE
GRAMMARS
.
15
2.2.2
ABSTRACT
SYNTAX
TREE
DATA
STRUCTURE
.
21
2.2.3
TRAVERSING
THE
ABSTRACT
SYNTAX
.
23
2.2.4
CONTEXT
CONDITIONS
.
25
2.2.5
IDENTIFYING
ARTIFACTS
IN
THE
FILE
SYSTEM
.
27
2.2.6
INSTANTIATING
THE
LANGUAGE
INFRASTRUCTURE
.
27
2.2.7
INTEGRATION
OF
HANDWRITTEN
CODE
.
27
2.2.8
LANGUAGE
COMPOSITION
.
29
2.3
SOFTWARE
PRODUCT
LINE
ENGINEERING
.
32
2.3.1
VARIABILITY
IN
SOFTWARE
AND
SOFTWARE
PRODUCT
LINES
.
33
2.3.2
SOFTWARE
REUSE
.
35
2.3.3
FEATURE
DIAGRAMS
.
36
3
METHOD
FOR
THE
SYSTEMATIC
COMPOSITION
OF
LANGUAGE
COMPONENTS
IN
MONTI
CORE
41
4
GENERATING
KIND-TYPED
SYMBOL
TABLE
INFRASTRUCTURES
45
4.1
CONCEPT
OF
KIND-TYPED
SYMBOL
TABLES
.
48
4.1.1
RELATIONSHIPS
BETWEEN
SYMBOLS,
SCOPES,
AND
AST
NODES
.
49
4.1.2
DEFINING
NAMES
VIA
SYMBOLS
.
50
4.1.3
CAPTURING
NAME
VISIBILITY
WITH
SCOPES
.
51
4.1.4
PROVIDING
ACCESS
TO
A
MODEL
'
S
SYMBOL
TABLE
WITH
ARTIFACT
SCOPES
54
4.1.5
BRIDGING
THE
GAP
BETWEEN
MODELS
WITH
GLOBAL
SCOPES
.
55
4.1.6
USING
MODEL
ELEMENTS
THROUGH
NAMES
.
56
4.1.7
TYPE
DEFINITIONS
AND
TYPE
EXPRESSIONS
.
58
4.1.8
SYMBOL
RESOLUTION
.
62
4.1.9
SYMBOL
TABLE
TRAVERSAL
.
69
4.1.10
SYMBOL
TABLE
INSTANTIATION
.
70
4.2
ANNOTATING
GRAMMARS
WITH
SYMBOL
TABLE
INFORMATION
.
73
4.2.1
INDICATE
THAT
A
NONTERMINAL
DEFINES
A
SYMBOL
KIND
.
73
4.2.2
INDICATE
THAT
A
NONTERMINAL
SPANS
A
SCOPE
.
75
4.2.3
INDICATE
THAT
A
NONTERMINAL
USES
THE
NAME
OF
A
SYMBOL
.
76
4.2.4
PROVIDING
SYMBOL
KIND
ATTRIBUTES
.
77
4.2.5
PROVIDING
SCOPE
ATTRIBUTES
.
79
4.3
IMPLEMENTATION
OF
THE
TYPED
SYMBOL
TABLE
INFRASTRUCTURE
.
80
4.3.1
IMPLEMENTATION
OF
LANGUAGE
MILLS
IN
MONTICORE
.
81
4.3.2
IMPLEMENTATION
OF
SCOPES
IN
MONTICORE
.
82
4.3.3
IMPLEMENTATION
OF
ARTIFACT
SCOPES
IN
MONTICORE
.
90
4.3.4
IMPLEMENTATION
OF
GLOBAL
SCOPES
IN
MONTICORE
.
92
4.3.5
IMPLEMENTATION
OF
SYMBOL
RESOLVERS
IN
MONTICORE
.
94
4.3.6
CUSTOMIZING
SYMBOL
RESOLUTION
.
95
4.3.7
REALIZATION
OF
SYMBOLS
IN
SYMBOL
CLASSES
.
96
4.3.8
INSTANTIATING
SYMBOL
TABLES
WITH
SCOPES
GENITORS
.
97
4.3.9
INSTANTIATING
SYMBOL
TABLES
OF
COMPOSED
LANGUAGES
WITH
SCOPES
GENITOR
DELEGATORS
.
99
4.4
DISCUSSION
.
99
4.5
RELATED
WORK
.
101
5
INFRASTRUCTURE
FOR
LOADING
AND
STORING
SYMBOL
TABLES
105
5.1
SERIALIZATION
IN
GENERAL
.
107
5.1.1
SERIALIZATION
AND
DESERIALIZATION
.
107
5.1.2
SERIALIZATION
STRATEGIES
.
108
5.1.3
SERIALIZATION
WITH
INTERMEDIATE
STRUCTURE
.
ILL
5.2
CONCEPT
FOR
SYMBOL
TABLE
PERSISTENCE
.
112
5.2.1
OVERVIEW
OF
SYMBOL
TABLE
PERSISTENCE
.
112
5.2.2
ORGANIZATION
OF
PERSISTED
FILES
.
114
5.2.3
CONCEPT
FOR
SYMBOL
TABLE
SERIALIZATION
AND
DESERIALIZATION
.
116
5.3
JSON
INFRASTRUCTURE
.
123
5.3.1
JSON
ABSTRACT
SYNTAX
MODEL
.
124
5.3.2
SERIALIZATION
INFRASTRUCTURE
.
128
5.3.3
DESERIALIZATION
INFRASTRUCTURE
.
130
5.4
REALIZATION
OF
LOADING
AND
STORING
OF
SYMBOL
TABLES
IN
MONTICORE
.
132
5.4.1
COMMONALITIES
OF
SYMBOL
DESERS
IN
THE
ISYMBOLDESER
INTERFACE
133
5.4.2
COMMONALITIES
OF
SCOPE
DESERS
IN
THE
IDESER
INTERFACE
.
134
5.4.3
THE
JSONDESERS
CLASS
.
137
5.4.4
SYMBOLS2JSON
CLASSES
FOR
TRAVERSING
SYMBOL
TABLES
.
137
5.4.5
SYMBOLDESER
CLASSES
WITH
SERIALIZATION
STRATEGIES
FOR
SYMBOLS
.
140
5.4.6
SCOPEDESER
CLASSES
WITH
SERIALIZATION
STRATEGIES
FOR
SCOPES
.
.
.
141
5.4.7
LOADING
AND
STORING
SYMBOL
TABLES
VIA
THE
GLOBAL
SCOPE
.
143
5.4.8
INTEGRATING
LOADING
OF
SYMBOL
TABLES
INTO
SYMBOL
RESOLUTION
.
.
.
145
5.4.9
SUPPORTING
STORING
OF
SYMBOL
TABLES
FOR
MODEL
PROCESSING
.
146
5.5
CUSTOMIZING
THE
PERSISTENCE
OF
SYMBOL
TABLES
IN
MONTICORE
.
147
5.5.1
PROVIDING
A
SERIALIZATION
STRATEGY
FOR
A
SYMBOL
ATTRIBUTE
.
147
5.5.2
OMITTING
SERIALIZATION
OF
SYMBOLS
OF
A
CERTAIN
KIND
.
148
5.5.3
REALIZING
SERIALIZATION
OF
AN
ADDITIONAL
SCOPE
ATTRIBUTE
.
149
5.5.4
LOAD
ASTS
TOGETHER
WITH
SYMBOL
TABLES
.
151
5.5.5
LOAD
SYMBOL
TABLES
OF
A
SINGLE
LANGUAGE
ONLY
.
152
5.5.6
LOAD
SYMBOLS
AS
INSTANCES
OF
THEIR
SUBKINDS
.
152
5.5.7
LOAD
SYMBOLS
AS
INSTANCES
OF
THEIR
SUPER
KINDS
.
153
5.6
DISCUSSION
.
153
5.7
RELATED
WORK
.
154
6
USING
TYPED
SYMBOL
TABLES
FOR
LANGUAGE
COMPOSITION
157
6.1
LANGUAGE
INHERITANCE
IN
THE
TYPED
SYMBOL
TABLE
INFRASTRUCTURE
.
157
6.1.1
LANGUAGE
INHERITANCE
OF
SCOPES
.
157
6.1.2
LANGUAGE
INHERITANCE
OF
SYMBOL
TABLE
CREATION
.
159
6.1.3
LANGUAGE
INHERITANCE
OF
SYMBOL
TABLE
PERSISTENCE
.
161
6.1.4
RECONFIGURATION
VIA
MILLS
.
162
6.2
ADAPTING
BETWEEN
SYMBOL
KINDS
.
163
6.2.1
CONCEPT
FOR
SYMBOL
ADAPTERS
.
164
6.2.2
FINDING
SYMBOL
ADAPTERS
DURING
SYMBOL
RESOLUTION
.
165
6.2.3
COMBINATION
OF
SYMBOL
ADAPTERS
AND
SYMBOL
PERSISTENCE
.
167
6.3
IMPORTING
SYMBOLS
FROM
JAVA
WITH
CLASS2MC
.
170
6.4
AGGREGATION
OF
LANGUAGES
.
173
6.4.1
AGGREGATION
THROUGH
SHARED
GRAMMAR
.
173
6.4.2
AGGREGATION
THROUGH
UNIFYING
GRAMMAR
.
174
6.4.3
AGGREGATION
THROUGH
RESOLVERS
.
174
6.4.4
AGGREGATION
THROUGH
SYMBOL
FILES
.
175
6.5
DISCUSSION
.
176
6.6
RELATED
WORK
.
176
7
LANGUAGE
COMPONENTS
179
7.1
LANGUAGE
COMPONENT
MODELS
.
181
7.2
MONTICORE
LANGUAGE
COMPONENT
DIAGRAMS
.
184
7.3
CONCEPT
FOR
IDENTIFYING
ARTIFACTS
OF
LANGUAGE
COMPONENTS
.
186
7.3.1
ADDRESS
ARTIFACTS
OF
A
LANGUAGE
COMPONENT
.
186
7.3.2
ARTIFACT
ANALYSIS
.
187
7.3.3
BUILDING
SELF-CONTAINED
LANGUAGE
COMPONENT
ARCHIVES
.
188
7.4
REALIZATION
OF
LANGUAGE
COMPONENTS
.
190
7.4.1
THE
MLC
LANGUAGE
.
190
7.4.2
TOOL
FOR
PROCESSING
MLC
MODELS
.
195
7.5
DISCUSSION
.
197
7.6
RELATED
WORK
.
199
8
THE
MONTICORE
FEATURE
DIAGRAM
LANGUAGE
FAMILY
201
8.1
THE
FEATURE
DIAGRAM
LANGUAGE
.
203
8.2
THE
FEATURE
CONFIGURATION
LANGUAGES
.
207
8.3
THE
FEATURE
DIAGRAM
ANALYSIS
TOOL
.
208
8.4
COMPOSING
FEATURE
MODELS
WITH
DOMAIN
MODELS
.
209
8.4.1
INTERNAL
FEATURE
REALIZATIONS
.
210
8.4.2
REFERRING
TO
FEATURE
REALIZATIONS
.
211
8.4.3
MAPPING
TO
FEATURE
REALIZATIONS
.
212
8.5
DISCUSSION
.
213
8.6
RELATED
WORK
.
214
9
ENGINEERING
FEATURE-ORIENTED
LANGUAGE
PRODUCT
LINES
WITH
MONTICORE
215
9.1
CONCEPT
OF
A
FEATURE-ORIENTED
LANGUAGE
PRODUCT
LINE
.
217
9.1.1
ENGINEERING
A
LANGUAGE
PRODUCT
LINE
.
217
9.1.2
ROLES
INVOLVED
IN
LANGUAGE
PRODUCT
LINES
.
219
9.1.3
DESCRIBING
THE
COMPOSITION
OF
LANGUAGE
COMPONENTS
.
221
9.1.4
LANGUAGE
VARIANT
DERIVATION
.
224
9.2
REALIZING
LANGUAGE
PRODUCT
LINES
IN
MONTICORE
.
226
9.2.1
THE
LANGUAGE
PRODUCT
LINE
LANGUAGE
.
227
9.2.2
THE
COMPOSITION
INFRASTRUCTURE
.
229
9.3
DISCUSSION
.
231
9.4
RELATED
WORK
.
237
10
APPLICATION-BASED
EVALUATION
241
10.1
APPLICATION
OF
THE
STI
.
242
10.2
PERFORMANCE
OF
JSON
INFRASTRUCTURE
.
243
10.3
APPLICATION
OF
LOADING
AND
STORING
SYMBOL
TABLES
.
244
10.4
APPLICATION
OF
LANGUAGE
COMPOSITION
VIA
SYMBOL
TABLES
.
246
10.5
APPLICATION
OF
MONTICORE
LANGUAGE
COMPONENTS
.
248
10.6
APPLICATION
OF
THE
FEATURE
DIAGRAM
LANGUAGE
FAMILY
.
249
10.7
EVALUATION
OF
THE
LCPL
.
251
11
CONCLUSION
253
11.1
SUMMARY
.
253
11.2
POTENTIAL
FOR
FUTURE
WORK
.
254
BIBLIOGRAPHY
LIST
OF
FIGURES
257
275 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Butting, Arvid |
author_GND | (DE-588)1181240875 |
author_facet | Butting, Arvid |
author_role | aut |
author_sort | Butting, Arvid |
author_variant | a b ab |
building | Verbundindex |
bvnumber | BV048877668 |
classification_rvk | ST 136 |
ctrlnum | (OCoLC)1378503093 (DE-599)DNB1277761159 |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Thesis Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02595nam a22006018cb4500</leader><controlfield tag="001">BV048877668</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20230425 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">230327s2023 gw a||| m||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">23,N03</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1277761159</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783844089363</subfield><subfield code="c">: EUR 39.80 (DE), EUR 39.80 (AT), CHF 49.80 (freier Preis)</subfield><subfield code="9">978-3-8440-8936-3</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3844089365</subfield><subfield code="9">3-8440-8936-5</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783844089363</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1378503093</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1277761159</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-83</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 136</subfield><subfield code="0">(DE-625)143591:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="8">1\p</subfield><subfield code="a">004</subfield><subfield code="2">23sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Butting, Arvid</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1181240875</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Systematic composition of language components in MontiCore</subfield><subfield code="c">Arvid Butting</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Düren</subfield><subfield code="b">Shaker Verlag</subfield><subfield code="c">2023</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xiii, 321 Seiten</subfield><subfield code="b">129 Illustrationen</subfield><subfield code="c">24 cm x 17 cm, 509 g</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="1" ind2=" "><subfield code="a">Aachener Informatik Berichte, Software Engineering</subfield><subfield code="v">Band 53</subfield></datafield><datafield tag="502" ind1=" " ind2=" "><subfield code="b">Dissertation</subfield><subfield code="c">RWTH Aachen University</subfield><subfield code="d">2022</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Modellgetriebene Entwicklung</subfield><subfield code="0">(DE-588)4832365-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</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">Komposition</subfield><subfield code="g">Wortbildung</subfield><subfield code="0">(DE-588)4394616-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Symboltabelle</subfield><subfield code="0">(DE-588)4723266-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Software Language Engineering</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Domain-Specific Modeling Languages</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Language Product Lines</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Symbol Tables</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Language Reusability</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Language Variability</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="0">(DE-588)4113937-9</subfield><subfield code="a">Hochschulschrift</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Modellgetriebene Entwicklung</subfield><subfield code="0">(DE-588)4832365-2</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="2"><subfield code="a">Symboltabelle</subfield><subfield code="0">(DE-588)4723266-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">Komposition</subfield><subfield code="g">Wortbildung</subfield><subfield code="0">(DE-588)4394616-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Shaker Verlag</subfield><subfield code="0">(DE-588)1064118135</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Aachener Informatik Berichte, Software Engineering</subfield><subfield code="v">Band 53</subfield><subfield code="w">(DE-604)BV040516036</subfield><subfield code="9">53</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</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=034142456&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-034142456</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">vlb</subfield><subfield code="d">20230111</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#vlb</subfield></datafield></record></collection> |
genre | (DE-588)4113937-9 Hochschulschrift gnd-content |
genre_facet | Hochschulschrift |
id | DE-604.BV048877668 |
illustrated | Illustrated |
index_date | 2024-07-03T21:45:20Z |
indexdate | 2024-07-10T09:48:35Z |
institution | BVB |
institution_GND | (DE-588)1064118135 |
isbn | 9783844089363 3844089365 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-034142456 |
oclc_num | 1378503093 |
open_access_boolean | |
owner | DE-83 |
owner_facet | DE-83 |
physical | xiii, 321 Seiten 129 Illustrationen 24 cm x 17 cm, 509 g |
publishDate | 2023 |
publishDateSearch | 2023 |
publishDateSort | 2023 |
publisher | Shaker Verlag |
record_format | marc |
series | Aachener Informatik Berichte, Software Engineering |
series2 | Aachener Informatik Berichte, Software Engineering |
spelling | Butting, Arvid Verfasser (DE-588)1181240875 aut Systematic composition of language components in MontiCore Arvid Butting Düren Shaker Verlag 2023 xiii, 321 Seiten 129 Illustrationen 24 cm x 17 cm, 509 g txt rdacontent n rdamedia nc rdacarrier Aachener Informatik Berichte, Software Engineering Band 53 Dissertation RWTH Aachen University 2022 Modellgetriebene Entwicklung (DE-588)4832365-2 gnd rswk-swf Domänenspezifische Programmiersprache (DE-588)7585264-0 gnd rswk-swf Komposition Wortbildung (DE-588)4394616-1 gnd rswk-swf Symboltabelle (DE-588)4723266-3 gnd rswk-swf Software Language Engineering Domain-Specific Modeling Languages Language Product Lines Symbol Tables Language Reusability Language Variability (DE-588)4113937-9 Hochschulschrift gnd-content Modellgetriebene Entwicklung (DE-588)4832365-2 s Domänenspezifische Programmiersprache (DE-588)7585264-0 s Symboltabelle (DE-588)4723266-3 s Komposition Wortbildung (DE-588)4394616-1 s DE-604 Shaker Verlag (DE-588)1064118135 pbl Aachener Informatik Berichte, Software Engineering Band 53 (DE-604)BV040516036 53 DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034142456&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p vlb 20230111 DE-101 https://d-nb.info/provenance/plan#vlb |
spellingShingle | Butting, Arvid Systematic composition of language components in MontiCore Aachener Informatik Berichte, Software Engineering Modellgetriebene Entwicklung (DE-588)4832365-2 gnd Domänenspezifische Programmiersprache (DE-588)7585264-0 gnd Komposition Wortbildung (DE-588)4394616-1 gnd Symboltabelle (DE-588)4723266-3 gnd |
subject_GND | (DE-588)4832365-2 (DE-588)7585264-0 (DE-588)4394616-1 (DE-588)4723266-3 (DE-588)4113937-9 |
title | Systematic composition of language components in MontiCore |
title_auth | Systematic composition of language components in MontiCore |
title_exact_search | Systematic composition of language components in MontiCore |
title_exact_search_txtP | Systematic composition of language components in MontiCore |
title_full | Systematic composition of language components in MontiCore Arvid Butting |
title_fullStr | Systematic composition of language components in MontiCore Arvid Butting |
title_full_unstemmed | Systematic composition of language components in MontiCore Arvid Butting |
title_short | Systematic composition of language components in MontiCore |
title_sort | systematic composition of language components in monticore |
topic | Modellgetriebene Entwicklung (DE-588)4832365-2 gnd Domänenspezifische Programmiersprache (DE-588)7585264-0 gnd Komposition Wortbildung (DE-588)4394616-1 gnd Symboltabelle (DE-588)4723266-3 gnd |
topic_facet | Modellgetriebene Entwicklung Domänenspezifische Programmiersprache Komposition Wortbildung Symboltabelle Hochschulschrift |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034142456&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
volume_link | (DE-604)BV040516036 |
work_keys_str_mv | AT buttingarvid systematiccompositionoflanguagecomponentsinmonticore AT shakerverlag systematiccompositionoflanguagecomponentsinmonticore |