рдЯреАрдПрд▓рдП + рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рд▓реНрд▓реА рдХреЛ рдХреИрд╕реЗ рдкрдХрдбрд╝рдирд╛ рд╣реИ

рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕рдВрдШрд░реНрд╖ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдФрдкрдЪрд╛рд░рд┐рдХ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рднреАрддрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрди рддрд░реАрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрдмрдХрд┐ рдкреНрд░рднрд╛рд╡реА, рдЕрдиреБрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рди рдкрд╣реЗрд▓реА рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдЬрд╛рдБрдЪ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

рд╕реНрдерд┐рддрд┐рдпрд╛рдВ


рдЖрдк рдПрдХ рджрд╛рд▓рд╛рди рдореЗрдВ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рддрд░рдл рд╕рд╛рдд рджрд░рд╡рд╛рдЬреЗ рд╣реИрдВ рдФрд░ рд╕рд╛рдд рдХрдорд░реЗ рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рдХрдорд░реЗ рдореЗрдВ рдПрдХ рдмрд┐рд▓реНрд▓реА рдЫрд┐рдкреА рд╣реБрдИ рд╣реИред рдЖрдкрдХрд╛ рдХрд╛рдо рдмрд┐рд▓реНрд▓реА рдХреЛ рдкрдХрдбрд╝рдирд╛ рд╣реИред рдПрдХ рджрд░рд╡рд╛рдЬрд╛ рдЦреЛрд▓рдирд╛ рдПрдХ рдХрджрдо рд╣реИред рдпрджрд┐ рдЖрдк рд╕рд╣реА рджрд░рд╡рд╛рдЬреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд┐рд▓реНрд▓реА рдХреЛ рдкрдХрдбрд╝рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕рд╣реА рджрд░рд╡рд╛рдЬреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рдмрд┐рд▓реНрд▓реА рдЕрдЧрд▓реЗ рдХрдорд░реЗ рдореЗрдВ рднрд╛рдЧ рдЬрд╛рддреА рд╣реИред

рдЯреАрдПрд▓рдП + рдФрд░ рд▓реМрдХрд┐рдХ рддрд░реНрдХ


рдХреБрдЫ рдЙрдкрдХрд░рдг рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд╕рдПрдордЯреА рд╕реЙрд▓реНрд╡рд░ , рдЬреЛ рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзреЗрдп рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдЕрдиреБрдХреНрд░рдо рд╣реЛрддрд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, TLA + , рд▓реМрдХрд┐рдХ рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╡рд░реНрддрдорд╛рди рдФрд░ рдЕрдЧрд▓реЗ рдЪрд░рдг рджреЛрдиреЛрдВ рдореЗрдВ рдПрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

CatDistr' = CatDistr \ {n} 

рдпрд╣ рд╕реНрдерд┐рддрд┐ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рджрд░рд╡рд╛рдЬреЗ рдПрди рдХреЗ рдкреАрдЫреЗ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рджрд░рд╡рд╛рдЬреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд╣рд╛рдБ рдмрд┐рд▓реНрд▓реА рд╕реНрдерд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрди рдХрдорд░реЛрдВ рдХреЗ рд╕реЗрдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ рдЬрд╣рд╛рдБ рд╕реЗ рдПрди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред (рдпрджрд┐ рдмрд┐рд▓реНрд▓реА рджрд░рд╡рд╛рдЬрд╛ рдПрди рдХреЗ рдкреАрдЫреЗ рдереА, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╡рд╣ рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред)

рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ, рдпрд╣ рдкреБрд░рд╛рдиреЗ рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдПрдХ рдирдпрд╛ рдЪрд░ рдмрдирд╛рддрд╛ рд╣реИред

рд╕реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдмрд┐рд▓реНрд▓реА рдХреА рд╕реНрдерд┐рддрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбрд▓рд┐рдВрдЧ рдХрдХреНрд╖ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд░реЗ рдХреЗ рдмрдЬрд╛рдп, рд╕рднреА рд╕рдВрднрд╡ рдХрдорд░реЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рднреАрддрд░ рдПрдХ рдЪрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдФрдкрдЪрд╛рд░рд┐рдХ рддрд░реАрдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдХреЗ рдмрдЬрд╛рдп рд╕рдВрднрд╛рд╡рд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреА рдмрд╣реБрд▓рддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдЕрдХреНрд╕рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рд╕реЗ рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдЯреАрдПрд▓рдП + рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕рдВрд░рдЪрдирд╛


рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдШреЛрд╖рдгрд╛рдПрдБ рдФрд░ рдХрдерди (рднрд╡рд┐рд╖реНрдпрд╡рдХреНрддрд╛) рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:

  • рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛
  • рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдХреА рдХрдбрд╝реА
  • рдЕрдЧрд▓рд╛ рд░рд╛рдЬреНрдп
  • рдПрдХ рдЖрдХреНрд░рдордгрдХрд╛рд░реА рдЬреЛ рд╕рднреА рдЙрдкрд▓рдмреНрдз рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред

