Cargando…

Practical TLA+ : planning driven development /

Learn how to design complex, correct programs and fix problems before writing a single line of code. This book is a practical, comprehensive resource on TLA+ programming with rich, complex examples. Practical TLA+ shows you how to use TLA+ to specify a complex system and test the design itself for b...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Wayne, Hillel (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: [New York, NY] : Apress, [2018]
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a2200000 i 4500
001 OR_on1056952144
003 OCoLC
005 20231017213018.0
006 m o d
007 cr cnu|||unuuu
008 181015s2018 nyu o 001 0 eng d
040 |a N$T  |b eng  |e rda  |e pn  |c N$T  |d N$T  |d GW5XE  |d EBLCP  |d UKMGB  |d OCLCF  |d UAB  |d UMI  |d STF  |d UPM  |d YDX  |d TOH  |d OCLCQ  |d VT2  |d G3B  |d CAUOI  |d YOU  |d K6U  |d MERER  |d LEAUB  |d COO  |d UKAHL  |d LQU  |d FVL  |d OCLCQ  |d BRF  |d TEFOD  |d OCLCQ  |d OCLCO  |d COM  |d OCLCQ  |d OCLCO 
016 7 |a 019090984  |2 Uk 
019 |a 1057234628  |a 1062396977  |a 1077734658  |a 1081290457  |a 1086460507  |a 1103272555  |a 1105178025  |a 1105716594  |a 1110858019 
020 |a 9781484238295  |q (electronic bk.) 
020 |a 148423829X  |q (electronic bk.) 
020 |a 9781484238301  |q (print) 
020 |a 1484238303 
020 |z 9781484238288 
020 |z 1484238281 
024 7 |a 10.1007/978-1-4842-3829-5  |2 doi 
024 8 |a 10.1007/978-1-4842-3 
027 |a SPRINTER 
029 1 |a AU@  |b 000064427122 
029 1 |a AU@  |b 000065195344 
029 1 |a AU@  |b 000065209463 
029 1 |a AU@  |b 000065437222 
029 1 |a AU@  |b 000067498595 
029 1 |a CHNEW  |b 001073871 
029 1 |a CHVBK  |b 579466752 
029 1 |a UKMGB  |b 019090984 
035 |a (OCoLC)1056952144  |z (OCoLC)1057234628  |z (OCoLC)1062396977  |z (OCoLC)1077734658  |z (OCoLC)1081290457  |z (OCoLC)1086460507  |z (OCoLC)1103272555  |z (OCoLC)1105178025  |z (OCoLC)1105716594  |z (OCoLC)1110858019 
037 |a com.springer.onix.9781484238295  |b Springer Nature 
037 |a 072F1532-BD88-43F6-A967-A0AEF546EDE1  |b OverDrive, Inc.  |n http://www.overdrive.com 
050 4 |a QA76.7 
072 7 |a COM  |x 051010  |2 bisacsh 
072 7 |a UMX  |2 bicssc 
072 7 |a UMX  |2 thema 
072 7 |a UMC  |2 thema 
082 0 4 |a 005.13  |2 23 
049 |a UAMI 
100 1 |a Wayne, Hillel,  |e author. 
245 1 0 |a Practical TLA+ :  |b planning driven development /  |c Hillel Wayne. 
264 1 |a [New York, NY] :  |b Apress,  |c [2018] 
300 |a 1 online resource 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file 
347 |b PDF 
500 |a Includes index. 
520 |a Learn how to design complex, correct programs and fix problems before writing a single line of code. This book is a practical, comprehensive resource on TLA+ programming with rich, complex examples. Practical TLA+ shows you how to use TLA+ to specify a complex system and test the design itself for bugs. You'll learn how even a short TLA+ spec can find critical bugs. Start by getting your feet wet with an example of TLA+ used in a bank transfer system, to see how it helps you design, test, and build a better application. Then, get some fundamentals of TLA+ operators, logic, functions, PlusCal, models, and concurrency. Along the way you will discover how to organize your blueprints and how to specify distributed systems and eventual consistency. Finally, you'll put what you learn into practice with some working case study applications, applying TLA+ to a wide variety of practical problems: from algorithm performance and data structures to business code and MapReduce. After reading and using this book, you'll have what you need to get started with TLA+ and how to use it in your mission-critical applications. What You'll LearnRead and write TLA+ specificationsCheck specs for broken invariants, race conditions, and liveness bugsDesign concurrency and distributed systemsLearn how TLA+ can help you with your day-to-day production workWho This Book Is ForThose with programming experience who are new to design and to TLA+. 
588 0 |a Online resource; title from PDF title page (EBSCO, viewed October 16, 2018). 
505 0 |a Intro; Table of Contents; About the Author; About the Technical Reviewer; Acknowledgments; Introduction; Part I: The Semantics of TLA+ and PlusCal; Chapter 1: An Example; The Problem; Boilerplate; Specifying; Implementing; Verifying; Initial Conditions; Multiple Processes; Temporal Properties; Summary; Chapter 2: PlusCal; Introduction; Specifications; Layout of a Spec; Expressions; Values; PlusCal Algorithm Body; Assignment; assert; skip; if; while; Macros; Example; Complex Behaviors; Multiple Starting States; Example; Nondeterministic Behavior; Either; With; Example; Summary. 
505 8 |a Chapter 3: Operators and FunctionsOperators; Invariants; Logical Operators; \A and \E; => and ; Expressions; LET-IN; IF-THEN-ELSE; CASE; CHOOSE; Functions; Functions and Operators; DOMAIN; Outline Placeholder; Outline Placeholder; Sets of Functions; Example; Summary; Chapter 4: Constants, Models, and Imports; Constants; Ordinary Assignment; Model Values; Sets of Model Values; ASSUME; Infinite Sets; TLC Runtime; Configuration; Error Traces; The TLC Module; Print and PrintT; Assert; Permutations and SortSeq; Imports; EXTENDS; INSTANCE; Summary; Chapter 5: Concurrency; Labels; Processes. 
505 8 |a AwaitDeadlocks; Process Sets; Procedures; Example; Summary; Chapter 6: Temporal Logic; Termination; Stuttering; Fairness, Weak and Strong; The Temporal Operators; Outline Placeholder; Outline Placeholder; Outline Placeholder; and ; Limitations of Liveness; Example; Summary; Part II: Applying TLA+; Chapter 7: Algorithms; Single-Process Algorithms; Max; Leftpad; Properties of Algorithms; Multiprocess Algorithm; Summary; Chapter 8: Data Structures; Validation; Example; Summary; Chapter 9: State Machines; State Machines; Scaffolding Implementations; Ghost Variables; Summary. 
505 8 |a Chapter 10: Business LogicThe Requirements; Adding Invariants; Adding Liveness; Adding Reservations; Updating Assumptions; Expiring Reservations; Summary; Chapter 11: MapReduce; Problem Overview; Part One: Basics; Part Two: Liveness; Part Three: Statuses; Exercise; Summary; Appendix A: Math; Propositional Logic; Evaluating Propositions in TLA+; Sets; Predicate Logic; Evaluating Predicates in TLA+; Appendix B: The PT Module; Appendix C: PlusCal to TLA+; Temporal Logic; Actions; TLA; Limitations of PlusCal; Index. 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
650 0 |a Programming languages (Electronic computers) 
650 0 |a SDL (Computer program language) 
650 6 |a SDL (Langage de programmation) 
650 7 |a Computer programming  |x software development.  |2 bicssc 
650 7 |a Software Engineering.  |2 bicssc 
650 7 |a Programming & scripting languages: general.  |2 bicssc 
650 7 |a COMPUTERS  |x Programming Languages  |x General.  |2 bisacsh 
650 7 |a Programming languages (Electronic computers)  |2 fast 
650 7 |a SDL (Computer program language)  |2 fast 
776 0 8 |i Print version:  |z 9781484238288 
776 0 8 |i Print version:  |z 9781484238301 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781484238295/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a Askews and Holts Library Services  |b ASKH  |n AH35395125 
938 |a ProQuest Ebook Central  |b EBLB  |n EBL5553277 
938 |a EBSCOhost  |b EBSC  |n 1912571 
938 |a YBP Library Services  |b YANK  |n 15752454 
994 |a 92  |b IZTAP