In order to find subtle bugs in a systemdesign, it is necessary to hav การแปล - In order to find subtle bugs in a systemdesign, it is necessary to hav ไทย วิธีการพูด

In order to find subtle bugs in a s

In order to find subtle bugs in a system
design, it is necessary to have a precise
description of that design. There are
at least two major benefits to writing a
precise design: the author is forced to
think more clearly, helping eliminate
“plausible hand waving,” and tools
can be applied to check for errors in
the design, even while it is being writ-
ten. In contrast, conventional design
documents consist of prose, static dia-
grams, and perhaps pseudo-code in
an ad hoc untestable language. Such
descriptions are far from precise; they
are often ambiguous or missing criti-
cal aspects (such as partial failure or
the granularity of concurrency). At the
other end of the spectrum, the final
executable code is unambiguous but
contains an overwhelming amount of
detail. We had to be able to capture the
essence of a design in a few hundred
lines of precise description. As our
designs are unavoidably complex, we
needed a highly expressive language,
far above the level of code, but with
precise semantics. That expressiv-
ity must cover real-world concurrency
and fault tolerance. And, as we wish
to build services quickly, we wanted a
language that is simple to learn and
apply, avoiding esoteric concepts. We
also very much wanted an existing eco-
system of tools. We were thus looking
for an off-the-shelf method with high
return on investment.
We found what we were looking for
in TLA+, 11 a formal specification lan-
guage based on simple discrete math,
or basic set theory and predicates,
with which all engineers are familiar.
A TLA+ specification describes the set
of all possible legal behaviors, or ex-
ecution traces, of a system. We found
it helpful that the same language is
used to describe both the desired cor-
rectness properties of the system (the
“what”) and the design of the system
(the “how”). In TLA+, correctness
properties and system designs are
just steps on a ladder of abstraction,
with correctness properties occupy-
ing higher levels, systems designs and
algorithms in the middle, and execut-
able code and hardware at the lower
levels. TLA+ is intended to make it as
easy as possible to show a system de-
sign correctly implements the desired
correctness properties, through either
conventional mathematical reasoning
or tools like the TLC model checker 9
that take a TLA+ specification and
exhaustively checks the desired cor-
rectness properties across all possible
execution traces. The ladder of ab-
straction also helps designers manage
the complexity of real-world systems;
designers may choose to describe
the system at several “middle” levels
of abstraction, with each lower level
serving a different purpose (such as to
understand the consequences of fin-
A P R I L 2 0 1 5 | VO L. 58 | N O. 4 | C OM M U N IC AT ION S OF T HE ACM
67contributed articles
er-grain concurrency or more detailed
behavior of a communication medi-
um). The designer can then verify that
each level is correct with respect to a
higher level. The freedom to choose
and adjust levels of abstraction makes
TLA+ extremely flexible.
At first, the syntax and idioms of
TLA+ are somewhat unfamiliar to
programmers. Fortunately, TLA+ is
accompanied by a second language
called PlusCal that is closer to a C-style
programming language but much
more expressive, as it uses TLA+ for
expressions and values. PlusCal is
intended to be a direct replacement
for pseudo-code. Several engineers at
Amazon have found they are more pro-
ductive using PlusCal than they are us-
ing TLA+. However, in other cases, the
additional flexibility of plain TLA+ has
been very useful. For many designs the
choice is a matter of taste, as PlusCal is
automatically translated to TLA+ with a
single key press. PlusCal users do have
to be familiar with TLA+ in order to
write rich expressions and because it is
often helpful to read the TLA+ transla-
tion to understand the precise seman-
tics of a piece of code. Moreover, tools
(such as the TLC model checker) workIn order to find subtle bugs in a system
design, it is necessary to have a precise
description of that design. There are
at least two major benefits to writing a
precise design: the author is forced to
think more clearly, helping eliminate
“plausible hand waving,” and tools
can be applied to check for errors in
the design, even while it is being writ-
ten. In contrast, conventional design
documents consist of prose, static dia-
grams, and perhaps pseudo-code in
an ad hoc untestable language. Such
descriptions are far from precise; they
are often ambiguous or missing criti-
cal aspects (such as partial failure or
the granularity of concurrency). At the
other end of the spectrum, the final
executable code is unambiguous but
contains an overwhelming amount of
detail. We had to be able to capture the
essence of a design in a few hundred
lines of precise description. As our
designs are unavoidably complex, we
needed a highly expressive language,
far above the level of code, but with
precise semantics. That expressiv-
ity must cover real-world concurrency
and fault tolerance. And, as we wish
to build services quickly, we wanted a
language that is simple to learn and
apply, avoiding esoteric concepts. We
also very much wanted an existing eco-
system of tools. We were thus looking
for an off-the-shelf method with high
return on investment.
We found what we were looking for
in TLA+, 11 a formal specification lan-
guage based on simple discrete math,
or basic set theory and predicates,
with which all engineers are familiar.
A TLA+ specification describes the set
of all possible legal behaviors, or ex-
ecution traces, of a system. We found
it helpful that the same language is
used to describe both the desired cor-
rectness properties of the system (the
“what”) and the design of the system
(the “how”). In TLA+, correctness
properties and system designs are
just steps on a ladder of abstraction,
with correctness properties occupy-
ing higher levels, systems designs and
algorithms in the middle, and execut-
able code and hardware at the lower
levels. TLA+ is intended to make it as
easy as possible to show a system de-
sign correctly implements the desired
correctness properties, through either
conventional mathematical reasoning
or tools like the TLC model checker 9
that take a TLA+ specification and
exhaustively checks the desired cor-
rectness properties across all possible
execution traces. The ladder of ab-
straction also helps designers manage
the complexity of real-world systems;
designers may choose to describe
the system at several “middle” levels
of abstraction, with each lower level
serving a different purpose (such as to
understand the consequences of fin-
A P R I L 2 0 1 5 | VO L. 58 | N O. 4 | C OM M U N IC AT ION S OF T HE ACM
67contributed articles
er-grain concurrency or more detailed
behavior of a communication medi-
um). The designer can then verify that
each level is correct with respect to a
higher level. The freedom to choose
and adjust levels of abstraction makes
TLA+ extremely flexible.
At first, the syntax and idioms of
TLA+ are somewhat unfamiliar to
programmers. Fortunately, TLA+ is
accompanied by a second language
called PlusCal that is closer to a C-style
programming language but much
more expressive, as it uses TLA+ for
expressions and values. PlusCal is
intended to be a direct replacement
for pseudo-code. Several engineers at
Amazon have found they are more pro-
ductive using PlusCal than they are us-
ing TLA+. However, in other cases, the
additional flexibility of plain TLA+ has
been very useful. For many designs the
choice is a matter of taste, as PlusCal is
automatically translated to TLA+ with a
single key press. PlusCal users do have
to be familiar with TLA+ in order to
write rich expressions and because it is
often helpful to read the TLA+ transla-
tion to understand the precise seman-
tics of a piece of code. Moreover, tools
(such as the TLC model checker) work
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
In order to find subtle bugs in a systemdesign, it is necessary to have a precisedescription of that design. There areat least two major benefits to writing aprecise design: the author is forced tothink more clearly, helping eliminate“plausible hand waving,” and toolscan be applied to check for errors inthe design, even while it is being writ-ten. In contrast, conventional designdocuments consist of prose, static dia-grams, and perhaps pseudo-code inan ad hoc untestable language. Suchdescriptions are far from precise; theyare often ambiguous or missing criti-cal aspects (such as partial failure orthe granularity of concurrency). At theother end of the spectrum, the finalexecutable code is unambiguous butcontains an overwhelming amount ofdetail. We had to be able to capture theessence of a design in a few hundredlines of precise description. As ourdesigns are unavoidably complex, weneeded a highly expressive language,far above the level of code, but withprecise semantics. That expressiv-ity must cover real-world concurrencyand fault tolerance. And, as we wishto build services quickly, we wanted alanguage that is simple to learn andapply, avoiding esoteric concepts. Wealso very much wanted an existing eco-system of tools. We were thus lookingfor an off-the-shelf method with highreturn on investment.We found what we were looking forin TLA+, 11 a formal specification lan-guage based on simple discrete math,or basic set theory and predicates,with which all engineers are familiar.A TLA+ specification describes the setof all possible legal behaviors, or ex-ecution traces, of a system. We foundit helpful that the same language isused to describe both the desired cor-rectness properties of the system (the“what”) and the design of the system(the “how”). In TLA+, correctnessproperties and system designs arejust steps on a ladder of abstraction,with correctness properties occupy-ing higher levels, systems designs andalgorithms in the middle, and execut-able code and hardware at the lowerlevels. TLA+ is intended to make it aseasy as possible to show a system de-sign correctly implements the desiredcorrectness properties, through eitherconventional mathematical reasoningor tools like the TLC model checker 9that take a TLA+ specification andexhaustively checks the desired cor-rectness properties across all possibleexecution traces. The ladder of ab-straction also helps designers managethe complexity of real-world systems;designers may choose to describethe system at several “middle” levelsof abstraction, with each lower levelserving a different purpose (such as tounderstand the consequences of fin-A P R I L 2 0 1 5 | VO L. 58 | N O. 4 | C OM M U N IC AT ION S OF T HE ACM67contributed articleser-grain concurrency or more detailedbehavior of a communication medi-um). The designer can then verify thateach level is correct with respect to ahigher level. The freedom to chooseand adjust levels of abstraction makesTLA+ extremely flexible.At first, the syntax and idioms ofTLA+ are somewhat unfamiliar toprogrammers. Fortunately, TLA+ isaccompanied by a second languagecalled PlusCal that is closer to a C-styleprogramming language but muchmore expressive, as it uses TLA+ forexpressions and values. PlusCal isintended to be a direct replacementfor pseudo-code. Several engineers atAmazon have found they are more pro-ductive using PlusCal than they are us-ing TLA+. However, in other cases, theadditional flexibility of plain TLA+ hasbeen very useful. For many designs thechoice is a matter of taste, as PlusCal isautomatically translated to TLA+ with asingle key press. PlusCal users do haveto be familiar with TLA+ in order towrite rich expressions and because it isoften helpful to read the TLA+ transla-tion to understand the precise seman-tics of a piece of code. Moreover, tools(such as the TLC model checker) workIn order to find subtle bugs in a systemdesign, it is necessary to have a precisedescription of that design. There areat least two major benefits to writing aprecise design: the author is forced tothink more clearly, helping eliminate“plausible hand waving,” and toolscan be applied to check for errors inthe design, even while it is being writ-ten. In contrast, conventional designdocuments consist of prose, static dia-grams, and perhaps pseudo-code inan ad hoc untestable language. Suchdescriptions are far from precise; theyare often ambiguous or missing criti-cal aspects (such as partial failure orthe granularity of concurrency). At theother end of the spectrum, the finalexecutable code is unambiguous butcontains an overwhelming amount ofdetail. We had to be able to capture theessence of a design in a few hundredlines of precise description. As ourdesigns are unavoidably complex, weneeded a highly expressive language,far above the level of code, but withprecise semantics. That expressiv-ity must cover real-world concurrencyand fault tolerance. And, as we wishto build services quickly, we wanted alanguage that is simple to learn andapply, avoiding esoteric concepts. Wealso very much wanted an existing eco-system of tools. We were thus lookingfor an off-the-shelf method with highreturn on investment.We found what we were looking forin TLA+, 11 a formal specification lan-guage based on simple discrete math,or basic set theory and predicates,with which all engineers are familiar.A TLA+ specification describes the setof all possible legal behaviors, or ex-ecution traces, of a system. We foundit helpful that the same language isused to describe both the desired cor-rectness properties of the system (the“what”) and the design of the system(the “how”). In TLA+, correctnessproperties and system designs arejust steps on a ladder of abstraction,with correctness properties occupy-ing higher levels, systems designs andalgorithms in the middle, and execut-able code and hardware at the lowerlevels. TLA+ is intended to make it aseasy as possible to show a system de-sign correctly implements the desiredcorrectness properties, through eitherconventional mathematical reasoningor tools like the TLC model checker 9that take a TLA+ specification andexhaustively checks the desired cor-rectness properties across all possibleexecution traces. The ladder of ab-straction also helps designers managethe complexity of real-world systems;designers may choose to describethe system at several “middle” levelsof abstraction, with each lower levelserving a different purpose (such as tounderstand the consequences of fin-A P R I L 2 0 1 5 | VO L. 58 | N O. 4 | C OM M U N IC AT ION S OF T HE ACM67contributed articleser-grain concurrency or more detailedbehavior of a communication medi-um). The designer can then verify thateach level is correct with respect to ahigher level. The freedom to chooseand adjust levels of abstraction makesTLA+ extremely flexible.At first, the syntax and idioms ofTLA+ are somewhat unfamiliar toprogrammers. Fortunately, TLA+ isaccompanied by a second languagecalled PlusCal that is closer to a C-styleprogramming language but muchmore expressive, as it uses TLA+ forexpressions and values. PlusCal is
intended to be a direct replacement
for pseudo-code. Several engineers at
Amazon have found they are more pro-
ductive using PlusCal than they are us-
ing TLA+. However, in other cases, the
additional flexibility of plain TLA+ has
been very useful. For many designs the
choice is a matter of taste, as PlusCal is
automatically translated to TLA+ with a
single key press. PlusCal users do have
to be familiar with TLA+ in order to
write rich expressions and because it is
often helpful to read the TLA+ transla-
tion to understand the precise seman-
tics of a piece of code. Moreover, tools
(such as the TLC model checker) work
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
เพื่อที่จะหาข้อบกพร่องที่ลึกซึ้งในระบบการออกแบบที่มีความจำเป็นที่จะมีความแม่นยำรายละเอียดของการออกแบบที่ มีอย่างน้อยสองประโยชน์ที่สำคัญในการเขียนการออกแบบที่แม่นยำ: ผู้เขียนถูกบังคับให้คิดได้ชัดเจนยิ่งขึ้นช่วยขจัด"มือโบกไปได้" และเครื่องมือที่สามารถนำมาใช้ในการตรวจสอบข้อผิดพลาดในการออกแบบแม้ในขณะที่มันเป็นสิ่งที่เป็นลายลักษณ์อักษรสิบ. ในทางตรงกันข้ามการออกแบบเดิมเอกสารประกอบด้วยร้อยแก้วกรอบข้อความคงกรัมและบางทีอาจจะหลอกรหัสเฉพาะกิจภาษาuntestable ดังกล่าวรายละเอียดอยู่ห่างไกลจากที่แม่นยำ; พวกเขามักจะไม่ชัดเจนหรือขาดหายไป criti- ด้านเสีย (เช่นความล้มเหลวบางส่วนหรือเมล็ดของพร้อมกัน) ในส่วนอื่น ๆ ของสเปกตรัมสุดท้ายรหัสปฏิบัติการเป็นที่ชัดเจนแต่มีจำนวนเงินที่ครอบงำของรายละเอียด เราต้องสามารถที่จะจับสาระสำคัญของการออกแบบในไม่กี่ร้อยสายของรายละเอียดที่แม่นยำ ในฐานะที่เป็นของเราการออกแบบที่มีความซับซ้อนหลีกเลี่ยงไม่ได้เราจำเป็นต้องมีภาษาที่แสดงออกสูงเหนือกว่าระดับของรหัสแต่มีความหมายที่ถูกต้อง นั่น expressiv- ity เห็นพ้องต้องครอบคลุมโลกแห่งความจริงและยอมรับความผิด และตามที่เราต้องการที่จะสร้างบริการได้อย่างรวดเร็วเราต้องการภาษาที่ง่ายต่อการเรียนรู้และนำไปใช้ในการหลีกเลี่ยงแนวคิดลึกลับ เรายังเป็นอย่างมากอยากสิ่งแวดล้อมที่มีอยู่ในระบบการทำงานของเครื่องมือ เราได้จึงมองหาวิธีการปิดการเก็บรักษาสูงผลตอบแทนการลงทุน. เราพบว่าสิ่งที่เรากำลังมองหาใน TLA + 11 สเปคอย่างเป็นทางการ lan- วัดอยู่บนพื้นฐานของคณิตศาสตร์ที่ไม่ต่อเนื่องง่ายหรือตั้งทฤษฎีพื้นฐานและภาค, ที่ วิศวกรทุกคนมีความคุ้นเคย. ข้อกำหนด TLA + อธิบายชุดของพฤติกรรมทางกฎหมายทั้งหมดเป็นไปได้หรืออดีตร่องรอยecution ของระบบ เราพบว่ามันเป็นประโยชน์ว่าภาษาเดียวกันจะใช้เพื่ออธิบายทั้งที่ต้องการอุปคุณสมบัติrectness ของระบบ (คน"อะไร") และการออกแบบของระบบ("วิธีการ") ใน TLA + ความถูกต้องคุณสมบัติและการออกแบบระบบเพียงไม่กี่ก้าวบนบันไดของนามธรรมที่มีคุณสมบัติถูกต้องoccupy- ไอเอ็นจีระดับที่สูงขึ้นระบบการออกแบบและขั้นตอนวิธีการที่อยู่ตรงกลางและดํารหัสสามารถและฮาร์ดแวร์ที่ต่ำกว่าระดับ TLA + มีจุดมุ่งหมายที่จะทำให้มันเป็นเรื่องง่ายที่จะเป็นไปได้ที่จะแสดงระบบde- เข้าสู่ระบบอย่างถูกต้องนำไปปฏิบัติที่ต้องการคุณสมบัติถูกต้องผ่านทั้งเหตุผลทางคณิตศาสตร์แบบเดิมหรือเครื่องมือเช่นตรวจสอบรูปแบบTLC 9 ที่ใช้ TLA + คุณสมบัติและละเอียดถี่ถ้วนตรวจสอบอุปต้องการrectness คุณสมบัติที่เป็นไปได้ในทุกร่องรอยการดำเนินการ บันไดของ AB- straction ยังช่วยให้นักออกแบบในการจัดการความซับซ้อนของระบบโลกแห่งความจริงที่นักออกแบบอาจเลือกที่จะอธิบายระบบที่หลาย"กลาง" ระดับของนามธรรมกับแต่ละระดับที่ต่ำกว่าการให้บริการที่แตกต่างกันวัตถุประสงค์(เช่นที่จะเข้าใจผลกระทบของfin- เมษายน 2 0 1 5 | VO ลิตร 58 | ไม่มีทุม 4 | C OM MUN IC ไอออน S AT T ของ ฯพณฯ พลอากาศเอก67contributed บทความพร้อมกันเอ้อเม็ดหรือรายละเอียดเพิ่มเติมการทำงานของการสื่อสารรักษาโรคหนอ) นักออกแบบก็จะสามารถตรวจสอบว่าแต่ละระดับที่ถูกต้องด้วยความเคารพไปยังระดับที่สูงขึ้น เสรีภาพในการเลือกและปรับระดับของนามธรรมทำให้TLA + ความยืดหยุ่นมาก. ตอนแรกไวยากรณ์และสำนวนของTLA + จะค่อนข้างคุ้นเคยกับการเขียนโปรแกรม โชคดีที่ TLA + จะมาพร้อมกับภาษาที่สองเรียกว่าPlusCal ที่อยู่ใกล้กับ C-รูปแบบการเขียนโปรแกรมภาษาแต่มากมากขึ้นการแสดงที่จะใช้ TLA + สำหรับการแสดงออกและค่านิยม PlusCal จะตั้งใจที่จะแทนโดยตรงสำหรับหลอกรหัส วิศวกรหลายคนที่อเมซอนได้พบพวกเขาเป็นโปรมากขึ้นductive ใช้ PlusCal กว่าที่พวกเขาจะถูก US-ing TLA + อย่างไรก็ตามในกรณีอื่น ๆ ที่มีความยืดหยุ่นที่เพิ่มขึ้นของธรรมดาTLA + ได้รับประโยชน์อย่างมาก สำหรับการออกแบบหลายทางเลือกที่เป็นเรื่องของรสชาติเป็น PlusCal ถูกแปลโดยอัตโนมัติเพื่อTLA + ด้วยการกดปุ่มเพียงครั้งเดียว ผู้ใช้ PlusCal จะมีที่จะคุ้นเคยกับTLA + เพื่อที่จะเขียนสำนวนที่อุดมไปด้วยและเพราะมันเป็นมักจะเป็นประโยชน์ในการอ่าน TLA + transla- การที่จะเข้าใจ seman- แม่นยำสำบัดสำนวนของชิ้นส่วนของรหัส นอกจากนี้เครื่องมือ(เช่นการตรวจสอบรูปแบบ TLC) Workin เพื่อหาข้อบกพร่องที่ลึกซึ้งในระบบการออกแบบที่มีความจำเป็นที่จะมีความแม่นยำรายละเอียดของการออกแบบที่ มีอย่างน้อยสองประโยชน์ที่สำคัญในการเขียนการออกแบบที่แม่นยำ: ผู้เขียนถูกบังคับให้คิดได้ชัดเจนยิ่งขึ้นช่วยขจัด"มือโบกไปได้" และเครื่องมือที่สามารถนำมาใช้ในการตรวจสอบข้อผิดพลาดในการออกแบบแม้ในขณะที่มันเป็นสิ่งที่เป็นลายลักษณ์อักษรสิบ. ในทางตรงกันข้ามการออกแบบเดิมเอกสารประกอบด้วยร้อยแก้วกรอบข้อความคงกรัมและบางทีอาจจะหลอกรหัสเฉพาะกิจภาษาuntestable ดังกล่าวรายละเอียดอยู่ห่างไกลจากที่แม่นยำ; พวกเขามักจะไม่ชัดเจนหรือขาดหายไป criti- ด้านเสีย (เช่นความล้มเหลวบางส่วนหรือเมล็ดของพร้อมกัน) ในส่วนอื่น ๆ ของสเปกตรัมสุดท้ายรหัสปฏิบัติการเป็นที่ชัดเจนแต่มีจำนวนเงินที่ครอบงำของรายละเอียด เราต้องสามารถที่จะจับสาระสำคัญของการออกแบบในไม่กี่ร้อยสายของรายละเอียดที่แม่นยำ ในฐานะที่เป็นของเราการออกแบบที่มีความซับซ้อนหลีกเลี่ยงไม่ได้เราจำเป็นต้องมีภาษาที่แสดงออกสูงเหนือกว่าระดับของรหัสแต่มีความหมายที่ถูกต้อง นั่น expressiv- ity เห็นพ้องต้องครอบคลุมโลกแห่งความจริงและยอมรับความผิด และตามที่เราต้องการที่จะสร้างบริการได้อย่างรวดเร็วเราต้องการภาษาที่ง่ายต่อการเรียนรู้และนำไปใช้ในการหลีกเลี่ยงแนวคิดลึกลับ เรายังเป็นอย่างมากอยากสิ่งแวดล้อมที่มีอยู่ในระบบการทำงานของเครื่องมือ เราได้จึงมองหาวิธีการปิดการเก็บรักษาสูงผลตอบแทนการลงทุน. เราพบว่าสิ่งที่เรากำลังมองหาใน TLA + 11 สเปคอย่างเป็นทางการ lan- วัดอยู่บนพื้นฐานของคณิตศาสตร์ที่ไม่ต่อเนื่องง่ายหรือตั้งทฤษฎีพื้นฐานและภาค, ที่ วิศวกรทุกคนมีความคุ้นเคย. ข้อกำหนด TLA + อธิบายชุดของพฤติกรรมทางกฎหมายทั้งหมดเป็นไปได้หรืออดีตร่องรอยecution ของระบบ เราพบว่ามันเป็นประโยชน์ว่าภาษาเดียวกันจะใช้เพื่ออธิบายทั้งที่ต้องการอุปคุณสมบัติrectness ของระบบ (คน"อะไร") และการออกแบบของระบบ("วิธีการ") ใน TLA + ความถูกต้องคุณสมบัติและการออกแบบระบบเพียงไม่กี่ก้าวบนบันไดของนามธรรมที่มีคุณสมบัติถูกต้องoccupy- ไอเอ็นจีระดับที่สูงขึ้นระบบการออกแบบและขั้นตอนวิธีการที่อยู่ตรงกลางและดํารหัสสามารถและฮาร์ดแวร์ที่ต่ำกว่าระดับ TLA + มีจุดมุ่งหมายที่จะทำให้มันเป็นเรื่องง่ายที่จะเป็นไปได้ที่จะแสดงระบบde- เข้าสู่ระบบอย่างถูกต้องนำไปปฏิบัติที่ต้องการคุณสมบัติถูกต้องผ่านทั้งเหตุผลทางคณิตศาสตร์แบบเดิมหรือเครื่องมือเช่นตรวจสอบรูปแบบTLC 9 ที่ใช้ TLA + คุณสมบัติและละเอียดถี่ถ้วนตรวจสอบอุปต้องการrectness คุณสมบัติที่เป็นไปได้ในทุกร่องรอยการดำเนินการ บันไดของ AB- straction ยังช่วยให้นักออกแบบในการจัดการความซับซ้อนของระบบโลกแห่งความจริงที่นักออกแบบอาจเลือกที่จะอธิบายระบบที่หลาย"กลาง" ระดับของนามธรรมกับแต่ละระดับที่ต่ำกว่าการให้บริการที่แตกต่างกันวัตถุประสงค์(เช่นที่จะเข้าใจผลกระทบของfin- เมษายน 2 0 1 5 | VO ลิตร 58 | ไม่มีทุม 4 | C OM MUN IC ไอออน S AT T ของ ฯพณฯ พลอากาศเอก67contributed บทความพร้อมกันเอ้อเม็ดหรือรายละเอียดเพิ่มเติมการทำงานของการสื่อสารรักษาโรคหนอ) นักออกแบบก็จะสามารถตรวจสอบว่าแต่ละระดับที่ถูกต้องด้วยความเคารพไปยังระดับที่สูงขึ้น เสรีภาพในการเลือกและปรับระดับของนามธรรมทำให้TLA + ความยืดหยุ่นมาก. ตอนแรกไวยากรณ์และสำนวนของTLA + จะค่อนข้างคุ้นเคยกับการเขียนโปรแกรม โชคดีที่ TLA + จะมาพร้อมกับภาษาที่สองเรียกว่าPlusCal ที่อยู่ใกล้กับ C-รูปแบบการเขียนโปรแกรมภาษาแต่มากมากขึ้นการแสดงที่จะใช้ TLA + สำหรับการแสดงออกและค่านิยม PlusCal จะตั้งใจที่จะแทนโดยตรงสำหรับหลอกรหัส วิศวกรหลายคนที่อเมซอนได้พบพวกเขาเป็นโปรมากขึ้นductive ใช้ PlusCal กว่าที่พวกเขาจะถูก US-ing TLA + อย่างไรก็ตามในกรณีอื่น ๆ ที่มีความยืดหยุ่นที่เพิ่มขึ้นของธรรมดาTLA + ได้รับประโยชน์อย่างมาก สำหรับการออกแบบหลายทางเลือกที่เป็นเรื่องของรสชาติเป็น PlusCal ถูกแปลโดยอัตโนมัติเพื่อTLA + ด้วยการกดปุ่มเพียงครั้งเดียว ผู้ใช้ PlusCal จะมีที่จะคุ้นเคยกับTLA + เพื่อที่จะเขียนสำนวนที่อุดมไปด้วยและเพราะมันเป็นมักจะเป็นประโยชน์ในการอ่านTLA + transla- การที่จะเข้าใจ seman- แม่นยำสำบัดสำนวนของชิ้นส่วนของรหัส นอกจากนี้เครื่องมือ(เช่นการตรวจสอบรูปแบบ TLC) ทำงาน















































































































































































































การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
เพื่อหาข้อผิดพลาดที่ลึกซึ้งในการออกแบบระบบ
นั้นจะต้องมีรายละเอียดที่แม่นยำ
ของการออกแบบที่ มีอย่างน้อยสองหลักประโยชน์

ออกแบบเขียนชัดเจน : ผู้เขียนถูกบังคับ

คิดอย่างชัดเจนมากขึ้นช่วยลดสัมพันธ์ " มือโบก
,
" และเครื่องมือที่สามารถใช้ตรวจสอบข้อผิดพลาดใน
ออกแบบ แม้ในขณะที่มันถูกไรท์ -
10 ในทางตรงกันข้าม
ออกแบบทั่วไปเอกสารประกอบด้วยร้อยแก้ว สถิต Dia -
กรัม และบางทีรหัสเทียมใน
แบบเฉพาะกิจ untestable ภาษา เช่น
คำอธิบายอยู่ไกลจากที่ชัดเจน พวกเขามักไม่ชัดเจน หรือขาด criti
-
ด้านแคล ( เช่นความล้มเหลวบางส่วนหรือ
granularity ของการเห็นพ้องด้วย ) ที่
อีกปลายของสเปกตรัม รหัสปฏิบัติการสุดท้าย

จะชัดเจนแต่ประกอบด้วยปริมาณที่น่าหนักใจของ
รายละเอียดเราก็จะสามารถจับภาพ
สาระสําคัญของการออกแบบในไม่กี่ร้อย
เส้นของรายละเอียดที่ชัดเจน การออกแบบของเรา
จะได้ซับซ้อน เราใช้ภาษาแสดงออกอย่างมาก