рдЗрд╕рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзреЗрдп (рдЬреИрд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░) рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

 ---- MODULE cat ------------------------------------------------------------- EXTENDS Integers CONSTANTS Doors VARIABLES CatDistr, LastDoor Init == /\ CatDistr = 0..Doors /\ LastDoor = -1 OpenDoor(n) == /\ CatDistr' = 0..Doors \intersect UNION { {x-1, x+1} : x \in CatDistr \ {n} } /\ LastDoor' = n Next == \E door \in 0..Doors : OpenDoor(door) CatWalk == CatDistr /= {} ============================================================================= 

рдЙрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ:

  • рдкрд╣рд▓реА рдФрд░ рдЖрдЦрд┐рд░реА рд▓рд╛рдЗрдиреЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╕реНрд░реЛрдд рдореЙрдбреНрдпреВрд▓ рд╣реИред
  • == рдХрд╛ рдЕрд░реНрде рд╣реИ 'рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд╛'ред
  • = рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдорд╛рди рдмрд░рд╛рдмрд░ рд╣реИрдВ
  • рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджрд░рд╡рд╛рдЬреЗ рдПрдХ рдирд┐рд░рдВрддрд░ рд╕реЗрдЯ рд╣реИред
  • рдХреИрдЯрдбрд┐рд╕рд░ рдЙрд╕ рдХрдорд░реЗ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдмрд┐рд▓реНрд▓реА рд╕реНрдерд┐рдд рд╣реИред
  • LastDoor рдЪрд░, рдЬреЛ рдЕрдВрддрд┐рдо рдЪреЗрдХ рдХрд┐рдП рдЧрдП рдХрдорд░реЗ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ, рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИред рдмрдбрд╝реЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреЗ рдЪрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдзреАрдорд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрди рд░рд╛рдЬреНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдореЙрдбрд▓ рдореЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд░рд╛рдЬреНрдп рдореЗрдВ рдЕрдм рдЗрддрд┐рд╣рд╛рд╕ рд╢рд╛рдорд┐рд▓ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рджрд░рд╡рд╛рдЬреЗ рдЦреЛрд▓реЗ рдЧрдП рдереЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдмрдирд╛рдП рдЧрдП рд╕рдорд╛рди рд░рд╛рдЬреНрдп рдЕрдм рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВред
  • рдЗрдирд┐рдЯ рдкреНрд░реЗрдбрд┐рдХреНрдЯрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрднреА рддрдХ рдХреЛрдИ рджрд░рд╡рд╛рдЬреЗ рдирд╣реАрдВ рдЦреЛрд▓реЗ рдЧрдП рд╣реИрдВред
  • OpenDoor (n) рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рджрд░рд╡рд╛рдЬрд╛ n рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ - рдпрд╛ рддреЛ рдЖрдкрдиреЗ рдмрд┐рд▓реНрд▓реА рдХреЛ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛, рдпрд╛ рдЖрдкрдиреЗ рдирд╣реАрдВ рд▓рд┐рдпрд╛ред
  • рдЕрдЧрд▓рд╛ рднрд╡рд┐рд╖реНрдпрд╡рдХреНрддрд╛ рдореМрдЬреВрдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ TLA + рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдХрдорд░реЗ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдХреНрд░рдордгрдХрд╛рд░реА рд╕рд╣реА рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

    рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ:

     Next == OpenDoor(0) \/ OpenDoor(1) \/ ... \/ OpenDoor(Doors) 

    рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдб рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдорд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рдХреЛ рдорд╛рдирдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдЕрдВрдд рдореЗрдВ, рдХреИрдЯрд╡реЙрдХ рдЖрдХреНрд░рдордгрдХрд╛рд░реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдмрд┐рд▓реНрд▓реА рдХрд╣рд╛рдБ рдЫрд┐рдк рд░рд╣реА рд╣реИред рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЙрд▓реНрд▓рдВрдШрди рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмрд┐рд▓реНрд▓реА рдХреЛ рдЬрд╣рд╛рдВ рднреА рдЫрд┐рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡рд╣ рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЙрд▓реНрд▓рдВрдШрди рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ред

рдореЙрдбрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди


 CONSTANTS Doors = 6 INIT Init NEXT Next INVARIANT CatWalk 

рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐, рдХрдорд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдПрдХ рд░рд╛рдЬреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдПрдХ рд╕рддреНрдпрд╛рдкрди рдпреЛрдЧреНрдп рдкрд░реАрдХреНрд╖рд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдЖрдк рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЗрд╕ рдореЙрдбрд▓ рдХреЛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
tlc2 -config cat.cfg cat.tla ред

TLA + рдореЗрдВ рдПрдХ рдЙрдиреНрдирдд GUI рд╣реИ рдФрд░ рдЗрд╕реЗ tla-toolbox рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ .cfg рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрдиреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЙрдбрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдмрдирд╛рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рдерд╛, рд▓реЗрдХрд┐рди рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдФрдкрдЪрд╛рд░рд┐рдХ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝реЗ рдореЙрдбрд▓ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╣рдо рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рд░рд▓ рдкрд╣реЗрд▓рд┐рдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛, рдХрд╛рд░реНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рддрд░реАрдХреЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

  • рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╕рдорд╛рдзрд╛рди рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
  • TLA + рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ рдпрд╣рд╛рдВ ред

Source: https://habr.com/ru/post/hi462397/


All Articles