Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWSの堅牢性を支えるP言語
Search
Honoka Toda
July 17, 2025
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSの堅牢性を支えるP言語
社内のLT会でP言語について発表しました
Honoka Toda
July 17, 2025
Transcript
24 slides
AWSの堅牢性を支えるP言語 社内LT会 株式会社AbemaTV BD本部 戸田朋花
戸田朋花(とだほのか) AbemaTV BD本部所属 25卒バックエンドエンジニア 所属 アクセンチュア24卒入社、半年で退職 サイバーエージェント25年第二新卒入社 2025年未踏ITクリエイター 経歴
P言語とは🤔
P is a state machine based programming language for formally
modeling and specifying complex distributed systems. P
分散システムを形式的にモデリングする 形式手法
形式手法とは🤔
形式手法(けいしきしゅほう、英: formal methods)は、ソフトウェア工学における数学を 基盤としたソフトウェアおよびハードウェアシス テムの仕様記述、開発、検証の技術である。 https://ja.wikipedia.org/wiki/形式手法
プログラミング言語っぽいもので システムの仕様の記述や、検査ができる手法 形式手法とは
P言語は 分散システムの仕様の記述や、検査ができる P言語とは
仕様の記述例
P is a state machine based programming language for formally
modeling and specifying complex distributed systems. P
Client Server - P 銀行システム
ステートマシンによるモデリング Client Server Database
仕様記述例(DB)
- 安全性(safety)の検査 - クライアントが見る口座残高は常に正しい - 活性(liveness)の検査 - クライアントの全ての引き出し要求が、 最終的には必ず応答される 検査例
AWSでのP言語の活用
AWSはP言語を使って様々なシステムの正しさを検査している Gain confidence in system correctness & resilience with formal
methods
S3を強い整合性にする際にPで検査 Amazon S3 Update – Strong Read-After-Write Consistency | AWS
News Blog
開発プロセスへの形式手法の統合 実装に進む前にPで仕様記述とモデル検査を行う👀
形式手法を使う利点 - 実装前にシステムを深く理解できる - 異常系も含め、期待する動作を実装前に正確に定義しないといけない - バグを早期に発見できる - 通常のテストでは気付きにくいものも!
宣伝 未踏IT人材発掘・育成事業:2025年度採択プロジェクト概要(戸田PJ)
課題 22 設計手法が標準化されていない 設計の検証手段がない 設計と実装の統合 が難しい 設計という行為が曖昧で不完全である
解決策 Design as Code 23 形式手法 goat 設計をコード化し、検証可能に!
Starつけて応援してもらえると嬉しいです https://github.com/goatx/goat
More Decks by Honoka Toda
See All by Honoka Toda
未踏IT 2025 Demo Day Design as CodeによるSpec-Driven Developmentの実現
hono0130
0
120
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
5
1.8k
ABEMAでのSlack活用事例 @ 2025
hono0130
0
140
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
4k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.3k
How to Ace a Technical Interview
jacobian
280
24k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
570
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
900
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
640
Ruling the World: When Life Gets Gamed
codingconduct
0
440
GraphQLとの向き合い方2022年版
quramy
50
15k
AI: The stuff that nobody shows you
jnunemaker
PRO
12
1.3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k