, ไกลเหนือระดับของรหัส แต่กับ
แม่นยำอรรถศาสตร์ ที่ expressiv -
ity ต้องปก
ทุเรศทุรังจริงและยอมรับความผิด และเมื่อเราต้องการ
เพื่อสร้าง บริการ รวดเร็ว เราต้องการ
ภาษานั้นเป็นเรื่องง่ายที่จะเรียนรู้และ
ใช้หลีกเลี่ยงแนวคิดลึกลับ เรายังต้องการมากมาก
-
โคที่มีอยู่ระบบเครื่องมือ เราจึงมองหา
สำหรับการปิดชั้น ตามวิธีในการลงทุนผลตอบแทนสูง
.
เราเจอสิ่งที่เราตามหา
ใน tla 11 อย่างเป็นทางการสเปคแลน -
เกจตามง่ายโดยสิ้นเชิงคณิตศาสตร์
หรือชุดภาคแสดงทฤษฎีและพื้นฐาน ซึ่งวิศวกรทุกคน

คุ้นๆมี TLA สเปคอธิบายชุด
พฤติกรรมทางกฎหมายที่เป็นไปได้ทั้งหมด หรืออดีต
ecution ร่องรอยของระบบ เราพบว่ามันเป็นประโยชน์ที่เหมือนกัน

