emma johnson

emma johnson

  • NA
  • 16
  • 8.6k

File reading

Apr 25 2013 12:44 AM
 
I want to read text file using c# , I have to extract certain data from this attached file i.e dataset. From this file I have to fetch following data i.e.

#* --- paper Title
#@ --- Authors
#t ---- Year
#c --- publication venue


"Paper titles" starts with #*, and then "authors" come i.e. starts with #@ etc.Where "paper titles","authors" etc, are column names.I have to extract values against these columns.
So, how to read this dataset file, for extracting specific data and writing this extracted data into another text file .



 
As there i do not find any file attachment option  so following is the file data.


#*OQL[C++]: Extending C++ with an Object Query Capability.
#@José A. Blakeley
#t1995
#cModern Database Systems
#index0
#*Transaction Management in Multidatabase Systems.
#@Yuri Breitbart,Hector Garcia-Molina,Abraham Silberschatz
#t1995
#cModern Database Systems
#index1
#*Overview of the ADDS System.
#@Yuri Breitbart,Tom C. Reyes
#t1995
#cModern Database Systems
#index2
#*Multimedia Information Systems: Issues and Approaches.
#@Stavros Christodoulakis,Leonidas Koveos
#t1995
#cModern Database Systems
#index3
#*Active Database Systems.
#@Umeshwar Dayal,Eric N. Hanson,Jennifer Widom
#t1995
#cModern Database Systems
#index4
#%995520
#*Where Object-Oriented DBMSs Should Do Better: A Critique Based on Early Experiences.
#@Angelika Kotz Dittrich,Klaus R. Dittrich
#t1995
#cModern Database Systems
#index5
#*Distributed Databases.
#@Hector Garcia-Molina,Meichun Hsu
#t1995
#cModern Database Systems
#index6
#*An Object-Oriented DBMS War Story: Developing a Genome Mapping Database in C++.
#@Nathan Goodman
#t1995
#cModern Database Systems
#index7
#*Cooperative Transactions for Multiuser Environments.
#@Gail E. Kaiser
#t1995
#cModern Database Systems
#index8
#*Schema Architecture of the UniSQL/M Multidatabase System
#@William Kelley,Sunit K. Gala,Won Kim,Tom C. Reyes,Bruce Graham
#t1995
#cModern Database Systems
#index9
#*Physical Object Management.
#@Alfons Kemper,Guido Moerkotte
#t1995
#cModern Database Systems
#index10
#*Introduction to Part 1: Next-Generation Database Technology.
#@Won Kim
#t1995
#cModern Database Systems
#index11
#*Object-Oriented Database Systems: Promises, Reality, and Future.
#@Won Kim
#t1995
#cModern Database Systems
#index12
#*Introduction to Part 2: Technology for Interoperating Legacy Databases.
#@Won Kim
#t1995
#cModern Database Systems
#index13
#*On Resolving Schematic Heterogeneity in Multidatabase Systems.
#@Won Kim,Injun Choi,Sunit K. Gala,Mark Scheevel
#t1995
#cModern Database Systems
#index14
#%1064647
#*Requirements for a Performance Benchmark for Object-Oriented Database Systems.
#@Won Kim,Jorge F. Garza
#t1995
#cModern Database Systems
#index15
#*On View Support in Object-Oriented Databases Systems.
#@Won Kim,William Kelley
#t1995
#cModern Database Systems
#index16
#*The POSC Solution to Managing E&P Data.
#@Vincent J. Kowalski
#t1995
#cModern Database Systems
#index17
#*C++ Bindings to an Object Database.
#@David Krieger,Tim Andrews
#t1995
#cModern Database Systems
#index18
#*Authorization in Object-Oriented Databases.
#@Teresa F. Lunt
#t1995
#cModern Database Systems
#index19
#*Query Processing in Multidatabase Systems.
#@Weiyi Meng,Clement T. Yu
#t1995
#cModern Database Systems
#index20
#*Management of Uncerainty in database Systems.
#@Amihai Motro
#t1995
#cModern Database Systems
#index21
#*Parallel Relational Database Systems.
#@Edward Omiecinski
#t1995
#cModern Database Systems
#index22
#*Query Processing in Object-Oriented Database Systems.
#@M. Tamer Özsu,José A. Blakeley
#t1995
#cModern Database Systems
#index23
#*Specification and Execution of Transactional Workflows.
#@Marek Rusinkiewicz,Amit P. Sheth
#t1995
#cModern Database Systems
#index24
#%26682
#%807142
#%1065531
#%855968
#*Spatial Data Structures.
#@Hanan Samet
#t1995
#cModern Database Systems
#index25
#%165
#!An overview is presented of the use of spatial data structures in spatial databases. The focus is on hierarchical data structures, including a number of variants of quadtrees, which sort the data with respect to the space occupied by it. Such techniques are known as spatial indexing methods. Hierarchical data structures are based on the principle of recursive decomposition. They are attractive because they are compact and depending on the nature of the data they save space as well as time and also facilitate operations such as search. Examples are given of the use of these data structures in the representation of different data types such as regions, points, rectangles, lines, and volumes.
#*Spatial Data Models and Query Processing.
#@Hanan Samet,Walid G. Aref
#t1995
#cModern Database Systems
#index26
#*Pegasus: A Heterogeneous Information Management System.
#@Ming-Chien Shan,Rafi Ahmed,Jim Davis,Weimin Du,William Kent
#t1995
#cModern Database Systems
#index27
#*Temporal Object-Oriented Databases: A Critical Comparison.
#@Richard T. Snodgrass
#t1995
#cModern Database Systems
#index28
#*The OMG Object Model.
#@Richard Mark Soley,William Kent
#t1995
#cModern Database Systems
#index29
#*EDA/SQL.
#@Ralph L. Stout
#t1995
#cModern Database Systems
#index30
#*The Changing Database Standards Landscape.
#@Craig W. Thompson
#t1995
#cModern Database Systems
#index31
#*Modern Database Systems: The Object Model, Interoperability, and Beyond.
#@Won Kim
#t1995
#cModern Database Systems
#index32
#*Inequalities: Theory of Majorization and Its Application.
#@Albert W. Marshall,Ingram Olkin
#t1979
#c
#index33
#*Version Control in an Object-Oriented Architecture.
#@Anders Björnerstedt,Christer Hulten
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index34
#*The GemStone Data Management System.
#@Robert Bretl,David Maier,Allen Otis,D. Jason Penney,Bruce Schuchardt,Jacob Stein,E. Harold Williams,Monty Williams
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index35
#*Storage Management in EXODUS.
#@Michael J. Carey,David J. DeWitt,Joel E. Richardson,Eugene J. Shekita
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index36
#*A Distributed Object Manager for the Smalltalk-80 System.
#@Dominique Decouchant
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index37
#*Objects, Messages, and Rules in Database Design.
#@Jim Diederich,Jack Milton
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index38
#*Active Objects: Ealities and Possibilities.
#@Clarence A. Ellis,Simon J. Gibbs
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index39
#*Overview of the Iris DBMS.
#@Daniel H. Fishman,Jurgen Annevelink,David Beech,E. C. Chow,Tim Connors,J. W. Davis,Waqar Hasan,C. G. Hoch,William Kent,S. Leichner,Peter Lyngbæk,Brom Mahbod,Marie-Anne Neimat,Tore Risch,Ming-Chien Shan,W. Kevin Wilkinson
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index40
#*Features of the ORION Object-Oriented Database System.
#@Won Kim,Nat Ballou,Hong-Tai Chou,Jorge F. Garza,Darrell Woelk
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index41
#*Indexing Techniques for Object-Oriented Databases.
#@Won Kim,Kyung-Chang Kim,Alfred G. Dale
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index42
#*My Cat Is Object-Oriented.
#@Roger King
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index43
#*Making Database Systems Fast Enough for CAD Applications.
#@David Maier
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index44
#*Optimizing Smalltalk Message Performance.
#@Fred Mellender,Steve Riegel,Andrew Straw
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index45
#*The Common List Object-Oriented Programming Language Standard.
#@David A. Moon
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index46
#*Object Orientation as Catalyst for Language-Database Inegration.
#@J. Eliot B. Moss
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index47
#*A Survey of Object-Oriented Concepts.
#@Oscar Nierstrasz
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index48
#*Integrated Office Systems.
#@Oscar Nierstrasz,Dennis Tsichritzis
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index49
#*Proteus: A Frame-Based Nonmonotonic Inference System.
#@David M. Russinoff
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index50
#*Concurrency Control and Object-Oriented Databases.
#@Andrea H. Skarra,Stanley B. Zdonik
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index51
#*A Shared View of Sharing: The Treaty of Orlando.
#@Lynn Andrea Stein,Henry Lieberman,David Ungar
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index52
#*Pogo: A Declarative Representation System for Graphics.
#@Mark A. Tarlton,P. Nong Tarlton
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index53
#*Concurrent Object-Oriented Programming Languages.
#@Chris Tomlinson,Mark Scheevel
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index54
#*Directions in Object-Oriented Research.
#@Dennis Tsichritzis,Oscar Nierstrasz
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index55
#*A Proposal for a Formal Model of Objects.
#@Yair Wand
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index56
#*OZ+: An Object-Oriented Database System.
#@Stephen P. Weiser,Frederick H. Lochovsky
#t1989
#cObject-Oriented Concepts, Databases, and Applications
#index57
#*The Commercial INGRES Epilogue.
#@Lawrence A. Rowe,Michael Stonebraker
#t1986
#cThe INGRES Papers
#index58
#*Design of Relational Systems (Introduction to Section 1).
#@Michael Stonebraker
#t1986
#cThe INGRES Papers
#index59
#*Supporting Studies on Relational Systems (Introduction to Section 2).
#@Michael Stonebraker
#t1986
#cThe INGRES Papers
#index60
#*Distributed Database Systems (Introduction to Section 3).
#@Michael Stonebraker
#t1986
#cThe INGRES Papers
#index61
#*The Design and Implementation of Distributed INGRES.
#@Michael Stonebraker
#t1986
#cThe INGRES Papers
#index62
#*User Interfaces for Database Systems (Introduction to Section 4).
#@Michael Stonebraker
#t1986
#cThe INGRES Papers
#index63
#*Extended Semantics for the Relational Model (Introduction to Section 5).
#@Michael Stonebraker
#t1986
#cThe INGRES Papers
#index64
#*Database Design (Introduction to Section 6).
#@Michael Stonebraker
#t1986
#cThe INGRES Papers
#index65
#*Title, Preface, Contents.
#@
#t1986
#cThe INGRES Papers
#index66
#*References.
#@
#t1986
#cThe INGRES Papers
#index67
#*TeX: The Program
#@Donald E. Knuth
#t1986
#c
#index68
#*Foundations of Databases.
#@Serge Abiteboul,Richard Hull,Victor Vianu
#t1995
#c
#index69
#%1118192
#%189
#%1088975
#%971271
#%832272
#%544788
#%1137947
#%597921
#%160032
#%641879
#%303893
#%929563
#%160519
#%1118157
#%2246
#%641813
#%621173
#%1118169
#%544814
#%544798
#%641851
#%949603
#%209741
#%1118135
#%1118137
#%597931
#%597933
#%1088651
#%971276
#%597937
#%544794
#%544818
#%544860
#%660399
#%544820
#%689
#%375453
#%1058391
#%1118159
#%1058395
#%544795
#%938260
#%545920
#%544801
#%467149
#%949524
#%544803
#%949526
#%971278
#%971280
#%621114
#%751340
#%971282
#%949534
#%104277
#%327660
#%521880
#%1127444
#%493004
#%144623
#%690
#%1118248
#%691
#%303961
#%641977
#%641996
#%598160
#%1118170
#%949714
#%145090
#%166
#%598104
#%949783
#%2288
#%176256
#%544869
#%971610
#%1118246
#%845570
#%1118252
#%484453
#%887257
#%598140
#%621421
#%949785
#%1118172
#%1058581
#%887299
#%387739
#%1118263
#%87
#%1089371
#%1089399
#%26420
#%1118128
#%1089778
#%1118250
#%544836
#%303971
#%832301
#%598121
#%642004
#%598123
#%1058540
#%544813
#%544847
#%1070446
#%267526
#%205001
#%544849
#%984255
#%598069
#%2247
#%984285
#%641946
#%544851
#%160066
#%1118210
#%796770
#%1118164
#%598048
#%145243
#%304127
#%949791
#%267327
#%26419
#%1058541
#%887104
#%1089219
#%890306
#%887364
#%2300
#%598241
#%642159
#%26424
#%210255
#%971642
#%621784
#%160100
#%3146
#%210321
#%971660
#%971661
#%984268
#%546062
#%26426
#%544907
#%1118219
#%559773
#%299726
#%544931
#%621785
#%739999
#%971748
#%950010
#%544893
#%26427
#%621650
#%621652
#%544952
#%598426
#%303896
#%770707
#%598403
#%1196191
#%1196193
#%375954
#%598404
#%770708
#%598408
#%770730
#%971743
#%544957
#%210404
#%695
#%950016
#%176293
#%642185
#%642151
#%544899
#%1058810
#%544917
#%544918
#%544919
#%832327
#%544924
#%544948
#%642187
#%642189
#%327804
#%642193
#%65746
#%642429
#%125
#%145065
#%1118288
#%890312
#%299813
#%1118290
#%950129
#%1118283
#%642457
#%951363
#%70763
#%740000
#%887611
#%598511
#%643220
#%544983
#%26423
#%145081
#%887703
#%145083
#%303932
#%642503
#%544976
#%4
#%544990
#%544995
#%698
#%192
#%361889
#%598574
#%642508
#%1118314
#%598590
#%1118316
#%930982
#%950224
#%950226
#%1090997
#%2841
#%984345
#%1091165
#%740001
#%303976
#%1118319
#%642518
#%744865
#%598632
#%1059177
#%1059130
#%545006
#%267920
#%598655
#%559720
#%598684
#%598788
#%1091478
#%950420
#%173
#%759
#%950502
#%642542
#%642653
#%1118381
#%642546
#%598717
#%148088
#%545111
#%328068
#%1510451
#%832481
#%545080
#%598781
#%484695
#%950355
#%950497
#%124508
#%545063
#%545117
#%160037
#%139
#%740002
#%931443
#%888051
#%642659
#%832546
#%3305
#%1118393
#%972060
#%210854
#%545095
#%598675
#%1091611
#%545076
#%545099
#%299951
#%598666
#%950430
#%642654
#%1065039
#%772598
#%1112850
#%484776
#%888219
#%545148
#%642819
#%200348
#%832654
#%1118390
#%484787
#%511827
#%467179
#%931732
#%1118350
#%26439
#%950636
#%950683
#%598893
#%545158
#%740973
#%972231
#%212369
#%972229
#%950719
#%1092127
#%1059558
#%642817
#%950722
#%642820
#%545160
#%598917
#%972253
#%26440
#%972256
#%888313
#%1059601
#%545167
#%642845
#%598911
#%160142
#%642839
#%950764
#%145021
#%832669
#%972323
#%546338
#%700
#%950795
#%545171
#%2253
#%701
#%522371
#%176430
#%467183
#%545198
#%806938
#%1118449
#%1025254
#%625687
#%467184
#%545186
#%599034
#%304074
#%150
#%1118456
#%950880
#%950882
#%950861
#%479809
#%745202
#%467187
#%832761
#%888560
#%745260
#%376774
#%950912
#%67923
#%643001
#%1118457
#%545230
#%545205
#%599086
#%2028
#%328234
#%599016
#%160051
#%984559
#%328265
#%545261
#%545263
#%547974
#%545267
#%622535
#%1092447
#%888564
#%545234
#%1118439
#%888566
#%1092790
#%1118472
#%1128571
#%545206
#%467188
#%749
#%972416
#%888674
#%144689
#%745361
#%494916
#%183552
#%951070
#%2255
#%1093018
#%1118499
#%950948
#%1092963
#%790900
#%3390
#%545271
#%628845
#%599136
#%545325
#%972539
#%599158
#%389560
#%2601
#%599140
#%938705
#%984589
#%1118498
#%599238
#%160071
#%545319
#%145180
#%951071
#%486
#%643221
#%268613
#%304136
#%13954
#%1118559
#%599296
#%832917
#%599383
#%2345
#%984602
#%643300
#%938818
#%888907
#%545262
#%643279
#%1118520
#%972573
#%545233
#%844857
#%745532
#%643336
#%545276
#%545211
#%984614
#%158
#%740006
#%1118533
#%545345
#%951073
#%328427
#%1118522
#%741198
#%196
#%2257
#%545310
#%599416
#%643388
#%26448
#%599423
#%741254
#%1519734
#%545304
#%1118565
#%643379
#%545314
#%643438
#%1118589
#%26450
#%488
#%933261
#%3461
#%744325
#%713
#%925393
#%545379
#%545381
#%26452
#%832930
#%599511
#%328593
#%545391
#%643482
#%14466
#%745654
#%545371
#%1113376
#%984725
#%545407
#%26454
#%745784
#%144740
#%951426
#%1118614
#%494437
#%545431
#%951441
#%545439
#%599664
#%599582
#%844937
#%643548
#%599536
#%545409
#%972793
#%984731
#%599627
#%599699
#%1118631
#%2261
#%605678
#%599611
#%951542
#%545384
#%740008
#%951494
#%545288
#%745934
#%2262
#%1118657
#%545418
#%328681
#%599733
#%1081919
#%994586
#%599845
#%643764
#%833071
#%545400
#%599748
#%26457
#%1065712
#%1065230
#%545470
#%599849
#%605719
#%545481
#%776333
#%2362
#%1113545
#%101
#%951491
#%642235
#%545359
#%951496
#%1118678
#%951497
#%545469
#%1094320
#%545471
#%197
#%740010
#%1094938
#%2264
#%1060520
#%833140
#%750677
#%545492
#%492
#%1118705
#%493
#%545494
#%494
#%598723
#%544876
#%210245
#%544878
#%605422
#%545039
#%545043
#%950388
#%1118378
#%934307
#%623204
#%211922
#%741476
#%973050
#%545501
#%545502
#%973051
#%545503
#%599880
#%950184
#%514048
#%951754
#%741482
#%177857
#%328809
#%177859
#%1095061
#%1095057
#%599935
#%301326
#%547315
#%808476
#%545517
#%545519
#%599953
#%545522
#%599954
#%890845
#%1118735
#%644056
#%832857
#%973130
#%1118747
#%973139
#%176675
#%892868
#%2307
#*LaTeX: User's Guide & Reference Manual
#@Leslie Lamport
#t1986
#c
#index70
#*The Design and Analysis of Computer Algorithms.
#@Alfred V. Aho,John E. Hopcroft,Jeffrey D. Ullman
#t1974
#c
#index71
#*Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers
#@Leslie Lamport
#t2002
#c
#index72
#!From the Book: This book will teach you how to write specifications of computer systems, using the language TLA+. It's rather long, but most people will read only Part I, which comprises the first 83 pages. That part contains all that most engineers need to know about writing specifications; it assumes only the basic background in computing and knowledge of mathematics expected of an undergraduate studying engineering or computer science. Part II contains more advanced material for more sophisticated readers. The remainder of the book is a reference manual?Part III for the TLA+ tools and Part IV for the language itself. The TLA World Wide Web page contains material to accompany the book, including the TLA+ tools, exercises, references to the literature, and a list of corrections. There is a link to the TLA Web page on http://lamport.org.What Is a Specification?Writing is nature's way of letting you know how sloppy your thinking is.-GuindonA specification is a written description of what a system is supposed to do. Specifying a system helps us understand it. It's a good idea to understand a system before building it, so it's a good idea to write a specification of a system before implementing it.This book is about specifying the behavioral properties of a system?also called its functional or logical properties. These are the properties that specify what the system is supposed to do. There are other important kinds of properties that we don't consider, including performance properties. Worst-case performance can often be expressed as a behavioral property?forexample, Chapter 9 explains how to specify that a system must react within a certain length of time. However, specifying average performance is beyond the scope of the methods described here.Our basic tool for writing specifications is mathematics. Mathematics is nature's way of letting you know how sloppy your writing is. It's hard to be precise in an imprecise language like English or Chinese. In engineering, imprecision can lead to errors. To avoid errors, science and engineering have adopted mathematics as their language.The mathematics we use is more formal than the math you've grown up with. Formal mathematics is nature's way of letting you know how sloppy your mathematics is. The mathematics written by most mathematicians and scientists is not really precise. It's precise in the small, but imprecise in the large. Each equation is a precise assertion, but you have to read the accompanying words to understand how the equations relate to one another and exactly what the theorems mean. Logicians have developed ways of eliminating those words and making the mathematics completely formal, and hence completely precise.Most mathematicians and scientists think that formal mathematics, without words, is long and tiresome. They're wrong. Ordinary mathematics can be expressed compactly in a precise, completely formal language. It takes only about two dozen lines to define the solution to an arbitrary differential equation in the Differential Equations module of Chapter 11. But few specifications need such sophisticated mathematics. Most require only simple application of a few standard mathematical concepts.Why TLA+?We specify a system by describing its allowed behaviors?what it may do in the course of an execution. In 1977, Amir Pnueli introduced the use of temporal logic for describing system behaviors. In principle, a system could be described by a single temporal logic formula. In practice, it couldn't. Pnueli's temporal logic was ideal for describing some properties of systems, but awkward for others. So, it was usually combined with a more traditional way of describing systems.In the late 1980s, I invented TLA, the Temporal Logic of Actions?a simple variant of Pnueli's original logic. TLA makes it practical to describe a system by a single formula. Most of a TLA specification consists of ordinary, nontemporal mathematics. Temporal logic plays a significant role only in describing those properties that it's good at describing. TLA also provides a nice way to formalize the style of reasoning about systems that has proved to be most effective in practice?a style known as assertional reasoning. However, this book is about specification; it says almost nothing about proofs.Temporal logic assumes an underlying logic for expressing ordinary mathematics. There are many ways to formalize ordinary math. Most computer scientists prefer one that resembles their favorite programming language. I chose instead the one that most mathematicians prefer?the one logicians call first-order logic and set theory.TLA provides a mathematical foundation for describing systems. To write specifications, we need a complete language built atop that foundation. I initially thought that this language should be some sort of abstract programming language whose semantics would be based on TLA. I didn't know what kind of programming language constructs would be best, so I decided to start writing specifications directly in TLA. I intended to introduce programming constructs as I needed them. To my surprise, I discovered that I didn't need them. What I needed was a robust language for writing mathematics.Although mathematicians have developed the science of writing formulas, they haven't turned that science into an engineering discipline. They have developed notations for mathematics in the small, but not for mathematics in the large. The specification of a real system can be dozens or even hundreds of pages long. Mathematicians know how to write 20-line formulas, not 20-page formulas. So, I had to introduce notations for writing long formulas. What I took from programming languages were ideas for modularizing large specifications.The language I came up with is called TLA+. I refined TLA+ in the course of writing specifications of disparate systems. But it has changed little in the last few years. I have found TLA+ to be quite good for specifying a wide class of systems?from program interfaces (APIs) to distributed systems. It can be used to write a precise, formal description of almost any sort of discrete system. It's especially well suited to describing asynchronous systems?that is, systems with components that do not operate in strict lock-step.About This BookPart I, consisting of Chapters 1 through 7, is the core of the book and is meant to be read from beginning to end. It explains how to specify the class of properties known as safety properties. These properties, which can be specified with almost no temporal logic, are all that most engineers need to know about. After reading Part I, you can read as much of Part II as you like. Each of its chapters is independent of the others. Temporal logic comes to the fore in Chapter 8, where it is used to specify the additional class of properties known as liveness properties. Chapter 9 describes how to specify real-time properties, and Chapter 10 describes how to write specifications as compositions. Chapter 11 contains more advanced examples. The three chapters in Part III serve as the reference manual for three TLA+ tools: the Syntactic Analyzer, the TLATEX typesetting program, and the TLC model checker. If you want to use TLA+, then you probably want to use these tools. They are available from the TLA Web page. TLC is the most sophisticated of them. The examples on the Web can get you started using it, but you'll have to read Chapter 14 to learn to use TLC effectively.Part IV is a reference manual for the TLA+ language. Part I provides a good enough working knowledge of the language for most purposes. You need look at Part IV only if you have questions about the fine points of the syntax and semantics. Chapter 15 gives the syntax of TLA+. Chapter 16 describes the precise meanings and the general forms of all the built-in operators of TLA+; Chapter 17 describes the precise meaning of all the higher-level TLA+ constructs such as definitions. Together, these two chapters specify the semantics of the language. Chapter 18 describes the standard modules?except for module RealTime, described in Chapter 9, and module TLC, described in Chapter 14. You might want to look at this chapter if you're curious about how standard elementary mathematics can be formalized in TLA+.Part IV does have something you may want to refer to often: a mini-manual that compactly presents lots of useful information. Pages 268-273 list all TLA+ operators, all user-definable symbols, the precedence of all operators, all operators defined in the standard modules, and the ASCII representation of symbols.
#*Data Structures and Algorithms.
#@Alfred V. Aho,John E. Hopcroft,Jeffrey D. Ullman
#t1983
#c
#index73

Answers (9)