형식적인 수법을 배웠다
형식적인 수법이 실패했어요.
조금 일찍?(2021/03 정도) 형식수법소용없다이라쓸모가 있을 거예요.라 뜨거워서 공부를 해봤어요(1개월 정도 걸렸어요).
DeNA도 입문 뉴스라고 쓴 것 같은데.
AWS 용지 읽어주세요.
워낙 형식적인 수법이 뭔지 몰라서 알기 쉬운 기사는 없을 것 같다."AWS 용지은~"이라는 말이 자주 나오기 때문에 읽어야 한다.
이거 읽을거리로 좋아요.
Lamport에서 배우기
형식과 기법의 언어는 여러 가지가 있지만 위에서 언급한 tla+는 쉽게 손에 넣을 수 있을 것 같아서 그렇습니다.
tla+의 개발자, 수학자, 조화상 수상자Leslie Lamport로서 강좌를 필두로 다양한 자원을 수집하기 위해 노력했기 때문에 기본적으로 그것을 참조한다.헬로월드 수업 영상은 유튜브에도 전재돼 조용한 유머 감각이 흥미로운데 꼭 한번 보세요.
tla+의 내용
내용은 별로 언급되지 않았지만 높은 수준에서'thoroughly testable psedo 코드'를 사용했다.기본적으로 공식에서string으로 시스템의 상태를 정의하고'다음 상태'(x의 다음 상태는 x'로 표시)를 상태 이동도로 정의하여 이상한 행동이 있는지 확인한다. 이런 느낌(safety)과 유사하다.
여러 자원 관리자가 트랜잭션할 수 있는 상태 정의
canCommit == \A rm \in RM : rmState[rm] \in {"prepared", "committed"}
이것은 다음과 같은 형식으로render(외관만 보는 문제).canCommit ==\forall rm\in RM : rmState[rm]\in {"prepared", "committed"}
자원 관리자 상태 이동의 표시
or조건
\/
=\lor)과 and조건/\
=\land)의 조합Decide(rm) == \/ /\ rmState[rm] = "prepared"
/\ canCommit
/\ rmState' = [rmState EXCEPT ![rm] = "committed"
주의 사항
주의 사항
#
.Lamport의 강의 내용
먼저 motivation의 설명부터 TLA+toolbox의 다운로드와 사용 설명,transation commiit 등 간단한 알고리즘의 설치와 정확성을 검증한다.일일이 손을 대지 않으면 이해할 수 없어 애니메이션의 2배에서 5배가 걸렸다.
해보신 소감.
왜 집합과 위상을 배워야 합니까 같은 책을 읽은 후에 수학이 어떻게 세계를 추상화하고 모형화하는지에 대해 흥미를 느꼈기 때문에 시스템이 이렇게 기술할 수 있는 부분은 상당히 흥분되었다.10년 만에 텍스의 지식이 살아있으니 좀 즐겁다.
대규모 개발, SLA가 매우 엄격하다(개발 기간이 길다) 개발 등은 일반적이라고 생각한다.
개인적 요점
----- <module_name> -----
, 끝부분=========
TC!TCConstant
로 정의하고 활용References
Reference
이 문제에 관하여(형식적인 수법을 배웠다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/banbiossa/articles/96c83ce62adf01텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)