เป็นภาษาที่ใช้เพื่ออธิบายทั้งสินค้าที่ต้องการ -
rectness คุณสมบัติของระบบ (
" อะไร " ) และการออกแบบระบบ
( " " ) ใน tla คุณสมบัติและการออกแบบระบบมีความถูกต้อง

แค่ก้าวบนบันไดของ abstraction ,
ถูกต้อง คุณสมบัติครอบครอง -
ไอเอ็นจีที่สูงกว่าระดับระบบและการออกแบบ
ขั้นตอนวิธีตรงกลาง และผู้อำนวยการสร้าง -
สามารถรหัสและฮาร์ดแวร์ที่ลดลง
ระดับ TLA มีจุดประสงค์ที่จะให้มันเป็นง่ายๆเป็นไปได้ที่จะแสดง

ระบบ de - เข้าสู่ระบบได้อย่างถูกต้องใช้ที่ต้องการความถูกต้องเหมือนกัน

คุณสมบัติผ่านปกติ การให้เหตุผลทางคณิตศาสตร์หรือเครื่องมือเช่น TLC แบบ

ตรวจสอบ 9ที่ใช้สเปคอย่างละเอียดตรวจสอบและ TLA
-
rectness สินค้าที่ต้องการคุณสมบัติในการเป็นไปได้
ร่องรอย บันไดของ AB -

