Compiling ESTEREL:
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Dordrecht, The Netherlands
Springer
[2007]
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | xxi, 335 Seiten Diagramme |
ISBN: | 9780387706269 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV044416284 | ||
003 | DE-604 | ||
005 | 20180227 | ||
007 | t | ||
008 | 170719s2007 xxu|||| |||| 00||| eng d | ||
020 | |a 9780387706269 |c hbk |9 978-0-387-70626-9 | ||
035 | |a (OCoLC)255965786 | ||
035 | |a (DE-599)BVBBV044416284 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-384 |a DE-473 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 255 |0 (DE-625)143629: |2 rvk | ||
100 | 1 | |a Potop-Butucaru, Dumitru |e Verfasser |4 aut | |
245 | 1 | 0 | |a Compiling ESTEREL |c Dumitru Potop-Butucaru, Stephen A. Edwards, Gerard Berry |
264 | 1 | |a Dordrecht, The Netherlands |b Springer |c [2007] | |
300 | |a xxi, 335 Seiten |b Diagramme | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 4 | |a Compiling (Electronic computers) | |
650 | 4 | |a Esterel (Computer program language) | |
650 | 0 | 7 | |a Programmiersprache |0 (DE-588)4047409-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Eingebettetes System |0 (DE-588)4396978-1 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Programmiersprache |0 (DE-588)4047409-4 |D s |
689 | 0 | 1 | |a Eingebettetes System |0 (DE-588)4396978-1 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Edwards, Stephen A. |d 1970- |e Verfasser |0 (DE-588)13405394X |4 aut | |
700 | 1 | |a Berry, Gérard |e Verfasser |4 aut | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe, e-book |z 978-0-387-70628-3 |
856 | 4 | 2 | |m Digitalisierung UB Bamberg - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029817978&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-029817978 |
Datensatz im Suchindex
_version_ | 1804177708560678912 |
---|---|
adam_text | Contents
Preface vii
I The Esterel Language
1 Introduction to Esterel 3
1.1 Reactive Systems.......................................... 3
1.2 The Synchronous Hypothesis................................ 4
1.3 Implementation Issues..................................... 5
1.4 Causality................................................. 6
1.5 Related work ............................................. 6
1.6 A First Esterel Example................................... 7
1.7 Causality Cycles.......................................... 8
1.8 Code Generation........................................... 9
1.8.1 Translation to Explicit State Machines.............. 9
1.8.2 Translation to Circuits............................ 10
1.8.3 Direct Compilation to C Code ...................... 12
1.9 Executing the Generated Code............................. 12
1.9.1 Existing Solutions................................. 13
2 The Esterel Language 15
2.1 Syntax and Naive Semantic Principles..................... 15
2.2 The Kernel Esterel Language.............................. 20
2.3 Esterel Through Examples ................................ 24
2.4 Host Language............................................ 31
2.5 Program Structure and Interface.......................... 31
2.5.1 Data Handling...................................... 32
2.5.2 Signal and Signal Relation Declarations............ 34
2.5.3 The run Pseudo-Statement........................... 34
xi
xii CONTENTS
II Formal Semantics
3 Introduction to Esterel Semantics 41
3.1 Intuition and Mathematical Foundations ................... 41
3.1.1 The Constructive Approach.......................... 43
3.2 Flavors of Constructive Semantics ........................ 47
3.3 Conventions and Preliminary Definitions................... 50
3.3.1 Global Correctness of an Esterel Program........... 50
3.3.2 Restriction to Kernel Esterel...................... 51
3.3.3 Signal Events...................................... 51
3.3.4 Trap Handling and Completion Codes................. 51
4 Constructive Behavioral Semantics 55
4.1 Behavioral Transitions.................................... 55
4.1.1 Transition syntax................................ 55
4.1.2 States as Decorated Terms ......................... 56
4.1.3 State Syntax....................................... 57
4.2 Analysis of Potentials ................................... 58
4.2.1 The Definition of Must, Cany and Can+.............. 60
4.2.2 Elementary Properties............................ 68
4.3 Semantic Rules.......................................... 68
4.4 Proof..................................................... 72
4.5 Determinism .............................................. 72
4.6 Loop-Safe Programs. Completion Code Potentials ........... 73
4.7 Program Behavior.......................................... 75
5 Constructive Operational Semantics 79
5.1 Microsteps.............................................. 80
5.2 COS Terms................................................. 80
5.2.1 Control Flow Propagation........................... 81
5.2.2 State-Dependent Behavior........................... 81
5.2.3 Syntax of Semantic Terms........................... 82
5.3 Data Representation....................................... 84
5.4 Semantic Rules............................................ 85
5.4.1 Rules for Pure Esterel Primitives.................. 85
5.4.2 Rules for Data-Handling Primitives................. 92
5.5 Analysis of Potentials ................................... 95
5.5.1 Reduction to Non-Dotted Terms...................... 96
5.5.2 Non-Dotted Terms over Dataless Primitives.......... 97
5.5.3 Non-Dotted Terms over Data-Handling Primitives . . 99
5.6 Behaviors as Sequences of Microsteps ................. . . 99
5.7 COS versus CBS........................................... 101
CONTENTS
Xlll
6 Constructive Circuit Translation 103
6.1 Digital Circuits with Data.................................. 104
6.1.1 Circuit Semantics. Constructive Causality............ 104
6.1.2 Extension to Circuits with Data...................... 107
6.1.3 Formal Definitions................................... 110
6.2 Translation Principles...................................... 112
6.2.1 The Selection Circuit .............................. 114
6.2.2 The Surface and Depth Circuits ..................... 115
6.2.3 The Global Context.................................. 116
6.3 Translation Rules........................................... 117
6.3.1 Dataless Primitives.................................. 117
6.3.2 Data-Handling Primitives............................. 126
6.4 Circuit Translation versus COS.............................. 128
III Compiling Estere!
7 Overview 135
7.1 Compiler Classes......................................... 135
7.2 A Brief History......................................... 136
7.3 The INRIA Compiler ...................................... 137
7.4 The Synopsys Compiler.................................... 139
7.5 The Saxo-RT Compiler.................................... 140
7.6 The Columbia Esterel Compiler............................ 144
8 The GRC Intermediate Format 145
8.1 Definition and Intuitive Semantics....................... 146
8.1.1 The Hierarchical State Representation ............. 146
8.1.2 The Control/Data Flowgraph........................ 149
8.1.3 Implementation Issues.............................. 154
8.2 Esterel to GRC Translation............................... 158
8.2.1 Translation Principles............................. 158
8.2.2 Translation Rules.................................. 159
8.2.3 The Global Context................................. 167
8.3 Formal Simulation Semantics and Translation Correctness . 167
8.4 Format Optimizations..................................... 168
8.4.1 State Representation Analysis...................... 170
8.4.2 Flowgraph Optimizations............................ 173
9 Code Generation from GRC 179
9.1 Defining “Acyclic”....................................... 180
9.2 Code Generation for Acyclic Specifications ............. 185
9.2.1 State Encoding..................................... 185
9.2.2 Flowgraph Transformations.......................... 190
9.2.3 Scheduling ........................................ 192
XIV
CONTENTS
9.3 Code Generation for Cyclic Specifications................. 193
9.4 Benchmarks.................................................200
10 The Columbia Compiler 203
10.1 The Dynamic Technique......................................203
10.1.1 An Example ........................................204
10.1.2 Sequential Code Generation.........................211
10.1.3 The Clustering Algorithm...........................214
10.2 The Program Dependence Graph Approach......................215
10.2.1 Program Dependence Graphs..........................216
10.2.2 Scheduling ........................................218
10.2.3 Restructuring the PDG..............................221
10.2.4 Generating Sequential Code.........................228
10.3 Benchmarks................................................ 229
A Language Extensions 235
A.l Signal Expressions..........................................235
A.1.1 Syntactic Aspects and Limitations..................236
A. 1.2 Combinational Expressions..........................236
A. 1.3 The pre Operator...................................238
A. 1.4 Delay Expressions. Preemption Triggers.............241
A.2 Traps and Trap Expressions..................................242
A.2.1 Concurrent Traps and Trap Expressions..............243
A.2.2 Valued Traps..................................... 244
A.3 The finalize Statement .....................................245
A. 4 Tasks ................................................... 247
A.4.1 Task Synchronization Semantics.....................248
A. 4.2 Multiple exec......................................251
B An Esterel Reference Manual 253
B. l Lexical Conventions.......................................253
B. 1.1 Tokens............................................ 253
B.l.2 Comments...........................................253
B.1.3 Identifiers........................................253
B.l.4 Reserved Words ....................................254
B.1.5 Literals...........................................254
B.2 Namespaces and Predefined Objects...........................255
B.2.1 Signals and Sensors .............................. 256
B.2.2 Variables and Constants............................256
B.2.3 Traps..............................................256
B.2.4 Types............................................. 257
B.2.5 Functions and Procedures...........................257
B.2.6 Tasks............................................. 257
B.3 Expressions................................................ 258
B.3.1 Data Expressions.................................. 258
CONTENTS
XV
B.3.2 Constant Atoms........................................ 258
B.3.3 Signal Expressions.................................... 259
B.3.4 Delay Expressions..................................... 259
B.3.5 Trap Expressions...................................... 259
B.4 Statements...................................................260
B.4.1 Control Flow Operators................................ 260
B.4.2 abort: Strong Preemption.............................. 261
B.4.3 await: Strong Preemption.............................. 262
B.4.4 call: Procedure Call ................................. 264
B.4.5 do-upto: Conditional Iteration (deprecated) ...........264
B.4.6 do-watching: Strong Preemption (deprecated) .... 264
B.4.7 emit: Signal Emission................................. 264
B.4.8 every-do: Conditional Iteration....................... 265
B.4.9 exec: Task Execution.................................. 265
B.4.10 exit: Trap Exit...................................... 266
B.4.11 halt: Wait Forever................................... 266
B.4.12 if: Conditional for Data ............................ 266
B.4.13 loop: Infinite Loop.................................. 267
B.4.14 loop-each: Conditional Iteration..................... 267
B.4.15 nothing: No Operation................................ 268
B.4.16 pause: Unit Delay.................................... 268
B.4.17 present: Conditional for Signals......................268
B.4.18 repeat: Iterate a Fixed Number of Times...............269
B.4.19 rim: Module Instantiation.............................270
B.4.20 signal: Local Signal Declaration...................271
B.4.21 suspend: Preemption with State Freeze..............272
B.4.22 sustain: Emit a Signal Indefinitely................273
B.4.23 trap: Trap Declaration and Handling................273
B.4.24 var: Local Variable Declaration.......................273
B.4.25 weak abort: Weak Preemption.......................... 274
B. 5 Modules..................................................... 275
B. 5.1 Interface Declarations............................... 276
C The C Language Interface 281
C. l Overview.................................................... 281
C.2 C Code for Data Handling.....................................283
C. 2.1 Defining Data-handling Objects....................... 283
C.2.2 Predefined Types...................................... 283
C.2.3 User-defined Types.................................... 283
C.2.4 Constants............................................. 286
C.2.5 Functions..............................................286
C.2.6 Procedures.............................................287
C.3 The Reaction Interface...................................... 288
C.3.1 Input Signals......................................... 288
C.3.2 Return Signals........................................ 289
XVI
CONTENTS
C.3.3 Output Signals........................................289
C.3.4 Inputoutput Signals...................................289
C.3.5 Sensors..............................................290
C.3.6 Reaction and Reset....................................290
C.3.7 Notes ...............................................291
C. 4 Task Handling ..............................................292
C.4.1 The Low-level Layer: ExecStatus.......................292
C. 4.2 The Functional Interface to Tasks ...................295
D Esterel V7 297
D. l Data Support................................................298
D. 1.1 Basic Data Types ................................... 298
D.1.2 Arrays...............................................298
D.l.3 Generic Types........................................299
D.l. 4 Bit vectors..........................................299
D.l.5 From Numbers to Bitvectors and Back..................300
D.1.6 Data Units.......................................... 300
D.2 Signals.....................................................301
D.2.1 Value-only Signals...................................301
D.2.2 Temporary Signals................................... 301
D.2.3 Registered Signals.................................. 301
D.2.4 Signal Initialization ............................. 302
D.2.5 Oracles............................................. 302
D.3 Interfaces................................................. 303
D.3.1 Interface Declaration............................... 303
D.3.2 Interfaces and Modules . ........................... 303
D.3.3 Mirroring an Interface.............................. 304
D.3.4 Interface Refinement in Modules......................304
D.4 Statements................................................. 304
D.4.1 Expressions and Tests............................... 304
D.4.2 Static Replication ..................................304
D.4.3 Enhanced Emit and Sustain Statements.................305
D.4.4 Explicit and Implicit Assertions.....................306
D.4.5 Weak Suspension......................................307
D.4.6 Signal Connection by Module Instantiation............309
D.5 Multiclock Design ......................................... 310
D.5.1 Clocks and Multiple Units ...........................311
D.5.2 Simulation of Multiclock Designs by Single-clocked
Designs..............................................312
Bibliography 315
Index
323
|
any_adam_object | 1 |
author | Potop-Butucaru, Dumitru Edwards, Stephen A. 1970- Berry, Gérard |
author_GND | (DE-588)13405394X |
author_facet | Potop-Butucaru, Dumitru Edwards, Stephen A. 1970- Berry, Gérard |
author_role | aut aut aut |
author_sort | Potop-Butucaru, Dumitru |
author_variant | d p b dpb s a e sa sae g b gb |
building | Verbundindex |
bvnumber | BV044416284 |
classification_rvk | ST 250 ST 255 |
ctrlnum | (OCoLC)255965786 (DE-599)BVBBV044416284 |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01749nam a2200421zc 4500</leader><controlfield tag="001">BV044416284</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20180227 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">170719s2007 xxu|||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780387706269</subfield><subfield code="c">hbk</subfield><subfield code="9">978-0-387-70626-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)255965786</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV044416284</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">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-384</subfield><subfield code="a">DE-473</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 255</subfield><subfield code="0">(DE-625)143629:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Potop-Butucaru, Dumitru</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Compiling ESTEREL</subfield><subfield code="c">Dumitru Potop-Butucaru, Stephen A. Edwards, Gerard Berry</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Dordrecht, The Netherlands</subfield><subfield code="b">Springer</subfield><subfield code="c">[2007]</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxi, 335 Seiten</subfield><subfield code="b">Diagramme</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="650" ind1=" " ind2="4"><subfield code="a">Compiling (Electronic computers)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Esterel (Computer program language)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmiersprache</subfield><subfield code="0">(DE-588)4047409-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Eingebettetes System</subfield><subfield code="0">(DE-588)4396978-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Programmiersprache</subfield><subfield code="0">(DE-588)4047409-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Eingebettetes System</subfield><subfield code="0">(DE-588)4396978-1</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">Edwards, Stephen A.</subfield><subfield code="d">1970-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)13405394X</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Berry, Gérard</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe, e-book</subfield><subfield code="z">978-0-387-70628-3</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bamberg - ADAM Catalogue Enrichment</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=029817978&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-029817978</subfield></datafield></record></collection> |
id | DE-604.BV044416284 |
illustrated | Not Illustrated |
indexdate | 2024-07-10T07:52:22Z |
institution | BVB |
isbn | 9780387706269 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-029817978 |
oclc_num | 255965786 |
open_access_boolean | |
owner | DE-384 DE-473 DE-BY-UBG |
owner_facet | DE-384 DE-473 DE-BY-UBG |
physical | xxi, 335 Seiten Diagramme |
publishDate | 2007 |
publishDateSearch | 2007 |
publishDateSort | 2007 |
publisher | Springer |
record_format | marc |
spelling | Potop-Butucaru, Dumitru Verfasser aut Compiling ESTEREL Dumitru Potop-Butucaru, Stephen A. Edwards, Gerard Berry Dordrecht, The Netherlands Springer [2007] xxi, 335 Seiten Diagramme txt rdacontent n rdamedia nc rdacarrier Compiling (Electronic computers) Esterel (Computer program language) Programmiersprache (DE-588)4047409-4 gnd rswk-swf Eingebettetes System (DE-588)4396978-1 gnd rswk-swf Programmiersprache (DE-588)4047409-4 s Eingebettetes System (DE-588)4396978-1 s DE-604 Edwards, Stephen A. 1970- Verfasser (DE-588)13405394X aut Berry, Gérard Verfasser aut Erscheint auch als Online-Ausgabe, e-book 978-0-387-70628-3 Digitalisierung UB Bamberg - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029817978&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Potop-Butucaru, Dumitru Edwards, Stephen A. 1970- Berry, Gérard Compiling ESTEREL Compiling (Electronic computers) Esterel (Computer program language) Programmiersprache (DE-588)4047409-4 gnd Eingebettetes System (DE-588)4396978-1 gnd |
subject_GND | (DE-588)4047409-4 (DE-588)4396978-1 |
title | Compiling ESTEREL |
title_auth | Compiling ESTEREL |
title_exact_search | Compiling ESTEREL |
title_full | Compiling ESTEREL Dumitru Potop-Butucaru, Stephen A. Edwards, Gerard Berry |
title_fullStr | Compiling ESTEREL Dumitru Potop-Butucaru, Stephen A. Edwards, Gerard Berry |
title_full_unstemmed | Compiling ESTEREL Dumitru Potop-Butucaru, Stephen A. Edwards, Gerard Berry |
title_short | Compiling ESTEREL |
title_sort | compiling esterel |
topic | Compiling (Electronic computers) Esterel (Computer program language) Programmiersprache (DE-588)4047409-4 gnd Eingebettetes System (DE-588)4396978-1 gnd |
topic_facet | Compiling (Electronic computers) Esterel (Computer program language) Programmiersprache Eingebettetes System |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029817978&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT potopbutucarudumitru compilingesterel AT edwardsstephena compilingesterel AT berrygerard compilingesterel |