All slide content and descriptions are owned by their creators.
All slide content and descriptions are owned by their creators.
AWSがFormal Methodsを使っているというので、見てみる。分散アルゴリズムの検証に、形式手法が有効だったという話である。調べてみると、ACMの記事になる4年も前から、発表されていたらしい。 論文によると How Amazon Web Services Uses Formal Methods | April 2015 | Communications of the ACM AWSでは、2011年からFormal Methodsを使って、重要な分散システムのアルゴリズム設計を行っている。また、外部公開I/Fを単純化して提供することで、大規模な分散システムでサービスを提供できる秘訣となっている。AWSでは、顧客のデータを保護するために、フォールトトレラントな分散アルゴリズムを使っている。また、分散アルゴリズムはたくさんあるが、それらを組み合わせるのは難しい。 TLA+は、プログラマが
LTSA is a verification tool for concurrent systems. It mechanically checks that the specification of a concurrent system satisfies the properties required of its behaviour. In addition, LTSA supports specification animation to facilitate interactive exploration of system behaviour. A system in LTSA is modelled as a set of interacting finite state machines. The properties required of the system are
1.はじめに 私は主に組み込み分野における開発に携わってきました。近年、組み込み分野では、品質に対する要求はどんどん厳しくなっています。現在、品質向上のための様々なアプローチが行われています。今回は、人間にわかりやすいモデルを、抜け漏れなく検証するという観点で、UMLとモデル検証の組み合わせの可能性を探ってみました。 本記事では、UMLの状態マシン図で記載したモデルに、モデル検証ツールspinを適用していきます。 spinとは、ベル研究所で開発されたオープンソースのモデル検証ツールです。検証対象のモデルの取りうる全ての状態において、検証条件を満たしているか確認することができます。また、複数のタスクで動作するシステムにおけるデッドロックの発生なども検出することができます。デッドロックの検出例は、書籍やWebサイトでも多く紹介されています。 組み込みシステムにおいては、現在でもRTOS(リアル
The information in the patterns can be presented in a variety of ways. One organization, illustrated below, is based on classifying the patterns in terms of the kinds of system behaviors they describe. Occurrence Patterns talk about the occurrence of a given event/state during system execution. Order Patterns talk about relative order in which multiple events/states occur during system execution.
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第50回は、イタリア発のRTOS「BeRTOS」を紹介する。
UtbildningForskningSamarbeta med ossOm ChalmersAktuelltInstitutioner InstitutionenData- och informationsteknikVi bedriver forskning och utbildning inom AI, cybersäkerhet, interaktionsdesign, software engineering, computing science och datateknik - från grundforskning till direkta tillämpningar. Vi utbildar för framtiden och bedriver forskning nära näringslivet, organisationer och akademin för att
PVS is a mechanized environment for formal specification and verification. PVS consists of a specification language, a large number of predefined theories, a type checker, an interactive theorem prover that supports the use of several decision procedures and a symbolic model checker, various utilities including a code generator and a random tester, documentation, formalized libraries, and examples
形式的手法の発祥の地,欧州では 「同手法についてよくある誤解」とのテーマが学会などで語られる。 一方,日本ではその存在すらほとんど認知されておらず よくある誤解などが発生する以前の状態だ。 こうした中,国内でも先駆的に形式的手法を活用し成果を上げた企業がある。 研究者の興味の対象でしかなかった形式的手法が,いよいよ日本でも現場に広がり始めた。 仕様記述と形式検証(モデル検査)。 形式的手法を構成するぞれぞれの分野での最新事例を紹介する。 形式的手法は,主に2つに大別される。1つは,ソフトウエアの仕様を「形式的な仕様記述言語」を使って論理的に記述したり,検査したりすることで,少しでも早い段階でバグを洗い出す「仕様記述」。もう1つは,形式的な仕様記述言語とは別の専用言語で記述したシステムの状態遷移をコンピュータに入力することで,振る舞いにバグがないかどうかを高速かつ自動的に探索する「形式検証(
Spécialiste en systèmes sécuritaires Specialist in safety critical systems CLEARSY a été fondée le 1er Janvier 2001 par l’équipe d’ingénieurs auteurs de l’industrialisation de l’outil de modélisation formelle nommé Atelier B, utilisé dans le secteur du ferroviaire pour réaliser les logiciels de sécurité. CLEARSY, INGENIERIE DE SYSTEMES SECURITAIRESNous sommes une PME française, spécialisée dans la
This is the The wiki about formal methods set up by Jonathan Bowen that anyone can edit. See announcement. Tip: If you register with this website you will receive less advertisements. 133 articles since February 2009 Helping out Not sure where to start? Find out more about the wiki on the About page. If you are new to wikis, check out the tutorial, and see Help:Contents. Check out Help:Starting th
「Coqで定理を記述してみる、型クラスとか使って」に次のような断り書きを入れました。 ミート半束のような代数構造をどう定義するのが良いのか、あんまり分かってないのですが、まーまー使える方法を紹介します。この方法には課題があることを注意しておきます。今回の目的ではうまくいきますが、より大規模な記述にはもっと効率的な方法が必要かも知れません。 代数構造を定義する別な方法である、スピターズ/ファンデル・ウィーゲンの方式をかいつまんで紹介します。 内容: Bundling is bad 追記: 方式の呼び名 オールインワン方式 バンドル方式 アンバンドル方式 何が違うの? ソースコード Bundling is bad 「Coqで定理を記述してみる、型クラスとか使って」では、ミート半束と(最大元付き)順序集合を定義するために、「マグマのクラス」と「法則(公理系)を書いたクラス」を使いました。スピター
Programming Language and Theorem Prover
状態は単なる名前です.シンボルでも数でもよいとしておきます. 遷移ラベルは遷移を区別するためのラベルで,これもシンボルでも数でもよいとしておきます. 条件は遷移が可能かどうかを判定する論理式です.いわゆるガードです. 条件では変数宣言で宣言した変数が参照できるものとします. 変数変換は,この遷移が発生したときに,各変数の値がどのように変化するのかを指定する式です. ここでは話を簡単にするために,すべての変数の値をリストで返すものとします. 例えば変数宣言が ((x 0) (y 0)) となっていたら,同じ順序で x, y の値をリストにして返すものとします. モデル記述の全体と例 一般に状態マシンは複数ある(マルチプロセス)ので,リストで並べるものとします. モデルの全体例は次のようになります. (define m (make-model ((x 0) (p 0) (q 0)) ((P 0
セミナー 形式手法に関するセミナーを開催しています. 詳細につきましてはセミナーのページをご覧ください. SyncStitch: A Model Checker based on the Process Algebra CSP SyncStitch is a model checker based on the process algebra CSP (Communicating Sequential Processes). By using SyncStitch, you can check six types of properties of the system you are developping: Deadlocks Divergences (also known as livelocks) Refinement relation on traces semantics (sa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く