straction ยังช่วยให้นักออกแบบจัดการความซับซ้อนของระบบจริง อาจเลือกที่จะอธิบาย

ออกแบบระบบที่หลาย " ระดับกลาง "
ของนามธรรม แต่ละระดับล่าง
ให้บริการวัตถุประสงค์ที่แตกต่างกัน ( เช่น

เข้าใจผลของครีบ -
P R ชั้น 2 0 1 5 | Vo . 58 | n . 4 | c โอม m u n IC ที่ไอออนของ t เขา ACM
67contributed บทความ
เอ้อเม็ดพร้อมกันหรือพฤติกรรมรายละเอียด
เพิ่มเติมของเมดิ - การสื่อสาร
อืม ) ผู้ออกแบบสามารถตรวจสอบว่าในแต่ละระดับที่ถูกต้อง ด้วยความเคารพ

เพื่อระดับที่สูงขึ้น เสรีภาพในการเลือกและปรับระดับของนามธรรมทำให้

TLA มีความยืดหยุ่นมาก .
ตอนแรกไวยากรณ์และสำนวนของ
TLA จะค่อนข้างคุ้นเคยกับ
โปรแกรมเมอร์ โชคดี , TLA เป็นภาษาที่สอง

พร้อมกับเรียก pluscal ที่ใกล้ชิดกับ c-style

