Generative Programming and Active Libraries View Full Text


Ontology type: schema:Chapter     


Chapter Info

DATE

2000

AUTHORS

Krzysztof Czarnecki , Ulrich Eisenecker , Robert Glück , David Vandevoorde , Todd Veldhuizen

ABSTRACT

We describe generative programming, an approach to generating customized programming components or systems, and active libraries, which are based on this approach. In contrast to conventional libraries, active libraries may contain metaprograms that implement domain-specific code generation, optimizations, debugging, profiling and testing. Several working examples (Blitz++, GMCL, Xroma) are presented to illustrate the potential of active libraries. We discuss relevant implementation technologies. More... »

PAGES

25-39

Identifiers

URI

http://scigraph.springernature.com/pub.10.1007/3-540-39953-4_3

DOI

http://dx.doi.org/10.1007/3-540-39953-4_3

DIMENSIONS

https://app.dimensions.ai/details/publication/pub.1003874952


Indexing Status Check whether this publication has been indexed by Scopus and Web Of Science using the SN Indexing Status Tool
Incoming Citations Browse incoming citations for this publication using opencitations.net

JSON-LD is the canonical representation for SciGraph data.

TIP: You can open this SciGraph record using an external JSON-LD service: JSON-LD Playground Google SDTT

[
  {
    "@context": "https://springernature.github.io/scigraph/jsonld/sgcontext.json", 
    "about": [
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/08", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Information and Computing Sciences", 
        "type": "DefinedTerm"
      }, 
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/0803", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Computer Software", 
        "type": "DefinedTerm"
      }
    ], 
    "author": [
      {
        "affiliation": {
          "alternateName": "Research and Technology, DaimlerChrysler AG, Ulm", 
          "id": "http://www.grid.ac/institutes/grid.5433.1", 
          "name": [
            "Research and Technology, DaimlerChrysler AG, Ulm"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Czarnecki", 
        "givenName": "Krzysztof", 
        "id": "sg:person.014003574445.45", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014003574445.45"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Fachhochschule Heidelberg, Heidelberg", 
          "id": "http://www.grid.ac/institutes/None", 
          "name": [
            "Fachhochschule Heidelberg, Heidelberg"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Eisenecker", 
        "givenName": "Ulrich", 
        "id": "sg:person.015702473773.69", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015702473773.69"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Dept. of Computer Science, University of Copenhagen, Copenhagen", 
          "id": "http://www.grid.ac/institutes/grid.5254.6", 
          "name": [
            "Dept. of Computer Science, University of Copenhagen, Copenhagen"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Gl\u00fcck", 
        "givenName": "Robert", 
        "id": "sg:person.010754010217.31", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.010754010217.31"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Edison Design Group, USA", 
          "id": "http://www.grid.ac/institutes/None", 
          "name": [
            "Edison Design Group, USA"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Vandevoorde", 
        "givenName": "David", 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Computer Science Dept., Indiana University, USA", 
          "id": "http://www.grid.ac/institutes/grid.257410.5", 
          "name": [
            "Computer Science Dept., Indiana University, USA"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Veldhuizen", 
        "givenName": "Todd", 
        "id": "sg:person.015240737073.65", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015240737073.65"
        ], 
        "type": "Person"
      }
    ], 
    "datePublished": "2000", 
    "datePublishedReg": "2000-01-01", 
    "description": "We describe generative programming, an approach to generating customized programming components or systems, and active libraries, which are based on this approach. In contrast to conventional libraries, active libraries may contain metaprograms that implement domain-specific code generation, optimizations, debugging, profiling and testing. Several working examples (Blitz++, GMCL, Xroma) are presented to illustrate the potential of active libraries. We discuss relevant implementation technologies.", 
    "editor": [
      {
        "familyName": "Jazayeri", 
        "givenName": "Mehdi", 
        "type": "Person"
      }, 
      {
        "familyName": "Loos", 
        "givenName": "R\u00fcdiger G. K.", 
        "type": "Person"
      }, 
      {
        "familyName": "Musser", 
        "givenName": "David R.", 
        "type": "Person"
      }
    ], 
    "genre": "chapter", 
    "id": "sg:pub.10.1007/3-540-39953-4_3", 
    "inLanguage": "en", 
    "isAccessibleForFree": false, 
    "isPartOf": {
      "isbn": [
        "978-3-540-41090-4", 
        "978-3-540-39953-7"
      ], 
      "name": "Generic Programming", 
      "type": "Book"
    }, 
    "keywords": [
      "active libraries", 
      "generative programming", 
      "code generation", 
      "implementation technology", 
      "programming components", 
      "conventional libraries", 
      "programming", 
      "library", 
      "metaprograms", 
      "technology", 
      "optimization", 
      "system", 
      "example", 
      "generation", 
      "components", 
      "testing", 
      "profiling", 
      "potential", 
      "contrast", 
      "approach", 
      "domain-specific code generation", 
      "relevant implementation technologies"
    ], 
    "name": "Generative Programming and Active Libraries", 
    "pagination": "25-39", 
    "productId": [
      {
        "name": "dimensions_id", 
        "type": "PropertyValue", 
        "value": [
          "pub.1003874952"
        ]
      }, 
      {
        "name": "doi", 
        "type": "PropertyValue", 
        "value": [
          "10.1007/3-540-39953-4_3"
        ]
      }
    ], 
    "publisher": {
      "name": "Springer Nature", 
      "type": "Organisation"
    }, 
    "sameAs": [
      "https://doi.org/10.1007/3-540-39953-4_3", 
      "https://app.dimensions.ai/details/publication/pub.1003874952"
    ], 
    "sdDataset": "chapters", 
    "sdDatePublished": "2021-11-01T18:50", 
    "sdLicense": "https://scigraph.springernature.com/explorer/license/", 
    "sdPublisher": {
      "name": "Springer Nature - SN SciGraph project", 
      "type": "Organization"
    }, 
    "sdSource": "s3://com-springernature-scigraph/baseset/20211101/entities/gbq_results/chapter/chapter_197.jsonl", 
    "type": "Chapter", 
    "url": "https://doi.org/10.1007/3-540-39953-4_3"
  }
]
 

Download the RDF metadata as:  json-ld nt turtle xml License info

HOW TO GET THIS DATA PROGRAMMATICALLY:

JSON-LD is a popular format for linked data which is fully compatible with JSON.

curl -H 'Accept: application/ld+json' 'https://scigraph.springernature.com/pub.10.1007/3-540-39953-4_3'

N-Triples is a line-based linked data format ideal for batch operations.

curl -H 'Accept: application/n-triples' 'https://scigraph.springernature.com/pub.10.1007/3-540-39953-4_3'

Turtle is a human-readable linked data format.

curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/3-540-39953-4_3'

RDF/XML is a standard XML format for linked data.

curl -H 'Accept: application/rdf+xml' 'https://scigraph.springernature.com/pub.10.1007/3-540-39953-4_3'


 

This table displays all metadata directly associated to this object as RDF triples.

130 TRIPLES      23 PREDICATES      48 URIs      41 LITERALS      7 BLANK NODES

Subject Predicate Object
1 sg:pub.10.1007/3-540-39953-4_3 schema:about anzsrc-for:08
2 anzsrc-for:0803
3 schema:author N68ba1e9e988c4c2aaaccbd2c98434e7e
4 schema:datePublished 2000
5 schema:datePublishedReg 2000-01-01
6 schema:description We describe generative programming, an approach to generating customized programming components or systems, and active libraries, which are based on this approach. In contrast to conventional libraries, active libraries may contain metaprograms that implement domain-specific code generation, optimizations, debugging, profiling and testing. Several working examples (Blitz++, GMCL, Xroma) are presented to illustrate the potential of active libraries. We discuss relevant implementation technologies.
7 schema:editor N40987824d7ed45ac833a80f0339d2210
8 schema:genre chapter
9 schema:inLanguage en
10 schema:isAccessibleForFree false
11 schema:isPartOf N422063d3746541b9b9e1e9a2c33450ad
12 schema:keywords active libraries
13 approach
14 code generation
15 components
16 contrast
17 conventional libraries
18 domain-specific code generation
19 example
20 generation
21 generative programming
22 implementation technology
23 library
24 metaprograms
25 optimization
26 potential
27 profiling
28 programming
29 programming components
30 relevant implementation technologies
31 system
32 technology
33 testing
34 schema:name Generative Programming and Active Libraries
35 schema:pagination 25-39
36 schema:productId Ne2a0159575cd4fad8f6cd0dd5b0e97cd
37 Nfaad523e546d4ae7ba454aa8bd50f75d
38 schema:publisher Nc9eea3be2531413a81939dcf83a1c081
39 schema:sameAs https://app.dimensions.ai/details/publication/pub.1003874952
40 https://doi.org/10.1007/3-540-39953-4_3
41 schema:sdDatePublished 2021-11-01T18:50
42 schema:sdLicense https://scigraph.springernature.com/explorer/license/
43 schema:sdPublisher Na8f85850542f482481a3685f7be3cf8d
44 schema:url https://doi.org/10.1007/3-540-39953-4_3
45 sgo:license sg:explorer/license/
46 sgo:sdDataset chapters
47 rdf:type schema:Chapter
48 N0cad446f21084505988cdfb8f734d1e4 rdf:first sg:person.015702473773.69
49 rdf:rest N659951dfe56e40ae8b2e7721ce0d5fb4
50 N33cc15b7c99f450fa30e84019d840dc1 schema:familyName Musser
51 schema:givenName David R.
52 rdf:type schema:Person
53 N40987824d7ed45ac833a80f0339d2210 rdf:first Ndbc6fc6c4fe64463b850c2ae6cad48ab
54 rdf:rest N84443b7b0f754e3c9d48af126595cdf5
55 N422063d3746541b9b9e1e9a2c33450ad schema:isbn 978-3-540-39953-7
56 978-3-540-41090-4
57 schema:name Generic Programming
58 rdf:type schema:Book
59 N659951dfe56e40ae8b2e7721ce0d5fb4 rdf:first sg:person.010754010217.31
60 rdf:rest N7916c25ae3c84bee8276701f061cbbe0
61 N68ba1e9e988c4c2aaaccbd2c98434e7e rdf:first sg:person.014003574445.45
62 rdf:rest N0cad446f21084505988cdfb8f734d1e4
63 N7916c25ae3c84bee8276701f061cbbe0 rdf:first Nb3a88199bd0b45f9a176403e766aaeed
64 rdf:rest Ncf5a6b84731549db884f3c15825ba1cc
65 N84443b7b0f754e3c9d48af126595cdf5 rdf:first N9b38a496eb484c09ac590a27e0dc4472
66 rdf:rest N852b401ab79c46879632221b7677748a
67 N852b401ab79c46879632221b7677748a rdf:first N33cc15b7c99f450fa30e84019d840dc1
68 rdf:rest rdf:nil
69 N9b38a496eb484c09ac590a27e0dc4472 schema:familyName Loos
70 schema:givenName Rüdiger G. K.
71 rdf:type schema:Person
72 Na8f85850542f482481a3685f7be3cf8d schema:name Springer Nature - SN SciGraph project
73 rdf:type schema:Organization
74 Nb3a88199bd0b45f9a176403e766aaeed schema:affiliation grid-institutes:None
75 schema:familyName Vandevoorde
76 schema:givenName David
77 rdf:type schema:Person
78 Nc9eea3be2531413a81939dcf83a1c081 schema:name Springer Nature
79 rdf:type schema:Organisation
80 Ncf5a6b84731549db884f3c15825ba1cc rdf:first sg:person.015240737073.65
81 rdf:rest rdf:nil
82 Ndbc6fc6c4fe64463b850c2ae6cad48ab schema:familyName Jazayeri
83 schema:givenName Mehdi
84 rdf:type schema:Person
85 Ne2a0159575cd4fad8f6cd0dd5b0e97cd schema:name doi
86 schema:value 10.1007/3-540-39953-4_3
87 rdf:type schema:PropertyValue
88 Nfaad523e546d4ae7ba454aa8bd50f75d schema:name dimensions_id
89 schema:value pub.1003874952
90 rdf:type schema:PropertyValue
91 anzsrc-for:08 schema:inDefinedTermSet anzsrc-for:
92 schema:name Information and Computing Sciences
93 rdf:type schema:DefinedTerm
94 anzsrc-for:0803 schema:inDefinedTermSet anzsrc-for:
95 schema:name Computer Software
96 rdf:type schema:DefinedTerm
97 sg:person.010754010217.31 schema:affiliation grid-institutes:grid.5254.6
98 schema:familyName Glück
99 schema:givenName Robert
100 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.010754010217.31
101 rdf:type schema:Person
102 sg:person.014003574445.45 schema:affiliation grid-institutes:grid.5433.1
103 schema:familyName Czarnecki
104 schema:givenName Krzysztof
105 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014003574445.45
106 rdf:type schema:Person
107 sg:person.015240737073.65 schema:affiliation grid-institutes:grid.257410.5
108 schema:familyName Veldhuizen
109 schema:givenName Todd
110 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015240737073.65
111 rdf:type schema:Person
112 sg:person.015702473773.69 schema:affiliation grid-institutes:None
113 schema:familyName Eisenecker
114 schema:givenName Ulrich
115 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015702473773.69
116 rdf:type schema:Person
117 grid-institutes:None schema:alternateName Edison Design Group, USA
118 Fachhochschule Heidelberg, Heidelberg
119 schema:name Edison Design Group, USA
120 Fachhochschule Heidelberg, Heidelberg
121 rdf:type schema:Organization
122 grid-institutes:grid.257410.5 schema:alternateName Computer Science Dept., Indiana University, USA
123 schema:name Computer Science Dept., Indiana University, USA
124 rdf:type schema:Organization
125 grid-institutes:grid.5254.6 schema:alternateName Dept. of Computer Science, University of Copenhagen, Copenhagen
126 schema:name Dept. of Computer Science, University of Copenhagen, Copenhagen
127 rdf:type schema:Organization
128 grid-institutes:grid.5433.1 schema:alternateName Research and Technology, DaimlerChrysler AG, Ulm
129 schema:name Research and Technology, DaimlerChrysler AG, Ulm
130 rdf:type schema:Organization
 




Preview window. Press ESC to close (or click here)


...