ภาษามาก แต่แสดงออก มันใช้ TLA สำหรับ
การแสดงออกและค่า pluscal คือ
ตั้งใจที่จะเป็นแทนโดยตรงสำหรับรหัสเทียม
. วิศวกรหลายที่
Amazon ได้พบพวกเขาจะมีโปร -
ductive ใช้ pluscal มากกว่าเรา -
ing TLA . อย่างไรก็ตาม ในกรณีอื่น ๆ ,

TLA มีความยืดหยุ่นเพิ่มเติมธรรมดา ได้รับประโยชน์มาก หลายแบบ
เลือกเป็นเรื่องของรสนิยม เป็น pluscal คือ
แปลโดยอัตโนมัติให้ TLA ด้วย
ปุ่มเดียวกด ผู้ใช้ pluscal มี
จะคุ้นเคยกับ TLA เพื่อ
เขียนนิพจน์รวย และเพราะมันเป็น
มักจะเป็นประโยชน์อ่าน TLA transla -
tion เข้าใจชัดเจนเซอมัน -
tics ของชิ้นส่วนของรหัส นอกจากนี้เครื่องมือ
( เช่น TLC ตรวจสอบรูปแบบ ) ทำงานเพื่อเพื่อหาจุดบกพร่องที่ลึกซึ้งในการออกแบบระบบ
นั้นจะต้องมีรายละเอียดที่แม่นยำ
ของการออกแบบที่ มีอย่างน้อยสองหลักประโยชน์

ออกแบบเขียนชัดเจน : ผู้เขียนถูกบังคับ

คิดอย่างชัดเจนมากขึ้น ช่วยขจัด
สัมพันธ์ " มือโบก " และสามารถใช้กับเครื่องมือ

ตรวจสอบข้อผิดพลาดในการออกแบบ แม้ในขณะที่มันถูกไรท์ -
10 ในทางตรงกันข้าม , เอกสารการออกแบบ
ปกติประกอบด้วยร้อยแก้ว สถิต Dia -
กรัม และบางทีรหัสเทียมใน
แบบเฉพาะกิจ untestable ภาษา เช่น
คำอธิบายอยู่ไกลจากที่ชัดเจน พวกเขามักไม่ชัดเจน หรือขาด criti
-
ด้านแคล ( เช่นความล้มเหลวบางส่วนหรือ
ส่วนของการ granularity ) ที่
อีกปลายของสเปกตรัม รหัสปฏิบัติการสุดท้าย

จะชัดเจนแต่ประกอบด้วยปริมาณที่น่าหนักใจของ
รายละเอียด เราก็จะสามารถจับภาพ
สาระสําคัญของการออกแบบในไม่กี่ร้อย
เส้นของรายละเอียดที่ชัดเจน การออกแบบของเรา
จะได้ซับซ้อน เราใช้ภาษาแสดงออกอย่างมาก

, ไกลเหนือระดับของรหัส แต่กับ
แม่นยำอรรถศาสตร์ที่ expressiv -
ity ต้องปก
ทุเรศทุรังจริงและยอมรับความผิด และเมื่อเราต้องการ
เพื่อสร้าง บริการ รวดเร็ว เราต้องการ
ภาษาที่ง่ายต่อการเรียนรู้และ
ใช้หลีกเลี่ยงแนวคิดลึกลับ เรายังต้องการมากมาก
-
โคที่มีอยู่ระบบเครื่องมือ เราจึงมองหา
สำหรับการปิดชั้น ตามวิธีในการลงทุนผลตอบแทนสูง
.
เราเจอสิ่งที่เรากำลังมองหาใน tla
,11 อย่างเป็นทางการสเปคแลน -
เกจตามง่ายโดยสิ้นเชิงคณิตศาสตร์
หรือชุดภาคแสดงทฤษฎีและพื้นฐาน
ที่วิศวกรทุกคนที่คุ้นเคย การอธิบายถึงชุดของ TLA
พฤติกรรมทางกฎหมายที่เป็นไปได้ทั้งหมด หรืออดีต
ecution ร่องรอยของระบบ เราพบว่ามันเป็นประโยชน์ที่เหมือนกัน

เป็นภาษาที่ใช้เพื่ออธิบายทั้งสินค้าที่ต้องการ -
rectness คุณสมบัติของระบบ (
" อะไร " ) และการออกแบบระบบ
( " " ) ใน tla คุณสมบัติและการออกแบบระบบมีความถูกต้อง

แค่ก้าวบนบันไดของ abstraction ,
-
ครอบครองถูกต้องคุณสมบัติไอเอ็นจีที่สูงกว่าระดับระบบและการออกแบบ
ขั้นตอนวิธีตรงกลาง และผู้อำนวยการสร้าง -
สามารถรหัสและฮาร์ดแวร์ที่ลดลง
ระดับ TLA มีจุดประสงค์ที่จะให้มันเป็นง่ายๆเป็นไปได้ที่จะแสดง
-
ระบบเดเข้าสู่ระบบได้อย่างถูกต้องใช้ที่ต้องการความถูกต้องเหมือนกัน

คุณสมบัติผ่านปกติ การให้เหตุผลทางคณิตศาสตร์
หรือเครื่องมือเหมือน TLC แบบตรวจสอบ 9
ใช้เวลา TLA และละเอียดถี่ถ้วนตรวจสอบสเปค
-
rectness สินค้าที่ต้องการคุณสมบัติในการเป็นไปได้
ร่องรอย บันไดของ AB -
straction ยังช่วยให้นักออกแบบจัดการ

ความซับซ้อนของระบบจริงผู้ออกแบบอาจเลือกที่จะอธิบาย
ระบบที่หลาย " ระดับกลาง "
ของนามธรรม แต่ละระดับล่าง
ให้บริการวัตถุประสงค์ที่แตกต่างกัน ( เช่น

เข้าใจผลของครีบ -
P R ชั้น 2 0 1 5 | Vo . 58 | n . 4 | c โอม m u n IC ที่ รายละเอียดของ t เขา ACM
67contributed บทความ
เอ้อเม็ดพร้อมกันหรือพฤติกรรมรายละเอียด
เพิ่มเติมของเมดิ - การสื่อสาร
อืม ) ผู้ออกแบบสามารถตรวจสอบว่า
แต่ละระดับที่ถูกต้อง ด้วยความเคารพ
เป็นระดับที่สูงขึ้น เสรีภาพในการเลือกและปรับระดับของนามธรรมทำให้


ตอนแรก TLA ความยืดหยุ่นมาก ไวยากรณ์ และสำนวนของ
TLA จะค่อนข้างคุ้นเคยกับ
โปรแกรมเมอร์ โชคดี , TLA เป็นภาษาที่สอง

พร้อมกับเรียก pluscal ที่ใกล้ชิดกับ c-style
ภาษาซีแต่แสดงออกมาก

เนื่องจากจะใช้ TLA สำหรับการแสดงออกและค่า pluscal คือ
ตั้งใจที่จะเป็นแทนโดยตรงสำหรับรหัสเทียม
. วิศวกรหลายที่
Amazon ได้พบพวกเขาจะมีโปร --
ductive ใช้ pluscal มากกว่าเรา -
ing TLA . อย่างไรก็ตาม ในกรณีอื่น ๆ ,

TLA มีความยืดหยุ่นเพิ่มเติมธรรมดา ได้รับประโยชน์มาก หลายแบบ
เลือกเป็นเรื่องของรสนิยม เป็น pluscal คือแปลโดยอัตโนมัติให้ TLA ด้วย

กดคีย์เดียว pluscal ผู้ใช้ก็จะคุ้นเคยกับ TLA

เขียนสำนวนเพื่อรวย และเนื่องจากมันมักจะเป็นประโยชน์ที่จะอ่าน TLA
-
transla tion เข้าใจชัดเจนเซอมัน -
tics ของชิ้นส่วนของรหัส นอกจากนี้เครื่องมือ
( เช่น TLC ตรวจสอบรูปแบบ ) งาน
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: