X



【Alloy】形式言語による仕様記述【VDM】
■ このスレッドは過去ログ倉庫に格納されています
0002デフォルトの名無しさん
垢版 |
2013/01/05(土) 21:33:15.76
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
0004デフォルトの名無しさん
垢版 |
2013/01/06(日) 01:16:08.51
ついでだからIPAの報告書
(個人的には形式手法を良とするバイアスがかかっているように思うが)

「形式手法適用調査」報告書
http://sec.ipa.go.jp/reports/20100729.html

「情報系の実稼働システムを対象とした形式手法適用実験報告書」
http://sec.ipa.go.jp/reports/20120420.html

形式手法導入課題を解決する「形式手法活用ガイドならびに参考資料」
http://sec.ipa.go.jp/reports/20120928.html

実務家のための形式手法 教材「厳密な仕様記述を志すための形式手法入門」
http://sec.ipa.go.jp/reports/20121113.html
0006デフォルトの名無しさん
垢版 |
2013/01/08(火) 01:54:13.02
特許庁の新システム入札やり直すらしいけど
ああいうのこそ形式手法を適用する意義がありそうなものだが

形式手法によってデスマが回避できるというよりは
デスマを回避できる体力があるから形式手法を採用できるってのが
実際なのかもしらん
0010デフォルトの名無しさん
垢版 |
2013/01/11(金) 22:54:26.79
あきらめたというかフェードアウトした感じかな
たしか半分くらいまでは読んだけど、いつの間にか
読むのをやめてた

形式手法はまったくの素人だったので(今も)
よく分からんかった
0011デフォルトの名無しさん
垢版 |
2013/01/17(木) 10:49:33.93
>>4 >>5
>IPAの報告書 >第3回形式手法の産業応用ワークショップ
見たけど相変わらずだな。使い物にならんよあんなのじゃ。
人材いないんだなこの方面。
0012デフォルトの名無しさん
垢版 |
2013/01/18(金) 03:26:26.90
国内だと人材が少ない(しかも学術寄りの人の方が多い)
ってのは実感としてある

形式手法は静的解析のツールとして利用される道の方が明るい気がする
人間が読み書きする形式言語が使い物になる日は来ないと思う
0013デフォルトの名無しさん
垢版 |
2013/01/18(金) 17:38:42.62
>>12
うん。学術系はだめだ。
実務に近いSRAがやや骨があるようだが。
>人間が読み書きする形式言語
これはどう言う意味かわからんが
>使い物になる日は来ないと思う
そんなことはない。一流人材が参戦すれば変わる。
0014デフォルトの名無しさん
垢版 |
2013/01/18(金) 19:43:02.15
仕様記述に10日かけて、
プログラムを自動生成して3日で納品できるようになるとすると
ビジネスのありかたとしては
仕様記述で工数を計上して費用請求することになって
今までの設計と大差ないことになるのジャマイカ
0015デフォルトの名無しさん
垢版 |
2013/01/19(土) 00:19:45.43
>>14
なにが大差ないと言っているのかよくわからん。
0016デフォルトの名無しさん
垢版 |
2013/01/19(土) 01:08:35.95
費用や納期だけで評価したら大差ないってことでしょ

現状ソフトウェアの品質を正当に評価していない(できない)から
形式手法を導入するインセンティブが働かない

てかageる必要あんのか?
0017デフォルトの名無しさん
垢版 |
2013/01/19(土) 01:18:12.83
>>15
とある情報システムを開発するのにかかるコスト
とか
予算や開発期間がオーバーするリスク
とか
0018デフォルトの名無しさん
垢版 |
2013/01/19(土) 12:16:55.38
>>11 >>14 >>17
確かに今までの形式手法ではそうだ。
論文を書きたいだけの奴にはそれでいいんだろ。
>>16
品質は費用納期に反映されるので、それは形式手法側の言い訳だ。
0019デフォルトの名無しさん
垢版 |
2013/01/19(土) 13:05:09.39
>>18
論文と現場の乖離を示唆しながら
>品質は費用納期に反映される
はねぇだろ

営業や契約担当じゃないから実態は知らないが
発注元は
「フィールドバグ○件以下。超過した場合は違約金!」
とか契約文書に書けるの?

逆に請負側(候補)は
形式手法の適用が要件に入っていない案件で
「我が社は形式手法を導入しているのでちょっといいお値段です!」
で競争に勝てるというの?

「我が社で納期が短縮できるのは形式手法で開発の手戻りを低減するからです!
品質下げる訳じゃありません!」
とか発注元に説明すんの?
0020デフォルトの名無しさん
垢版 |
2013/01/19(土) 13:53:26.32
>>19

>「フィールドバグ○件以下。超過した場合は違約金!」
>とか契約文書に書けるの?
そりゃ書ける場合もあるよ。
それに、バグが多いと、当然後の注文もなくなってくるだろ。

>「我が社は形式手法を導入しているのでちょっといいお値段です!」
それは、顧客にとってのメリットを言っていないので、その時点でダメだよ。

>「我が社で納期が短縮できるのは形式手法で開発の手戻りを低減するからです>!品質下げる訳じゃありません!」とか発注元に説明すんの?
黙って短い納期でやればいいだけだろ。それは顧客にとってメリットだし、
こっちも短くなった分、他の仕事ができるし。

ほんとに使える形式手法とはこういうものなんだよ。
0021デフォルトの名無しさん
垢版 |
2013/01/19(土) 14:57:17.31
話が通じていないな

・ソフトウェアの品質を規定する統一的な指標がない
・既存の品質指標は開発手法に依存することが多い
 (形式手法を適用した場合としない場合の公平な比較が困難)
・形式手法を要件に入れると対応できる業者が制限される

このため形式手法を導入するメリットが明確な「発注」がそもそも少ない
(メリットが明確なセーフティクリティカルやミッションクリティカルな案件では
現状でも形式手法が成果を上げている)

潜在的需要があっても表面上需要が無ければ
請負側に働く形式手法導入のインセンティブは弱い
0022デフォルトの名無しさん
垢版 |
2013/01/19(土) 15:15:19.07
請負側としては

同じ業者から大きな案件を頻繁に受注するケースは少ない
評判に期待して今回頑張っても次回の受注がいつなのかは分からない

いつ効果が表れるか不明確な投資はやりにくい
業界全体で評判になるほどの成果を上げるのは体力に余裕がないとできない

しかも形式手法が扱える業者は多くないが
形式手法だけで需要を独占できるほどの特殊性はない
0023デフォルトの名無しさん
垢版 |
2013/01/19(土) 15:23:25.33
請負側開発者・マネージャとしては

形式手法によりコストや納期を圧縮できるかもしれないが
勉強やらに費やした分だけ自分の給与が上がる保証はない

訳のわからない仕様書から解放されるといった
現場の幸せを要求しても経営判断には反映されにくい
0024デフォルトの名無しさん
垢版 |
2013/01/19(土) 15:44:33.85
高階関数とかのようなメタプログラミング機構がなくて言語としては貧弱なのも欠点
0025デフォルトの名無しさん
垢版 |
2013/01/19(土) 16:08:35.77
まあ今の形式手法の状況認識はそれでいいんじゃないか
>セーフティクリティカルやミッションクリティカルな案件では
現場にとってはそういうニッチなところで使うもので、
平凡な研究者にとっては、やればできると分かっている事をやれば少しは
論文が書けるというそんなものなんじゃないか?
それじゃつまらんけどね
0026デフォルトの名無しさん
垢版 |
2013/01/19(土) 19:06:51.37
新参で申し訳ないんだけど
形式言語で書いた仕様書は発注側が用意するの?
受注側が用意するの?
0027デフォルトの名無しさん
垢版 |
2013/01/19(土) 19:55:52.90
形式手法は商習慣まで関知せんよ

発注側「こういうもの作って」→受注側「言われたものを作りました」
という関係がものづくりとしては自然に思えるが
日本のICT業界は往々にしてこうはなっていない

上流で形式仕様を作成する場合
ユーザ企業はまずコンサル会社や大手ベンダに
「形式仕様作成と検証」といった発注を出すんじゃないかな
特に日本の場合は要求分析もセットになるかもしれない
0028デフォルトの名無しさん
垢版 |
2013/01/19(土) 20:55:25.43
C++の新規格のドラフトにaxiomsっていうのがあったんだけど
結局却下されちゃったんだよな
0029デフォルトの名無しさん
垢版 |
2013/01/20(日) 18:35:51.46
>>25
そっち方面の学界が腐敗とまでは言わんが競争がなく濁ってるんじゃないか?
だから一流人材が出て来ない。
0031デフォルトの名無しさん
垢版 |
2013/01/22(火) 23:33:47.71
シンタックスはともかくセマンティクスにおいて
VDM++のまともな仕様って無いの?
曖昧さを持った言語で形式仕様記述とか欺瞞じゃね?

VDM-10のVDM++のが
枠組みはしっかりしてるけど事実上使えないし
Overture界隈はVDM-RTに傾倒してる感じだし
何かみんなおでこ広いし
0032デフォルトの名無しさん
垢版 |
2013/01/26(土) 00:09:26.58
>>13
> >人間が読み書きする形式言語
> >使い物になる日は来ないと思う
> そんなことはない。一流人材が参戦すれば変わる。

その一流の人材が膨大な人数どうやって確保するの?
形式仕様言語でフルに仕様を書けばプログラムコードと同じオーダーの行数になるという経験則がある。
つまり数人で作れるおもちゃのソフトウェアならともかく、社会の根幹を支えそれが故に信頼性が必須とされる
大きなソフトウェアは現在の大規模開発でプログラミングに関わってる膨大な人数と同じオーダーの
形式仕様記述者が必要になるってことだ。

それだけ莫大な人数のそんな高い質の人材が世界のどこにいるんだい?
寝言は寝てから言った方がいいよ。

それに数人のプロジェクトに限定しても、それを一流の人材で仕様記述しても
それで作られたソフトウェアの寿命がある間は、そいつのメンテナンスのために
ずっと一流の人材を貼りつけておかないと、彼らが書いた形式仕様なんて難しいものは
2流の人材じゃ読み書きできないから保守できないよね。ってことで一流の人材ほど
彼らが書いた仕様のお守をさせられて他の仕事ができなくなる。

これって素晴らしい才能の無駄遣い法だね。
0033デフォルトの名無しさん
垢版 |
2013/01/26(土) 12:32:30.58
一流の人材を活用するとしたら
二流・三流の人が使える形式手法の技術を確立することだろうね

そういう意味では一流の人材は既に集まっている
ただ二流・三流が何たるかを理解できていない可能性はある
0034デフォルトの名無しさん
垢版 |
2013/01/26(土) 19:14:58.59
用語定義で「名前: 2chに書き込むときの名前」てなこと書いておきながら
本編に「家で飼っているぬこの名前は〜」
とかしれっと書く奴はメタメタにしてやんよ!

軽量形式手法なんて形式手法じゃねぇと思ってたが
名を捨てて実を取ることも必要だと感じた。
0035デフォルトの名無しさん
垢版 |
2013/01/27(日) 23:46:08.13
>>32
>形式仕様言語でフルに仕様を書けばプログラムコードと同じオーダーの行数に
>なるという経験則がある。
だからあ!そういう今の形式仕様言語が糞なんだよお!まだ分からんのかあ!
0036デフォルトの名無しさん
垢版 |
2013/01/28(月) 01:17:16.05
>>35
> >>32
> >形式仕様言語でフルに仕様を書けばプログラムコードと同じオーダーの行数に
> >なるという経験則がある。
> だからあ!そういう今の形式仕様言語が糞なんだよお!まだ分からんのかあ!

ならば、形式仕様でフルに仕様記述するのが現実に可能だと主張したいのならば、
今のクソのでない形式仕様言語を現実に作ってからにしろ。

現実に存在しない夢のような形式仕様言語の存在を前提として>>13を主張するのは
単なる精神病患者だよ、誇大妄想と言う名前のな。

形式仕様屋にはこの手の誇大妄想患者が多すぎる。だから信用をなくして来たんだよ。
0037デフォルトの名無しさん
垢版 |
2013/01/28(月) 01:22:14.84
>>13は今のクソでない形式仕様言語を現実に作るために、一流人材が参加すれば可能だと述べているんだろ。
とはいえ、この論旨を許せば一流人材とやらがいれば世界征服すら可能になるが。
0038デフォルトの名無しさん
垢版 |
2013/01/28(月) 08:48:24.11
いまはむしろ誇大妄想がいないのが痛い。
だからユーザがプログラムと同じじゃないかと当たり前の苦情を言っても、
夢のような期待をするなと逆切れしてくる。
0039デフォルトの名無しさん
垢版 |
2013/01/28(月) 08:56:42.23
>>37
クソでない形式言語を作るのは世界征服と並ぶほど難しいことなのでしょうか?
0040デフォルトの名無しさん
垢版 |
2013/01/28(月) 18:52:03.46
フルフル君さ、ちょっと聞きたいんだけど、どういう意味で「フル」って言ってる?
フルに詳細化された仕様?
そりゃロクに抽象せずに詳細化された仕様をベタに書けばプログラムソースと同様になるわなw
0041デフォルトの名無しさん
垢版 |
2013/01/28(月) 19:23:10.47
また抽象なんて甘いこと言って逃げるw
ベタに書いたらプログラムと同等なるならダメなんよ
0044デフォルトの名無しさん
垢版 |
2013/01/28(月) 19:41:09.93
よし。アンタの言う仕様記述言語のポイントは何か、逃げずに言ってみろ。
0045デフォルトの名無しさん
垢版 |
2013/01/28(月) 20:14:25.27
フルフル君でもそれに噛みついている人でもないが

記述量は確かに実用上の課題ではあるけども
プログラムコードと同じオーダーなら駄目で短いならOKって
単純な話ではないと思うんだが

自然言語による仕様書の記述・検証の工数を無視しているのは意図的か?

それに形式的検証まで含むか否かで大きく変わる
証明された信頼性とテストによる確率的な信頼性は比較できない

自動コード生成が可能かどうかでも大きく変わる
0046デフォルトの名無しさん
垢版 |
2013/01/30(水) 07:46:32.50
PGが仕様記述言語でプログラム書いてるから、
プログラムと同じ長さになるんじゃね?
0047デフォルトの名無しさん
垢版 |
2013/01/30(水) 18:32:23.88
その「仕様記述言語」は、もはや一種のプログラミング言語じゃ?
0048デフォルトの名無しさん
垢版 |
2013/01/30(水) 20:20:25.03
プログラム言語を含んでいる仕様記述言語は多いね。
プログラム言語部分だけで仕様を書いちゃう人が
仕様がプログラムと同量だとか言い出すんだろうね。
0049デフォルトの名無しさん
垢版 |
2013/01/30(水) 22:00:41.42
>>45 >>46 >>47 >>48
仕様記述言語とプログラミング言語はどこが違うものなの?
0050デフォルトの名無しさん
垢版 |
2013/01/30(水) 23:21:07.11
>>49
目的が違う

実際のところ言語やターゲットとなる案件によっては
プログラミング言語でも仕様記述は不可能ではないし
仕様記述言語で実行可能なコードを書くこともできる

道具として両者を近づける試みも多数なされているが
仕様と実装をごっちゃにしようという話ではない
あくまで仕様と実装は別の概念
0051デフォルトの名無しさん
垢版 |
2013/01/31(木) 04:28:00.46
適切な抽象度を設定すればいいんだろうけど
仕様と設計がごっちゃになってくるから
「俺は今何を書いてるんだろう」ってなってしまう…
VDMどうのこうのより、そもそもの設計経験とか抽象化の力が足りないってのが問題
0052デフォルトの名無しさん
垢版 |
2013/01/31(木) 21:59:30.67
曖昧だったり矛盾を含んだりしている
自然言語の仕様書が幅を利かせすぎという面もある

世の中の仕様書が如何にいい加減か実感できるという点だけでも
形式的仕様記述を「体験」する意義は十分だと思うね
0053デフォルトの名無しさん
垢版 |
2013/01/31(木) 23:37:20.78
>世の中の仕様書が如何にいい加減か実感できるという点だけでも
>形式的仕様記述を「体験」する意義は十分だと思うね
形式的仕様ってその程度で満足してもらえるんだ。進まんはずだ。
0054デフォルトの名無しさん
垢版 |
2013/02/01(金) 00:36:31.59
>>53
形式的仕様が誰かor何かに満足してもらえる
なんて話はしていないと思うんだが

意図的なのか読解力がないのか分からんが
オナニーなら一人でやってくれ
他人を使うな
0055デフォルトの名無しさん
垢版 |
2013/02/01(金) 04:35:25.45
>>53
>形式的仕様ってその程度で満足してもらえるんだ。進まんはずだ。

ほら、この日本語文1つ取っても書いた本人以外には意味不明だろ?
0056デフォルトの名無しさん
垢版 |
2013/02/01(金) 06:55:33.02
自然言語で契約交わすからこそ
世の中まわるという事実を無視されてもな…
まぁクリティカル系はしらんが
一般には無用だよな
0057デフォルトの名無しさん
垢版 |
2013/02/01(金) 20:30:05.57
別に契約書を形式言語で書くわけじゃあるまいし
自然言語で契約する=>世の中まわる
が真であろうと偽であろうと
形式的仕様の有用性を否定する理由にはならんよ
もちろん肯定する理由にもならないが
0059デフォルトの名無しさん
垢版 |
2013/02/02(土) 21:42:41.80
>>54 >>55
だから
>世の中の仕様書が如何にいい加減か実感できるという点だけでも
こんなことはたいしたことじゃないと言ってるんだよ
つまらんこと言うな
0061デフォルトの名無しさん
垢版 |
2013/02/03(日) 08:34:30.94
形式言語で仕様を記述したら
テストパターンが自動生成されて
テストツールに食わせたら自動でテストやってくれる
ようになったら勉強しよう
0062デフォルトの名無しさん
垢版 |
2013/02/03(日) 19:55:15.40
>>61
お望みのレベルに達していないだろうけど
テスト自動生成なら既に実施例や商品があるよ
産総研でも研究してたはず

モデル検査でSATソルバ使うのが流行ってるっぽいんで
テストケース生成技術・ツールはもう少し発展しそう

形式手法ではないがテストを仕様に近づけるというアプローチでBDDというのもある
ただC++で使いやすいフレームワークは知らない
0063デフォルトの名無しさん
垢版 |
2013/02/12(火) 20:50:42.97
実装がフレームワークとかで制限されているときって、VDMとかどう使うのがベターなんだろうか?
VDM仕様も制限するのか、VDMと実装との差はしょうがない、ってするのか
よくわかんにゃい
0064デフォルトの名無しさん
垢版 |
2013/02/12(火) 23:28:00.22
とりあえずinv, pre, postで十分に制約がかけられているんなら
関数・操作の中身が実装と異なっても問題ないんじゃね

あとは使い方次第としか
そのフレームワークの特性にも依存するし
0065デフォルトの名無しさん
垢版 |
2013/02/14(木) 19:11:21.64
とりあえず、そのフレームワークに食わせるハンドラやコンポーネントの
インターフェースを陰仕様で固めてみたら?
0066デフォルトの名無しさん
垢版 |
2013/02/14(木) 21:53:35.90
>>64 >>65
ありがとうございます。まずは陰仕様ってことですね
とにもかくにも書く目的をしっかりしないとダメですね
0067デフォルトの名無しさん
垢版 |
2013/02/22(金) 11:18:28.53
こういう従順な人はしばらく騙せるかもしれんが、まあ今の仕様記述言語は
使えんことはこのスレを見ていてもすぐにわかるな。
>一般には無用だよな
そうだな。
一生懸命擁護弁護しようとしているのがいるがなんでなの?
だからスレも伸びん
0068デフォルトの名無しさん
垢版 |
2013/02/23(土) 00:41:19.99
具体的な提案もなしに絡んでくるのがいるがなんでなの?
駄目だと思うのは勝手だし2chに愚痴を書くのも勝手だが
批判できる立場かね?

擁護弁護したいんじゃない議論がしたいんだよ
0069デフォルトの名無しさん
垢版 |
2013/02/23(土) 00:51:39.71
SIL4クラスの安全にかかわる案件に絡んでいるが
優秀な人間が何人も集まって検討した仕様にすら穴がある
これはもう自然言語でやっている限りどうにもならないだろう

現状の形式手法では十分なソリューションたりえないのも事実だが
期待できるのは形式手法くらいしかないのも事実だ

現状が駄目だからといって将来が絶たれてよい技術ではない
0072デフォルトの名無しさん
垢版 |
2013/03/01(金) 20:47:27.99
>現状の形式手法では十分なソリューションたりえないのも事実だが
>期待できるのは形式手法くらいしかないのも事実だ

そうなんだが、あまりに不満足な現状だとはおもわんか?
0073デフォルトの名無しさん
垢版 |
2013/03/16(土) 23:22:52.05
それみろ。まったくスレがのびんだろ
VDMはもちろんAlloyですらその程度なんだよw
0075デフォルトの名無しさん
垢版 |
2013/03/17(日) 06:38:43.65
2chなんかでクダ巻いて形式手法を批判した気になってるような低能は
そもそもVDMやAlloyを始めることすらしないからじゃないかな
0076デフォルトの名無しさん
垢版 |
2013/03/17(日) 09:55:15.86
>>75
おまえは家来か
0077デフォルトの名無しさん
垢版 |
2013/03/17(日) 10:04:04.95
Alloy本読んで勉強中だが、結局のところ現実の問題をどうモデル化するかって
ところがまだよくわからん。
例題でさらっとキャッシュメモリのモデルなんか挙げていたが、あんなの思いつかん。
そのへん、なんかいい参考書ないかねぇ?
0078デフォルトの名無しさん
垢版 |
2013/03/17(日) 13:16:00.02
Alloyで数独を解くのが昔一部で話題になったけど
そういう数理パズルとかで遊んでみるとか
0079デフォルトの名無しさん
垢版 |
2013/03/17(日) 18:09:45.06
>>77
そもそもふつうに思いつかんようなのがよいモデル化かな?
キャッシュメモリってどんな例題だったけ
ちょっと見てみるかな
0080デフォルトの名無しさん
垢版 |
2013/06/02(日) 21:23:41.48
業務ロジックを仕様記述言語で書くことは可能かな?
なんか、例を見てると並列処理の時の云々かんぬんとかかなりアルゴリズム的だったり、詳細よりだったりする例が多いのが気になる。

仕様のバグで一番多いのは論理矛盾だったりするので、
その辺が検出できそうなら導入してみたいんだよね。
0081デフォルトの名無しさん
垢版 |
2013/06/02(日) 22:55:50.61
業務ロジックがどういうものか知らないけど仕様記述自体はできると思うよ

ただ形式仕様記述ができることと
論理矛盾の検出ができることの間には大きな隔たりがあるのが現状

状態の数が限られているならなんとかなるけど
状態変数に実数とか時間を持つとなると途端に検証が困難になる
0082デフォルトの名無しさん
垢版 |
2013/06/04(火) 02:08:31.54
おお、そうなんだ。サンクス。

あんまりたいそうなロジックを扱ってるわけじゃないけど
取引ができる日がn日からm日で、そのうち取引ができるのはステータスがxの人で...

とか、まあ、そういったものの組み合わせが多いかな。
最悪、論理矛盾の自動検出が出来なくても、曖昧性の無い記述ができるなら
仕様漏れとかが減ったりしないかなぁ。
0083デフォルトの名無しさん
垢版 |
2013/06/29(土) 13:32:51.16
>>80 >>81 >>82
> 業務ロジックを仕様記述言語で書くことは可能かな?
ていうか、そのためのものなんだがw
いまの仕様記述を見てたらそんなことも分かりにくいが
0084デフォルトの名無しさん
垢版 |
2013/06/29(土) 13:57:51.79
組込みっていうか車載開発(ボディ系)でAlloyを個人的に使おうと思ったが、
難しくて挫折しそうになった。。。C言語しか知らないとつらい。。。
0085デフォルトの名無しさん
垢版 |
2013/06/29(土) 19:20:26.45
>>84
組込み系であれば、(Alloy/VDM/Zなどよりも)
「振る舞い」の検証を重視するCSPやCCSのほうが
(多くのケースでは)適しているのではないかと思われ

もしもこれら形式的記述スタイルに慣れていないのなら、
PROMELA(およびその処理系であるSPIN)はいかが?
C言語とステートマシンの知識があれば、直感で理解できる

最近は、PROMELA/SPINに関する日本語書籍もいくつかあるよ
0086デフォルトの名無しさん
垢版 |
2013/06/29(土) 21:00:02.42
アドバイスありがとうございました。
積読状態ですが、VDMにAlloyにSPINに書籍は購入済みですので、
一度読んでみます。

Alloyに手を出したのは、VDMやSPINの両方のおいしいところを合わせたのと、
手軽にモデリングできると聞いたからです。
・・・でも私には簡単ではなかったorz
0089デフォルトの名無しさん
垢版 |
2013/07/16(火) NY:AN:NY.AN
Rodinはまともなチュートリアルないんか。
Event Bの理論は本読んでどうにかするとして、ツールとしてのRodinの使い方が公式のチュートリアル見てもよくわからん。
0092デフォルトの名無しさん
垢版 |
2013/08/31(土) NY:AN:NY.AN
形式手法が実用にならないと言われる中で
Code Contractsは計算機科学とソフトウェア工学の中庸にあると思うけど
あんまり話題にならないね

Code Contracts目当てにProfessional買うことはないだろうから
Express Editionにも対応してくれればいいのに
0093デフォルトの名無しさん
垢版 |
2013/08/31(土) NY:AN:NY.AN
乞食と思われると残念だから補足するけど
利用するライブラリが契約されてないと利用者側が馬鹿を見るので
みんな契約すればいいのに!的な意味で
0096デフォルトの名無しさん
垢版 |
2013/09/12(木) 21:25:52.57
>>95
そうね。少なくともDSLを記述して実行させるくらいなら
最初からPrologで書いてしまった方が気が利いていますね。
0097デフォルトの名無しさん
垢版 |
2013/09/12(木) 22:36:29.89
Prologで書かれた仕様を実装に落とし込むのは
自然言語で書かれた仕様を実装に落とし込む時とは
別の危うさがあるように思える

バックエンドに使うんなら何でもいいけど
0100デフォルトの名無しさん
垢版 |
2013/09/12(木) 23:22:19.80
スプレッドシードに書かれた自然言語の仕様書よりか、
prologの方が危ういって形式手法の危うさでも指すの?

wikipedia読む限り、形式手法が集合論と述語論理を扱う設計手法みたいだし、
その限りじゃprologで十分だよねとは思ったのだけれども、一体、何が悲しくて
alloyやZみたく仕様がデカくて、ノウハウを使い回せない言語が乱立してんだろ
0101デフォルトの名無しさん
垢版 |
2013/09/12(木) 23:47:46.69
自然言語よりPrologの方が危ういなんて書いてないだろ

Prologで十分だというのが仮に事実だとしてそれが何なの?
その事実はPrologが優秀であることの証明にはならないし
他の技術を否定する正当性も与えない
0102デフォルトの名無しさん
垢版 |
2013/09/13(金) 00:20:22.87
述語論理を書くならprologは有力なツールでしょうね。

でも、そもそも我々は述語論理を扱いたいんじゃないんです。
むしろ触れずに済むなら、その方がきっといいんです。

目的を忘れて手段を論じても無益でしょう。
0103デフォルトの名無しさん
垢版 |
2013/09/13(金) 07:56:11.25
集合論や述語論理を徹底的に研究した人はそんなにはいない。
あまりこれに拘った仕様の言語は大半の人には使い難い。
Prologくらい世俗的で下支えとしては述語論理がありますよ
くらいの言語の方が万人向きでしょう、という話ですよ。
0104デフォルトの名無しさん
垢版 |
2013/09/13(金) 11:55:09.39
は?徹底的に研究する必要なくてソフトウェア開発の道具として利用するだけ
そもそも、集合論や述語論理のABCすら理解しないでAlloyやZを使う馬鹿いないだろ
0106デフォルトの名無しさん
垢版 |
2013/09/13(金) 12:20:24.26
>>101
prologの優秀さは、その簡潔かつ可読性の高いコード。
無駄に仕様の大きな言語って、学習コストが高く、バグを誘発するだけ
少し前に途絶えた良い例がperlとcommon lisp
形式手法が集合論と述語論理を取り扱い、
その要件を満たす最小セットの記述がprologで済むのではないかと仮定したとき、
それに対するalloyやZがprologに対して如何なるアドバンテージがあるか
って書いたの
>他の技術を否定する正当性も与えない
技術を否定しない技術者って技術者に向いてないんじゃないの?
人権屋とか宗教家にでも転職したら?

>>102
目的が形式手法への適応で、そこに集合論と述語論理が含まれるので述語論理を扱います。
そもそも述語論理のABCを理解してない非技術者がalloyやZを使うのか疑問です
目的を忘れて仕様の膨れあがったツールがalloyやZではないのかといったのが、
>>100のレスにおける核となる主張であり、疑問です。
が、その達観した無益なレスを書いて気持ち良いですか?
0107デフォルトの名無しさん
垢版 |
2013/09/13(金) 20:09:03.07
つか、Prologで仕様記述なんてどこでやってんの
0108デフォルトの名無しさん
垢版 |
2013/09/13(金) 20:34:26.75
>>106
>形式手法が集合論と述語論理を取り扱い、
>その要件を満たす最小セットの記述がprologで済むのではないかと仮定したとき、

その仮定「Prologは形式手法の要件を満たす」が間違っているんじゃないかね
述語論理だけを取り扱う、いわゆる純粋Prologの表現力は極めて乏しいものだ
Prologプログラミングでは、カットや高階述語(assertなど)の非純粋な操作が必然となる
結果からすると、形式手法の要件である「検証」をPrologは満たさないことになる

また、Prologは型付けの弱い言語だ
仕様を記述できたとしても、それに矛盾が無いことを「検査」できない
形式的な立場であれば、ある集合の要素はすべて同じ種類でなければならないが、
この種類、つまり型の一貫性をPrologでは保証できない点は、形式言語としては致命的な欠陥
0109デフォルトの名無しさん
垢版 |
2013/09/13(金) 20:42:25.00
>>108
「仕様が記述できたとしても、それに矛盾がないことを「検査」できない」
はおかしいだろう。

質問として実行すればいいのではないかな。定理証明の過程なのだから。
0110デフォルトの名無しさん
垢版 |
2013/09/13(金) 20:47:12.33
では来週からPrologで仕様を書いてください。
0111デフォルトの名無しさん
垢版 |
2013/09/13(金) 21:04:25.47
>>109
やはり形式手法という概念そのものが理解できていないようだね
仕様を実行して振る舞いを確認するのは「シミュレーション(模倣)」と呼ばれる手法であり、
「(形式手法における)検証」ではない

定理証明の過程において、対象となる仕様は「一切実行されない」ことを理解しなければならない
これを実現するために、形式手法では厳密な数学を基礎に置き、それを元に証明を進める
0112デフォルトの名無しさん
垢版 |
2013/09/13(金) 21:16:04.80
>>111
なるほどね。わかった。
動的言語云々ということが書かれていたので検査が実行されるのだと
思ってしまった。
0113112
垢版 |
2013/09/13(金) 21:22:31.21
まちがえた。
動的云々ではなく、「型付けの弱い言語云々」でした。
0114デフォルトの名無しさん
垢版 |
2013/09/13(金) 22:19:56.75
でも形式手法をそういう言い方にするとAlloyやVDMの微妙さが際立ってしまうのだ
0115デフォルトの名無しさん
垢版 |
2013/09/13(金) 22:56:23.06
>>108
型や集合なら事実を加えるなりの規約程度で、どうにか出来そうなイメージ
てか、形式手法って検証なんてステップあるのね。こうなると専用の言語つかった方がはやそう
けれど誰かプレーンなprologで時相論理のサブセットとか書いてないのかな
第五世代のprolog hackerたちが、このスレを通ることに期待age
0116デフォルトの名無しさん
垢版 |
2013/09/13(金) 23:21:23.48
>>114
Wikipediaの「形式手法」で説明されているように、
形式手法にもレベルがあっていいじゃないかと
で、伝統的なZやVDMは重量級で、Alloyなど最近は軽量級が注目されている

Prologについては、(>>108で書いたように)純粋Prologの表現力と型付けの弱さという欠点が、
軽量な形式手法としても問題が多いと見る
ただし、これは形式手法としての問題点であって、プログラミング言語としての問題ではない
また、PrologにはDCGによるDSL(ドメイン記述言語)およびメタインタプリタの開発に
適しているという、優れた特性がある
これを活かし、あるドメインに特化した軽量仕様記述言語と処理系を開発すれば、
先に述べた欠点を補うことができると思う

以下は、Prologで過去に開発した仕様記述言語で、2進カウンタを記述している:

 process binCounter(ins:in, outs:out, carry:out).
   state 0.
   from 0,
     when ins$0, output (outs$0, carry$0), to 0.
     when ins$1, output (outs$1, carry$0), to 1.
   from 1,
     when ins$0, output (outs$1, carry$0), to 1.
     when ins$1, output (outs$0, carry$1), to 0.

言語は通信プロトコルの仕様記述言語である Estelle を参考にしたステートマシンをモデルとし、
シミュレーション(=模倣)による振る舞いの確認が可能
最終的にはペトリネットへ変換して検証する予定だったけど、着手できぬまま放置している
0117デフォルトの名無しさん
垢版 |
2013/09/14(土) 01:22:47.81
VDM ToolsもOvertureも証明の機能が不十分だから
形式手法のレベルで分類すればVDMはもっぱら軽量じゃね?
まあこの際どうでもいいが
0118デフォルトの名無しさん
垢版 |
2013/09/14(土) 13:12:05.22
>>117
形式言語 VDM と形式言語処理系 VDM Tools をごっちゃにすべきではない
言語 C と 処理系 gcc(あるいは VC++) をごっちゃにするようなもの

言語としての VDM は形式的な証明が可能な体系
(ただし、それを機械的に適用できるか否かは別の話)
そして、処理系としての「VDM Tools はもっぱら軽量じゃね?」ならば、同意する
0119デフォルトの名無しさん
垢版 |
2013/09/14(土) 13:32:16.32
そりゃごっちゃにすべきじゃない文脈もあるだろうが

C言語の喩えで言えば
gccもVCも対応していない機能はないようなものでしょ

C言語の仕様策定は実装ありきだから
そのうち対応する見込みはあるけど
VDMで証明とかOverture界隈も興味の対象から外れている感じだし先が見えん
0120デフォルトの名無しさん
垢版 |
2013/09/14(土) 15:56:52.26
>>119
>C言語の喩えで言えば
>gccもVCも対応していない機能はないようなものでしょ

んなわきゃーない。なんのための言語規格だ。
0121デフォルトの名無しさん
垢版 |
2013/09/14(土) 16:17:21.73
言語規格だか何だか知らんが絵に描いた餅でも喰ってろ

VDM-SLはISO化されたが
VDM++に関しては文法こそ仕様はあるものの
挙動は実装が仕様みたいな状況だぞ
0122デフォルトの名無しさん
垢版 |
2013/09/14(土) 20:04:31.44
挙動なんて言ってる時点で
静的解析をガン無視してるのはVDM界隈じゃなくて>>121だということがわかる。
0124デフォルトの名無しさん
垢版 |
2013/09/14(土) 23:08:58.11
>>123
「だったら」が何を指すのか意味不明だし、また静的解析みたいな曖昧な言葉を持ち出す

まだ >>123 は(言語としての) VDM における検証や証明を扱うレベルに達していないので、
無理に背伸びはせず(処理系としての) VDM Tools を触ることから始めたほうがいいと思われ
ただし、今のままでは軽量と言われる VDM Tools ですら理解するのは難しいと思うがね
0127デフォルトの名無しさん
垢版 |
2013/09/14(土) 23:42:17.97
>>124
選民意識も結構だが
「馬鹿には無理」みたいなこというから形式手法が馬鹿にされる

ユーザに技術の存在を意識させないというのは
道具のあるべき姿の一つだが
stealth formal methodsなんてフレーズが生まれるのは何かおかしい
0128デフォルトの名無しさん
垢版 |
2013/09/15(日) 00:48:45.39
>>127
形式手法が何であって何ではないか、また形式手法では何ができて何ができないのか、
こんな基本的なことも>>123は分かっていないようだから、理屈よりも実践を、
つまり VDM Tools を触ることから/触れるレベルの学習から始めたほうがいいと
アドバイスしてるだけだがね

また>>127は「(形式手法の習得は)馬鹿には無理」と考えているようだけど、自分はそうは思わない
最低限必要なのは普通高校卒業程度の数学と教養であり、IT業界人やそれを目指す学生の大半が該当する
ただし、本人にヤル気が無ければ無理だし、たとえあっても素直さと謙虚さは必要だがね
0130デフォルトの名無しさん
垢版 |
2013/09/15(日) 14:17:26.84
型検査なんかプログラミング言語で一般的過ぎて
期待も何もスタートラインだろ

整数(int, nat, nat1)とトークンだけで記述できる場合はまだしも
レコードやクラスを使い始めると
モダンなプログラミング言語に比べ使い勝手の悪さが目立つ

さらに証明までやろうとすると証明責務が無理ゲーになる

結果としてユーザが気軽に型を作れない
0131デフォルトの名無しさん
垢版 |
2013/09/15(日) 14:34:04.62
VDM++に関して言えば演算子オーバーロードはつけるべきだった
メソッド名に全角の≦とかを使うなんてバッドノウハウは見るに耐えない

インターフェイスやMix-inも言語レベルで対応してない
テンプレートやジェネリクスもない

これらはプログラマが楽するための道具に留まらず
データ表現を抽象化してロジックに意識を集中させるために
仕様記述に有効な機能じゃなかろうか
0133デフォルトの名無しさん
垢版 |
2013/09/15(日) 18:02:44.28
仕様を書く人が
証明のこと気にしないといけないのが未成熟な証

ASTなり中間言語にさえ落とし込めさえすれば
あとは数学者やコンピュータサイエンティストの仕事だ
0134デフォルトの名無しさん
垢版 |
2013/09/15(日) 18:22:03.16
そりゃないわ。
0135デフォルトの名無しさん
垢版 |
2013/09/15(日) 18:35:46.84
>>133
>あとは数学者やコンピュータサイエンティストの仕事だ

いや、それはAI(人工知能)の仕事だよ
自然語で書かれた曖昧な仕様を、コンピュータが理解できる機械語へ変換するという

もちろん、これが理想の姿であるのは理解するが、現時点では夢物語でしかない
だから、自然言語で書く曖昧な(非形式的な)仕様の代わりに、
(数学を元にした)形式的な仕様記述を試みよう、という思想が形式手法の出発点にある

>>133には、C.A.R. ホーアの言葉を送ろう:

 職業としてプログラミング業務を行うためには、基礎となる数学理論に基づき、
 すでに確立された他の工学分野の先例にならわなければならない。
 これは教育を改善することによって実現することができる。

               「プログラミング -- 魔術か科学か?」から引用
0137デフォルトの名無しさん
垢版 |
2013/09/15(日) 19:26:34.98
>>135
だからそのAIを作るのは数学者やコンピュータサイエンティストで
言語のユーザでも言語屋さんでもないだろ

>>136
気にした方が良い結果になることが多いだろうが
気にしないと使えないなら未熟だってこと
形式仕様を書くのは形式的な検証が主目的とは限らない
0138デフォルトの名無しさん
垢版 |
2013/09/15(日) 19:52:25.00
形式手法に限らず、大抵のものは「気にしないと使えない」だろ。
オブジェクト指向だって関数型だってCoqやAgdaだって、
記述目的を意識して書かないとクソな記述になるのと同じだろ。
0139デフォルトの名無しさん
垢版 |
2013/09/15(日) 20:06:00.03
程度問題だよ
少なくとも俺にとってはVDMとりわけVDM++は
仕様を記述するには気が利かないし面倒くさ過ぎる
そのくせ証明による検証も大して期待できない

勿論そう思わない人もいるだろう
そういう人は是非とも形式仕様記述を活用して普及に努めてもらいたい
0140デフォルトの名無しさん
垢版 |
2013/09/15(日) 21:08:48.08
>>137
>だからそのAIを作るのは数学者やコンピュータサイエンティストで
>言語のユーザでも言語屋さんでもないだろ

もちろん、そのとおりだよ
そして、AIの話題はスレ違いってことさ
0141デフォルトの名無しさん
垢版 |
2013/09/15(日) 21:25:23.64
スレチってほどでもないと思うけど
SATソルバの話題とかしてもいいんじゃね?
どうせ過疎ってるか
愚痴や揚げ足取りの応酬しかしてないんだし
0143デフォルトの名無しさん
垢版 |
2013/09/16(月) 00:42:33.03
>>139
そういう態度を、評論家とかコメンテータという

まあ、自分で理解できないのを言語やツールのせいにするのが許されるのは、お子ちゃま迄だよ
0146デフォルトの名無しさん
垢版 |
2013/09/16(月) 20:50:19.99
ざーっと追ってあなたの思う両者でよかろう

傍観者的には、すでに1on1じゃなく途中から同意見者が混ざって混乱してる可能性もありそうに感じた
0148デフォルトの名無しさん
垢版 |
2013/09/16(月) 21:14:01.04
このスレで興味もってざっとぐぐってるんですが、なかなか面白そうな分野ですね。
書籍やサイトのお勧めあったらご教示願えると幸いです
0149デフォルトの名無しさん
垢版 |
2013/10/02(水) 09:58:39.78
>>100 >>133 >>137
この人センスいいねえ

>>111 >>136
この人は単なる学習者
0150デフォルトの名無しさん
垢版 |
2013/10/03(木) 20:35:05.95
へー(ニヤニヤ
Zの言語仕様がデカいと思っている人のセンスがいいとか言うのって
本人以外考えられないけどw
0151デフォルトの名無しさん
垢版 |
2013/10/03(木) 23:29:48.73
ニヤニヤすんな
要らん言うてんやろ
0152デフォルトの名無しさん
垢版 |
2013/10/04(金) 07:56:58.26
で、Zの言語仕様のどこがデカいわけ?
ぼくちゃん学習者なんで教えてくださいませ〜
0154デフォルトの名無しさん
垢版 |
2013/10/04(金) 09:17:10.07
Zの言語仕様には単一化もレゾリューションもNAFもないよ。
どうして実行機構を持たないZのほうが言語仕様がデカいと思うんだい?
0155デフォルトの名無しさん
垢版 |
2013/10/04(金) 10:09:22.67
言語仕様の大きさは
処理系やツールを実装する人にとっては重要かもしれないけど
ユーザにとっては重要じゃないよね。
何ができるか・何をしないといけないかが重要。
そしてそれは言語仕様の大きさと必ずしも対応しない。

言語仕様の大きさで議論しようというのがそもそも筋が悪い。
言語仕様を全部把握していないと使えない訳じゃあるまい。
0158デフォルトの名無しさん
垢版 |
2013/10/04(金) 12:53:16.23
すじわる、って将棋以外で聞かない単語だよね。
まあ筋が悪いとは普通に使うんだから字面を見てわかると思うけど。
0159112
垢版 |
2013/10/04(金) 15:11:02.46
>>154
ここでいう言語仕様とは学習しなくてはならない範囲の
意味が強いと思う。そういう意味なら、一人で使う場合は
別だが、他者の形式仕様を読む場合にはひと通りは抑えて
いなくてはならず、Zはその点やはり負担が大きい。
0160デフォルトの名無しさん
垢版 |
2013/10/04(金) 16:02:12.94
Zは基本的に述語論理と型付集合論がわかってれば
覚えなければならない事はとても少ないだろ。
むしろVDMやAlloyあたりのほうが
述語論理や型付集合論以外の言語要素が多いと思う。

Zで苦労するのは他の言語/手法と比べてツールサポートが少ないことだろ。
0163デフォルトの名無しさん
垢版 |
2013/10/04(金) 21:30:59.69
ZもVDMも基本は70年代の言語だからなぁ

比較的新しい言語だとCafeOBJなんかがあるけど
二木先生の関わっていない利用例を知らない
0164デフォルトの名無しさん
垢版 |
2013/10/04(金) 21:49:13.71
>>155
>言語仕様の大きさは
>処理系やツールを実装する人にとっては重要かもしれないけど
>ユーザにとっては重要じゃないよね。
誰にとっても同じだ。
同じことをするんなら小さい方がよいのに決まっとる

>>160
だからZは要らんと言っとる

>>163
CafeOBJが新しいのか
0165デフォルトの名無しさん
垢版 |
2013/10/04(金) 21:58:38.09
>>164
そんなに言語仕様が小さいのがいいのならBrainf*ckなんか最高だよね
チューリング完全だから「計算可能性の観点においては」
他の言語と同等のことができるよ
0166デフォルトの名無しさん
垢版 |
2013/10/04(金) 22:06:34.37
観点は計算可能性だけじゃないだろ
まだチューリング完全なんて言ってるのか
0167デフォルトの名無しさん
垢版 |
2013/10/04(金) 22:10:26.71
観点は言語仕様の大きさだけじゃないだろ
って話だよ
チューリング完全ならどれも一緒だなんて誰も思っちゃいねーよ
0168デフォルトの名無しさん
垢版 |
2013/10/04(金) 22:30:01.22
だれかこの辺の議論のような口喧嘩のようなことを交通整理できる人はいないでしょうか
0169デフォルトの名無しさん
垢版 |
2013/10/04(金) 23:00:21.87
そういった態度というのは単に自信が無いだけなので、
生暖かく放置すればいいのではないかと思われ
0170デフォルトの名無しさん
垢版 |
2013/10/04(金) 23:07:34.51
ところで、Prologで仕様記述やその検証ができるなら試してみたいんだが、
その方法を解説した本やWebサイトとかあるのかな?
「理論的にはできるはず」だけだとProlog自体よく知らない俺には無理だが。
0171デフォルトの名無しさん
垢版 |
2013/10/04(金) 23:08:43.39
あんたは自信があるのかい
0172デフォルトの名無しさん
垢版 |
2013/10/04(金) 23:32:01.69
>>170
>ところで、Prologで仕様記述やその検証ができるなら

できないんじゃね?
過去には「できるはず...」という願望もしくは妄想に基づく意見(>>95-)はあったけど、
それに対する反論には何も意見を言えず議論を終えた
個人的には、型の無い純粋Prologを形式言語と呼ぶには無理があると考える

Prologへの願望を語りたいという気持ちは理解できるが、
それはPrologスレで大いに語ればいい、それが妄想であってもいい
0173デフォルトの名無しさん
垢版 |
2013/10/05(土) 05:30:54.75
Prologで仕様記述しますなんていう例は山ほどある。
知らないんなら論文読まなさすぎ。

どれも結論は
「表現力不足だよね」
「表現上の制限が強すぎて、かえって表現が冗長になってダメだね」
「最低限FOLは必要だよね、やっぱし」
なわけだが。
0174デフォルトの名無しさん
垢版 |
2013/10/05(土) 05:33:52.83
>>164
>だからZは要らんと言っとる

つまりZの言語仕様はデカくないという意見に反論できないってことね。
理由も言えずに「要らん」としか表現できない人が形式仕様とか、鼻で笑っちゃうねw
0175デフォルトの名無しさん
垢版 |
2013/10/05(土) 08:56:49.36
Alloyの本を読んでもちっとも頭に入っていきません。
この本を読むうえで必要な前提知識って何でしょうか?
また、その知識を得るのに最適な書籍があれば教えてください。

今は組込み関係の仕事(主に車関係)をしていて、知ってる言語はC言語のみです。
0176デフォルトの名無しさん
垢版 |
2013/10/05(土) 10:07:18.70
知識はともかく
詳細仕様や実装仕様じゃなく
純粋なシステム仕様の読み書きをした経験がいるんじゃないかな

組込み関係だとシステム仕様と実装仕様がごっちゃになってる印象がある

実装仕様レベルの形式記述もできるけど
そういうのは実装言語(C言語)のツールを使った方がいいと思う
0177デフォルトの名無しさん
垢版 |
2013/10/05(土) 18:08:45.67
>>174
その存在自体が無駄だと言っとるんだから、さらに何を言う必要がある?
Zや言語仕様の大きさなんていうくだらんことにどんだけ時間を浪費するんだ
0178デフォルトの名無しさん
垢版 |
2013/10/05(土) 18:25:17.75
Zを否定した根拠が「言語仕様のデカさ」だったのに
今更なにを喚いているんだい、負け犬くんw
0180デフォルトの名無しさん
垢版 |
2013/10/05(土) 22:31:33.47
>>164は自分の主張が矛盾しているのに気付かない可哀想な子

>>160が言うように、Zは「述語論理と型付集合論」を知っていれば学習の壁は低い
つまり、もしも>>164の言葉「同じことをするんなら小さい方がよいのに決まっとる」が正しければ、
仕様の小さなZは優れていていることになるが、その一方でツールサポートの少ない「Zは要らん」と言う

では、ナゼそんな矛盾が生まれたのか?これは形式手法へ拒絶反応を起こす人によくあるパターンで、
形式手法を扱うのに前提となる素養(論理と集合)が欠けているからだろう
だから>>164にはZの仕様が(とほうもなく)巨大に見えて尻込みしてしまう
逆にAlloyはツールで実際に動かしながら試行錯誤できるから容易い存在に見える
実際にはAlloyの全容は巨大で難解なものだけど、>>164には表層の一部しか見えていない

おそらく、>>164はERM/OMT/UMLのような「仕様の視覚化手法(visualize method)」には
十分な経験と自信があるのだろう
ところが残念なことに、その延長で「仕様の形式化手法(formal method)」を
理解しようとして、その狭間(ギャップ)で「もがいている」のだと思われる
0181デフォルトの名無しさん
垢版 |
2013/10/05(土) 22:44:35.57
>>175
述語論理ですかねー。あの変なシンタクスがオブジェクト指向と関係なくて、回りくどく表現された述語論理だと思うとたぶんわかってくる気がする。
あとAlloyだとたぶんその仕事にはあまり直接的に活かせないような。>>84-86に同じような話があるけど。
0182デフォルトの名無しさん
垢版 |
2013/10/06(日) 06:14:26.21
>>180
そうだね、>>164みたいな人は10年か20年ぐらい前にもいたねえ。
「オブジェクト指向」でギャップに嵌ってる人達がね…(遠い目

UMLは図を「コトバ」として読む力が必要とされるんだけど、
形式手法では式を「コトバ」として読んじゃいけない。
式はあくまで記号列として読まないと「形式」の意味がわからない。
それができない人にはZは地獄のような言語かもしれない。

そういう人ほどZで徹底した形式主義を身につけたほうがいいと思うけど、
大抵は実行系中心の軽量形式手法で「これが形式手法かー」と思っちゃうんだよな…
0183デフォルトの名無しさん
垢版 |
2013/10/06(日) 10:50:33.15
>>180 確かに、
Zは「述語論理と型付集合論」を知っていれば学習の壁は低いのだろうが、
そういう人材を一般企業では集められなかったからZは顧みられなかった
のではないか。
0184デフォルトの名無しさん
垢版 |
2013/10/06(日) 11:30:50.49
述語論理も型付集合論も大学の教養レベルの数学で十分なのだから
「人材を集められなかった」のではないと思う。
単に、Zに限らず形式手法なしでもシステムを作れると思ってたんだろ。

だから、Zに限らずモデル規範型の形式手法は顧みられなかった。
0185デフォルトの名無しさん
垢版 |
2013/10/06(日) 18:43:42.19
>>182
>形式手法では式を「コトバ」として読んじゃいけない。
>式はあくまで記号列として読まないと「形式」の意味がわからない。

ここは何を言ってるの?記号列として読んでいるのでは意味が分かっていない
と言われそうだけど。
0186デフォルトの名無しさん
垢版 |
2013/10/06(日) 22:31:52.02
>>185
横レスだけど、形式手法の証明においては式に含まれる記号の意味は「無価値」だということ
記号の意味を分かる必要は無いし、
証明の過程で記号の意味は完全に無視され「形式(公理や定理)」だけが価値を持つ

ソフトウェア仕様記述は現実世界のモヤモヤした実体(=モノ)をある体系でモデル化することから始まる
たとえばUML等のOOA/OODでは現実世界をオブジェクトの集まりと捉え、オブジェクトの持つ属性や
オブジェクト間の(継承や部分といった)関係を定義することによって(非形式的な)モデル化を進める
ここでは実体をコトバとして抽象化する事を、具体的には定義するオブジェクト/属性/関係などの
命名(naming)を、つまり(人にとっての)直感的な意味を重要視する
これによって(人にとって)分かりやすく、特に共同作業下における仕様イメージの統一的な共有化を図る

これに対して、形式手法では現実世界をモデル化することは(視覚化手法と)同じだけれど、
数学という形式的な体系を用いる点が異なる
つまり、ある式(=モデル)が直感的には(=人にとっては)いかに分かりやすくて正しく見えようとも、
いいかえるといかにOO的視点では優れた設計であっても、形式に矛盾があれば誤りであると見なす
0187デフォルトの名無しさん
垢版 |
2013/10/06(日) 22:55:41.08
>>186
こっちも横レスだけど
証明は形式意味論のレイヤーで行われるけれど
形式仕様自体は現実世界の概念(「コトバ」)とリンクしている

「コトバ」であり「記号列」であることを理解できないと
形式仕様を理解したことにはならんだろう
0188デフォルトの名無しさん
垢版 |
2013/10/06(日) 22:57:20.47
>>186
>形式手法の証明においては式に含まれる記号の意味は「無価値」だということ
それは証明器にとって、ということでしょう。人間にとってではない。

>これに対して、形式手法では現実世界をモデル化することは(視覚化手法と)同じだけれど、
そのモデル化の時点で、「意味」が介在するよね。

>形式に矛盾があれば誤りであると見なす
それは当たり前。矛盾というのは形式的なものだからね。
だからといって「意味」が不要ということにはならない。
0189デフォルトの名無しさん
垢版 |
2013/10/06(日) 23:01:03.54
「形式」手法 "form"-al method という言葉の意味からはじめないといけないようだな!
0190デフォルトの名無しさん
垢版 |
2013/10/06(日) 23:11:16.30
>>189
およその意味はみんな分かってると思うが
その厳密な定義もない(あるいは厳密に定義する意味もない)ことも含めて
だがもし必要なら、そこからはじめてくれてもよいが
0192デフォルトの名無しさん
垢版 |
2013/10/06(日) 23:30:11.15
>>187,188
現実世界を抽象化する過程に意味が伴うのはその通りで、視覚化手法も形式手法も同じ
形式手法にとっても抽象化の過程ではコトバの意味が大切なのに変わりはない

違うのは、抽象化の成果物である「仕様(設計書)の検証」において、視覚化手法では
(人間が介在する)直感を頼りとしており、そこではコトバの意味が重要な位置を占める
それに対して形式手法では仕様の検証に人の直感は介在せず、コトバの意味は無視する
ここで、証明(=形式を元にした検証)を人力でやろうが証明器で自動化しようが同じ

そして、もし証明が失敗すれば(仕様に矛盾を発見すれば)、現実世界の抽象化という前工程に立ち返る
その時には、(数学としての)形式化の単純ミスもあるだろうけど、コトバの意味(の定義)の過ち、
つまり(抽象化の過程で)現実世界の解釈に何か誤りや漏れがあったことが発見できるだろう
0193デフォルトの名無しさん
垢版 |
2013/10/06(日) 23:45:46.18
>>188
>>形式に矛盾があれば誤りであると見なす
>それは当たり前。矛盾というのは形式的なものだからね。

いや、「非形式的な矛盾(=直感に基づく矛盾)」というのは存在する
たとえばOOの仕様で、ある箇所では「XはYのサブクラスである」と記述され、
別の箇所では「YはXのサブクラスである」と記述されていれば、それは矛盾だろう
ただし、サブクラスというオブジェクト間の関係は(人の)直感として定義されたものだから、
それは「形式的な矛盾」ではない
0194デフォルトの名無しさん
垢版 |
2013/10/06(日) 23:49:56.14
この会話が成立していないのに
話が流れていく感じはすごいな

形式手法に言及しているのに
詭弁(誤謬)ばかりってのが皮肉
0195デフォルトの名無しさん
垢版 |
2013/10/07(月) 06:12:47.77
>>193
>「非形式的な矛盾(=直感に基づく矛盾)」というのは存在する
形式的に意味不明な言明だ。
論理的訓練が不十分のようだから指摘しておく。
>別の箇所では「YはXのサブクラスである」と記述されていれば、それは矛盾だろう
矛盾とはAかつ¬Aが帰結することだ。「XはYのサブクラスである」と
「YはXのサブクラスである」はまだ矛盾ではない。
>ただし、サブクラスというオブジェクト間の関係は(人の)直感として定義されたものだから、
そういう関係もまた形式的に記述するんだよ。

>>194
>形式手法に言及しているのに
>詭弁(誤謬)ばかりってのが皮肉
意味不明。間違いがあれば指摘すればよい。
形式手法=無謬ということではない。形式手法を偶像崇拝してる?
0196デフォルトの名無しさん
垢版 |
2013/10/07(月) 08:17:29.48
>>192
概ね妥当なコメントと思うが
「視覚化手法」なんてものを形式手法と対比させるのはいかがなものか
それから、ここでは皆矛盾矛盾と言うが、矛盾がないというのは最低限の条件に過ぎない
0197デフォルトの名無しさん
垢版 |
2013/10/07(月) 08:39:38.60
>>184
20年近く前に、私の周辺でZの研究会が次々と撃沈していったのを
知っている私としては、隔世の感ありだな。
0198197
垢版 |
2013/10/07(月) 08:43:06.72
研究会 -> 勉強会
0199デフォルトの名無しさん
垢版 |
2013/10/07(月) 09:12:11.96
>>197
撃沈の主な原因は何だったのですか?
そのころなら述語論理や集合論ではないと思うのですが
0200デフォルトの名無しさん
垢版 |
2013/10/07(月) 09:27:05.81
計算機の性能だな
20年前のCPUの性能ではSAT SMTソルバーをぶん回すとかありえんだろう
0201デフォルトの名無しさん
垢版 |
2013/10/07(月) 09:27:11.00
>>199
隔世とは、大学の教養レベルの水準が上がっているのだなぁという
漠然とした印象です。
直接の原因はテキスト(>>162)にあったと思います。これに限らず、
勉強会がうまくいくかどうかには、早い段階で良い要約を誰かが
準備してくれるかどうかが大事ですが、それをしてくれる人が
いなかった。それでほとんどの人に全貌が見えなかった。
0202デフォルトの名無しさん
垢版 |
2013/10/07(月) 10:13:24.23
>>195
スマン、言葉が足りなかったようだ
>>193での「非形式的な矛盾」とは「(UMLのような)非形式手法における矛盾」のこと

そして非形式手法においても矛盾(という概念)は(人間的な)直感として存在していることを言いたかった
たとえそれが形式主義の視点では「意味不明な言明」であったとしても....



>>ただし、サブクラスというオブジェクト間の関係は(人の)直感として定義されたものだから、
>そういう関係もまた形式的に記述するんだよ。

形式手法であれば、構築しようとする体系(システム)におけるサブクラスという関係を
(形式的に)定義するのは当然のことだね

ここで、もしもサブクラスの(形式的な)定義に交換律を含めれば、
「XはYのサブクラスである」かつ「YはXのサブクラスである」(という仕様記述)は矛盾ではなくなる
つまり、(形式手法の)証明ではサブクラス(というコトバ)から人が連想する直感的な意味は無視される
たとえば、仮にサブクラス(というコトバ)の代わりに机や椅子(というコトバ)で仕様が記述されていても
(無矛盾であることを)証明できるのが形式手法であり、それが非形式手法との違いになる
0203デフォルトの名無しさん
垢版 |
2013/10/07(月) 12:14:52.74
>>202
>交換律を含めれば
細かいのだが、ここは、反対称律を含めなければ、だな

>つまり、(形式手法の)証明ではサブクラス(というコトバ)から人が連荘zする直感的な�モ味は無視されb
>たとえば、仮にサブクラス(というコトバ)の代わりに机や椅子(というコトバ)で仕様が記述されていても
>(無矛盾であることを)証明できるのが形式手法であり、それが非形式手法との違いになる
この辺り、ヒルベルト流の「形式主義」の説明なら妥当だが、ソフトウェア工学の「形式手法」の
説明としては相当ズレてると思う
0204デフォルトの名無しさん
垢版 |
2013/10/07(月) 17:30:11.68
>>203
識別子の字面に引きずられるようなら、その時点で形式手法を使う意味は半減するよ。
形式仕様を読み書きする時には、字面が持つ自然言語的意味を無視して
あくまで記号操作の対象として扱う。

識別子の字面が大事になるのは、形式手法を知らない人に説明する時。
「形式的に」扱う訓練を受けていない人のために非形式的意味を使う。
非形式的な意味を持たせた時点で、その記述は形式仕様ではなくなる。
0205デフォルトの名無しさん
垢版 |
2013/10/07(月) 20:32:26.92
pi = 3.14159
e = 2.71828

e = 3.14159
pi = 2.71828
で「後者に違和感を持つのは間違い」という奴の
形式仕様は読みたくないな

形式仕様からプログラムコードを自動生成してメンテナンスフリーというならともかく
それがソフトウェアなり何なりの「仕様」を定めている以上
非形式的な意味は持たせてもいいし
それによって非形式的仕様になる訳じゃない

非形式的な意味は形式的検証の結果に影響を与えないのだから
0206デフォルトの名無しさん
垢版 |
2013/10/07(月) 20:40:11.24
>>205
>形式仕様を読み書きする時には、字面が持つ自然言語的意味を無視して
>あくまで記号操作の対象として扱う。
そんなことをは君(人間)は気にする必要はないのだ。
放っておいても証明器は完璧にそうしてくれる。
同じことを君(人間)がやってもそれこそ効果は半減する。

書くことは人間にしかできないのだが,そのとき「記号」で書いていては,
そもそもどういう対象を書いているかが分からないだろう?w

>「形式的に」扱う訓練を受けていない人のために非形式的意味を使う。
訓練を受けているとかいないとかでなく、どんな相手だろうと、何を書いて
いるかを伝えるためには、単なる記号では伝わらないんだよ。

>非形式的な意味を持たせた時点で、その記述は形式仕様ではなくなる。
これも違う。人間がどういう読み方をしようと、machine readableであれば
形式仕様なんだよ。

あと、君が「形式手法を知らない人」「訓練を受けていない人」とよく
言ってるらしいのが気になるな。
0207206
垢版 |
2013/10/07(月) 20:42:57.52
誤 >>205 すまん
正 >>204
0209デフォルトの名無しさん
垢版 |
2013/10/08(火) 17:34:58.34
>>206
>これも違う。人間がどういう読み方をしようと、machine readableであれば
>形式仕様なんだよ。

じゃあポインタをキャストしまくってるCのソースも形式仕様だねw
0210デフォルトの名無しさん
垢版 |
2013/10/08(火) 17:39:04.75
>>206
>同じことを君(人間)がやってもそれこそ効果は半減する。

残念ながら、その形式言語の表現力がFOL以上であれば、
(非定理を含む)あらゆる式を自動的に証明可能なアルゴリズムは存在しない。
0211デフォルトの名無しさん
垢版 |
2013/10/08(火) 17:41:09.34
>>205
>e = 3.14159
>pi = 2.71828

まさに、こういうまやかしに惑わされないために
先入観を排して記号を記号として扱う訓練が必要なんだよ。
0212デフォルトの名無しさん
垢版 |
2013/10/08(火) 18:46:34.06
エラーや例外が発生しないプログラムが必ずしも「正しい」訳じゃないように
形式的に無矛盾な仕様が必ずしも「正しい」訳じゃない

無矛盾な証券決済システムの仕様は
鉄道運行管理システムの仕様としては全くもって正しくない

記号を記号として扱うのは機械でもできるし機械の方が得意だ
しかし形式意味論では扱わない記号に込められた「意味」を読み取るのは
現状では人間にしかできない

機械が得意なことは機械に任せて
人間は人間にしかできないことに力を入れる方が得策だろう
0215デフォルトの名無しさん
垢版 |
2013/10/08(火) 20:22:13.24
>>214
それが可能ならそれこそ形式仕様なぞ不要だな

そもそも何でも証明器で検証するのが前提になってる>>206
形式手法にどんな夢を見ているんだ?

>>206
> 放っておいても証明器は完璧にそうしてくれる。
> 同じことを君(人間)がやってもそれこそ効果は半減する。

残念ながら証明器は放っておいても何もしてくれない。
証明器を有効に使うために必要なエフォートを知った上での
主張とは思えない。

> どんな相手だろうと、何を書いて
> いるかを伝えるためには、単なる記号では伝わらないんだよ。

piを「円周率」として読むレベルの厳密さで良いのであれば、
拘束文法による半形式仕様で十分だ。
0216デフォルトの名無しさん
垢版 |
2013/10/08(火) 20:40:26.34
>>215
とりあえず俺は>>206じゃないが
複数の人間の発言を一緒くたにされても困る

>>そもそも何でも証明器で検証するのが前提になってる
証明器での検証を前提としない軽量形式手法においては
人間に意味が伝わらない仕様は使い物にならない
形式仕様は自然言語の曖昧さの排除が目的であって意味の排除じゃない

> 残念ながら証明器は放っておいても何もしてくれない。
人間が記号を記号として扱ってメタな意味を排除すると証明器は何かしてくれるの?
0217デフォルトの名無しさん
垢版 |
2013/10/08(火) 21:11:58.28
>>216
> 証明器での検証を前提としない軽量形式手法においては

全てを証明器でやるわけではないからといって、
必ずしも証明器での検証を前提としないわけではないだろう。
形式仕様スレでこんな論理の基礎を指摘しなきゃいかんのか?

> 人間が記号を記号として扱ってメタな意味を排除すると証明器は何かしてくれるの?

はあ?
まだ証明器が何もかもやってくれるとでも思ってるのか。
証明器はドラえもんのポケットじゃないぞ。
0220デフォルトの名無しさん
垢版 |
2013/10/08(火) 21:27:43.77
現行の証明器の能力が限られてることと
人間が非形式的な意味を排して形式仕様を読まなければいけないことの間に
随分と論理の飛躍があると思うんだけど

非形式的な意味を排して形式仕様を読める能力が必要だとして
形式仕様から非形式的な意味を読み取るor
形式仕様に非形式的な意味を書き記す能力が
同時に成立しない・成立させてはいけない理由は何?
両方の能力が必要なんじゃないの?
0221デフォルトの名無しさん
垢版 |
2013/10/08(火) 21:28:51.63
>>212
>無矛盾な証券決済システムの仕様は
>鉄道運行管理システムの仕様としては全くもって正しくない

ミスリードが2つある。

1つ目は、無矛盾な証券決済システムの仕様があったとしても
その仕様が証券決済システムの仕様としてvalidとは限らない。
なのにあたかも証券決済システムとしてvalidであるかのように、
鉄道運行管理システムの仕様としてinvalidだと主張している。

2つ目は、条件なしに「全くもって正しくない」と書いていることから、
「全ての」無矛盾な証券決済システムの仕様が
鉄道運行管理システムの仕様として「完全にinvalid」だという主張になる。
これは正しくない。
無矛盾な証券決済システムの仕様のうちいくつかは
鉄道運行管理システムの仕様としてinvalidな部分がある、
というならば、それはそうだろう。
もっとも、
無矛盾な証券決済システムの仕様のうちいくつかは
証券決済システムの仕様としてinvalidな部分がある、
も正しいがな。
0222デフォルトの名無しさん
垢版 |
2013/10/08(火) 21:34:10.43
>>220
「同時に成立しない・成立させてはいけない」なんて主張はしていない。
それは>>204を読んでくれ。
その>>204に対して
「いや、証明器があるから、人間は形式仕様を自然言語的な意味で解釈すればいいんだ。人間が自然言語的な意味を排除する必要なんてないんだ。」
という主張をしている人がいるんだ。
0223デフォルトの名無しさん
垢版 |
2013/10/08(火) 21:38:17.58
>>221
言ってる内容については理解するけどね
そういう揚げ足取りをするなら
「全くもって」を全体と部分の議論にすり替えてるのはミスリードじゃないの?

>1つ目は、無矛盾な証券決済システムの仕様があったとしても
>その仕様が証券決済システムの仕様としてvalidとは限らない。
それを理解している人なら
>e = 3.14159
>pi = 2.71828
を「まやかし」だなんて思わないだろう
0224デフォルトの名無しさん
垢版 |
2013/10/08(火) 21:47:32.85
>>222

> 形式手法を使う意味は半減するよ。
これが文字通り意味が50%になるって主張なら「同時に成立させてはいけない」とは言ってない。
しかし明らかにこの発言には「識別子の字面に引きずられてはいけない」という
否定的な主張が含まれている。
違うかね?
0225デフォルトの名無しさん
垢版 |
2013/10/08(火) 21:50:53.87
>>223
いや、実際その例はまやかしだよ。
じゃあ
pi = 3.1415926532
だったらどうする?
piを円周率だと思って読み進めて地雷作る?
eだろうがpiだろうが3.14159だろうが3.1415926532だろうが
「記号として書いてある通り」
に理解して
「記号として定義されている通り」の振る舞いについて
validityを評価するしかあるまい?
0227デフォルトの名無しさん
垢版 |
2013/10/08(火) 21:54:39.89
>>225
お前は自然言語が使えるんだろ?
「ここの記述はミスじゃないですか?」
「書き換えても検証結果は変わらないしミスということで直しましょう」
こんなやりとりもできないの?
0229デフォルトの名無しさん
垢版 |
2013/10/08(火) 21:59:21.79
>>227
つまり>>204に賛成なわけだね?
形式仕様として読む上では記号列をして操作し、
非形式的な説明においては自然言語的意味を使う。
そういうことだろ?

ところで、
>>225
> じゃあ
> pi = 3.1415926532
> だったらどうする?
このpiは円周率ではないことには気付いたよな?
0230デフォルトの名無しさん
垢版 |
2013/10/08(火) 22:01:28.11
>>228
それで正しいシステムが出来れば、堂々と「仕様書いてます」と言っていいだろ。
もちろん、形式手法やっていない人とは非形式的意味を使って説明した上で。
0231デフォルトの名無しさん
垢版 |
2013/10/08(火) 22:38:00.15
「形式仕様として扱う時には記号列として操作する」
ここから「全ての状況において非形式的扱いをしない」を導き出しちゃうとはね。
どんな論理体系なんだろうな。
0232デフォルトの名無しさん
垢版 |
2013/10/08(火) 22:47:35.90
>>228
まさか形式仕様スレでこんな幼稚な主張が出てくるとはね…
「自然言語的な意味に引きずられずに、記号を記号として操作する訓練が必要」
ここからどうして
「形式的な意味しかない記号の列を作って」
となるかが不明。

この人にとって形式仕様とは一体何なんだろう。
例えば注釈なしのペトリネットやオートマトンで記述したものは
仕様を構成するドキュメントとは認めないのだろうか?
ぜひ拝聴したくなった。
0238デフォルトの名無しさん
垢版 |
2013/10/11(金) 22:31:20.64
【会社の即戦力の定義とは】
「社会の一員として人々の役に立つ価値を提供すること」


会社にとって喉から手が出る程欲しい人材とは、
この求められる価値を提供するために、解決すべき
課題を正しく共有し、一緒になって価値を生み出す
ことが出来る人材なのです。

ところがJALグランドサービスの即戦力って言っている奴らは自分の気の合う人には仲良くするけど
気に入らない人間には粘着してとことんまで罵倒したりパワハラしたり自分にはとことん甘いくせに人の揚げ足ばかり探して
仕事中も喋ってばかりで口元緩んでばかりじゃないか
先に暴言を吐けば自分が強いと思わせることができるなんて考えているみたいだけどそれは違う 
それは弱い動物がキャンキャン吼えているのと同じことだよ
JALグランドサービスは仲良しクラブ会社 仕事中 趣味の話で盛り上がって手が止まってんだよw
たまには仕事まじめにやったらどうだね?
0239デフォルトの名無しさん
垢版 |
2013/10/11(金) 22:32:05.51
JALグランドサービスは貧乏性でテーブル拭いて汚れたタオルを次の清掃場所
さらに次の清掃場所にもっていって汚れたタオルを使えっていってきた
タオルからはなんともいえない臭いが漂い色もケチャップやなんやらがこびりついていて汚かった
お客さまのためにを毎日言っている会社なのになにこれ? 矛盾してるよね?
青タオルはウンコがこびりついていて汚い それをキレイなタオルといいラバーのほかギャレー
床のゲロ掃除などさまざまなところで活用している
バケツにそのタオルを濡らすとき気持ちが悪い バケツもすごく汚いよね
バケツ洗っているところみたことがないし
JALはこんな会社です
白タオルは生乾きで蒸れた悪臭がしている それでお客様がつかうテーブルを拭いているんだから
あのテーブルは菌をひろげているようなもんだ
0240デフォルトの名無しさん
垢版 |
2013/10/11(金) 22:32:50.46
JALグランドサービスはパートやアルバイト、契約社員に対し若い正社員ですら横柄かつ高圧的な言動(恫喝行為など)を取ることが常態化されていて
それを正せる上司が一人もいないというのが特徴の会社
0241デフォルトの名無しさん
垢版 |
2013/10/11(金) 22:33:27.02
人が見えにくい場所で係長がとある気弱な社員のわき腹を殴ったり
蹴っ飛ばしたり頭を殴ったりしていた
あれをパワハラといわずになんていうのか?
こんな屑なことばかりやっている悪質な会社JALの傘のなかでふんぞり返っているのだから
JALそのものがたいしたことがないといえるだろう
班長 係長 課長とも人間としての品格を疑うことがおおい
常軌を逸した行動を認知していながらそれを容認しているJALグランドサービス
フィロソフィなどただ毎日口にだして読んでればそれで満たされる
ただそれだけのもの どんなりっぱな言葉を並べたとこでそれを毎日読んでる人間が
バカじゃ意味がない 陵辱 ひとの足をひっぱったり人を不幸にしている
JALグランドサービスが物心両面の幸せだと? 笑わせるなw クズ会社がw
0242デフォルトの名無しさん
垢版 |
2013/10/11(金) 22:34:12.22
ロッカーの一番奥の壁を誰かが蹴っ飛ばしたのかなんだかわからないけど
大きな穴があいて破損させた馬鹿がいたよね?
犯人つかまったの?
あれだけの穴があいていて音が聞こえなかったなんておかしいよね?
こんな不祥事はこの会社しかないだろうしあれだけ人が多いロッカーで誰も気がつかないのもこの会社だけw
アホJALグランドサービスw
0246デフォルトの名無しさん
垢版 |
2013/10/16(水) 01:44:38.47
素朴に疑問に思ったのだが
このスレは時折
「形式主義を否定した形式手法」
とおぼしきものが主張されているようだが
これは軽量形式手法の一派か何かなのか?

通常のソフトウエア工学では
形式手法とはシステム記述に形式主義を導入して
形式主義的な検証や開発をおこなうこと
を指すと思うのだが...
0247デフォルトの名無しさん
垢版 |
2013/10/16(水) 01:58:15.28
技術として否定的(悲観的というべきか)であっても
形式主義の否定はしてないんじゃ?
表現が拙いだけで

「通常のソフトウェア工学」とかしれっと言っちゃうあたり
>>246も大して変わらんレベルなような印象を受けるが
0248デフォルトの名無しさん
垢版 |
2013/10/16(水) 01:59:18.39
>>205
>e = 3.14159
>pi = 2.71828
>で「後者に違和感を持つのは間違い」という奴の
>形式仕様は読みたくないな

そういう話なのか?
hoge = 2.0 * pi * r
という形式的定義があった時に
円周率や半径の類推から
piやrの形式的定義を辿らずに
hogeを円周の長さだと思い込んではいけない
という話なんじゃないのか?
0250デフォルトの名無しさん
垢版 |
2013/10/16(水) 02:16:17.00
>>248
そういう話も包含されているだろうね

仕様を書く人は誤解を生まないように気を付けた方が良いし
仕様を読む人は思い込みをしないように気を付けた方が良い

そんな凡庸な結論では刺激が足りない人が
極論で言葉遊びしているのがこのスレ

>>249
もっと具体的に言ってくれないと同意も否定もできん
0251デフォルトの名無しさん
垢版 |
2013/10/16(水) 03:00:35.01
式に含まれる記号の意味は証明(記号の操作)に無関係である

しかし人間は様々な形式化されていない知識を持っている
それは当該の公理系においては誤ったあるいは誤っているかどうか判断出来ない
推論規則をもたらす知れないが無価値とは言えない

どのくらいの価値があるかは適用場面や人の価値観によるだろう
0252デフォルトの名無しさん
垢版 |
2013/10/16(水) 09:03:40.50
>>209
>じゃあポインタをキャストしまくってるCのソースも形式仕様だねw
ということになるね。なぜダメ? あなたの定義は?
0253デフォルトの名無しさん
垢版 |
2013/10/16(水) 09:18:21.22
Cは未定義動作や実装依存があるから
形式的意味論が定義されているとは
言えないんじゃないかなー
0255デフォルトの名無しさん
垢版 |
2013/10/16(水) 09:21:06.47
>>246
>形式手法とはシステム記述に形式主義を導入して
>形式主義的な検証や開発をおこなうこと
>を指すと思うのだが...
ちょっと違う。「主義」をはずせばよい。

>>248
>そういう話なのか?
>hoge = 2.0 * pi * r
>という形式的定義があった時に
>円周率や半径の類推から
>piやrの形式的定義を辿らずに
>hogeを円周の長さだと思い込んではいけない
>という話なんじゃないのか?
いや、そもそもhogeやrを円周や半径と思ってはいけないと言ってるんだろ?
それに、いくら形式的定義を辿ってもhogeが円周だとはわからないよ

>>249
>形式主義を真っ向から否定しているようだが?
形式主義を否定してるんじゃなくて、形式手法=形式主義ではないと言ってる

>>250
>仕様を書く人は誤解を生まないように気を付けた方が良いし
>仕様を読む人は思い込みをしないように気を付けた方が良い
随分ぬるいがwまあそういうことだ。記号病達にはこれも伝わらないのじゃないかな
0256デフォルトの名無しさん
垢版 |
2013/10/16(水) 09:28:13.23
>>255
> 「主義」をはずせばよい。
formal methodsからformalismを取ったら何が残るの?ばかなの?

> それに、いくら形式的定義を辿ってもhogeが円周だとはわからないよ
hogeを円周と読むなって話だということが理解できない?ばかなの?
0257デフォルトの名無しさん
垢版 |
2013/10/16(水) 09:35:15.08
>>255
既に誰かが指摘しているようだが
あなたが形式手法と呼んでいるものは
制限文法による仕様記述なのでは?
0258デフォルトの名無しさん
垢版 |
2013/10/16(水) 09:47:51.55
>>256
>formal methodsからformalismを取ったら何が残るの?
アスペを相手にしたくないので、短く言うが、数学と記号表記の関係と同じ。
>hogeを円周と読むなって話
だから、>>255で、君達はそう言ってるんだろ、と言っただろ。よく読め
0259デフォルトの名無しさん
垢版 |
2013/10/16(水) 09:55:30.15
>>253
>Cは未定義動作や実装依存があるから
それは細かいことではないか。それに、未定義の所は使わければよいし、実装依存ならその実装に従えばよいし

>>254
>それじゃエクセル方眼紙も形式仕様かよw
方眼紙だけだと何もない形式仕様ということになるね
0260デフォルトの名無しさん
垢版 |
2013/10/16(水) 10:01:36.85
>>257
なんの限定もついていない形式手法について話してるつもりだが?
しかも言ってることは、「記号操作が本質なのじゃないよ」ということだけ
0261デフォルトの名無しさん
垢版 |
2013/10/16(水) 10:07:55.75
>>256

>hogeを円周と読むなって話

そんならそもそもお前は何を書いているんだという話
0264デフォルトの名無しさん
垢版 |
2013/10/16(水) 19:10:23.13
>>263
アスペの上に、言葉づかいの癖から見てクズのようだからもう相手しないが
>それを「細かいこと」なんて言う人が
それが細かくない(本質的である)と思っているということは、君は未定義動作や実装依存をなくせばCのソースも形式仕様だと言うんだな
それから、形式的ということと細かいということは同じことではないんだよ
0266デフォルトの名無しさん
垢版 |
2013/10/16(水) 21:27:26.11
まずJavascriptで書きます。
次に実行します。
ここでエラーが出たら間違いがあるということです。
正しく実行できたら正しく実行できるということです。
0268デフォルトの名無しさん
垢版 |
2013/10/17(木) 13:29:16.40
>>264
>それが細かくない(本質的である)と思っているということは、

この前提から

> 君は未定義動作や実装依存をなくせばCのソースも形式仕様だと言うんだな

こんな帰結を導出する人には、形式手法は無理です。(きっぱり
0270デフォルトの名無しさん
垢版 |
2014/04/04(金) 18:04:17.82ID:cQ9GUWm/
佐原伸 @donkeyshin: ちゅうか、機関銃買ってレイシスト撃ち こrしたくなるので米国ボイコット^_^
RT @tomooda: まあそうなんだけど、USAもユートピアとはほど遠い。全体主義も吹き荒れるし,雇用だって安定しないくせに階層間の流動性は日本以上に低い。レガシーとしか言いようがない古く非合理的な。
0271デフォルトの名無しさん
垢版 |
2015/04/24(金) 23:38:42.03ID:belF3Fjq
SPINを勉強し始めたところなんだけど、ミューテックス/セマフォ/モニタって
promelaでどう記述するのが一般的なんだろう?
セマフォはBasic Spin Manualにあったけど、どこかにまとまった情報がないかな。
0272デフォルトの名無しさん
垢版 |
2015/04/28(火) 23:15:25.31ID:8LxH1Yrp
久しぶりに来たが、超過疎ってるなw
形式仕様なんてどれもクソだって分かったかw
0273デフォルトの名無しさん
垢版 |
2015/04/29(水) 02:03:55.33ID:kKwn8j7I
クソではないよ
適用分野がとっくに収束してて適用分野も枯れてる
誰も語る事がなくなっただけだ
0276デフォルトの名無しさん
垢版 |
2015/04/29(水) 11:04:46.37ID:mWtY0FPp
形式仕様なんてどれもクソだが
クソ未満の非形式仕様が溢れかえっている喜劇

>>271
ミューテックスとセマフォの違いって排他制御の「実装」レベルの話なんじゃ
例えばデッドロックを回避する機構を入れたいなら
そういうコードを書かなきゃいけない
ミューテックスの一般的と言えるような実装がない以上
promelaでの一般的な記述もないような

余計なお世話かも知れんが
モデル検査は排他制御のあるシステムの検証には適しているといえるけど
それは排他制御を抽象化しての話
排他制御自体の検証には向いていないと思う
0277デフォルトの名無しさん
垢版 |
2015/04/29(水) 12:43:37.44ID:JCD1NrNA
>>276
結局ソフトウェアエンジニアリングがクソだと言ったか?w
> それは排他制御を抽象化しての話
> 排他制御自体の検証には向いていないと思う
これは何言ってる?
0278デフォルトの名無しさん
垢版 |
2015/04/29(水) 13:07:57.19ID:f54jgqM7
>>271の問題はまさにそこのところ、モデルと実際のプログラムをどう対応付けるかなんだろう。
VDMが実際の開発に導入されている話は聞くがAlloyについてはあまり聞かないのは
やはり抽象度のギャップの要因が大きいように思う。
0280デフォルトの名無しさん
垢版 |
2015/04/30(木) 06:12:35.13ID:B1QV8IC2
なんで大きいほどいいの?
ギャップ=0で、動くプログラムがそのまま検査できるのが理想じゃないのか。
0281デフォルトの名無しさん
垢版 |
2015/04/30(木) 07:36:41.80ID:YRFCj/Kr
>>280
ん?言葉の違いか?
ギャップってモデルと実際のプログラムの間の抽象度の違いのことじゃないのか?
0282デフォルトの名無しさん
垢版 |
2015/04/30(木) 07:58:46.50ID:B1QV8IC2
うん、その違いだよ。
抽象度の高いモデルで正しさを証明できたとして、それをもって現実のプログラムの
正しさの証明とするにはギャップは小さいほうがいいと思うが。
書き換えの段階で間違いが入ったらそもそも意味がないし。
ギャップが大きいほどいいとする理由は?
0283デフォルトの名無しさん
垢版 |
2015/04/30(木) 08:47:12.46ID:YRFCj/Kr
えー! 
極端な場合で考えてみなよ
ギャップ=0ということはモデルの意味がないということだ
0284デフォルトの名無しさん
垢版 |
2015/04/30(木) 09:07:52.87ID:B1QV8IC2
モデルの意味って何ぞ?
>>278の言う現実のプロジェクトではモデルを構築することそれ自体が目的じゃなくて
実際のシステムに誤りがないことを保証したいわけだろう。
モデルはそのための道具でしかない。
0285デフォルトの名無しさん
垢版 |
2015/04/30(木) 10:01:13.28ID:YRFCj/Kr
モデルがなぜそのための道具になりえるとしたら、それはモデルが何だからか考えてみな
0286デフォルトの名無しさん
垢版 |
2015/04/30(木) 10:02:47.56ID:YRFCj/Kr
モデルがそのための道具になりえるとしたら、それはモデルが何だからかを考えてみな
0287デフォルトの名無しさん
垢版 |
2015/04/30(木) 21:17:47.07ID:B1QV8IC2
ここでそういう質問が出るとは思わなかったが、形式手法におけるモデルの意義は
機械的に検証可能であることに尽きるだろう。現実のプログラムではそれが難しいから
モデルで代用していると言ってもいい。

たぶんあんたが考える「モデルの意味」は違うんだろうけど、じゃあそれ説明して。
0288デフォルトの名無しさん
垢版 |
2015/05/01(金) 20:46:23.78ID:mxjbyy1D
まぁ色々な側面があると思うけどね

形式手法によって手戻りを低減するには
できるだけ早期に検証することが有効で
建前としては仕様が実装に先行するのだから
検証の対象は実装より抽象度が高くなる

とはいえギャップが大きすぎるのも実際的ではない
だからBやZで言われる段階的詳細化が意味を成す
0289デフォルトの名無しさん
垢版 |
2015/05/01(金) 21:06:27.82ID:mxjbyy1D
別の大きな側面としては
抽象化しないと現在の計算機・理論ではまともに検証できない
というのがある

簡単に言えば状態変数として二値変数が64個あるだけで
状態空間を表現するのにアドレス空間を食いつぶしてしまう

自然数や実数を扱うプログラムをまともに自動検証できるようにするには
ハードにせよ計算理論にせよ技術革新が必要
0290デフォルトの名無しさん
垢版 |
2015/05/01(金) 21:07:15.76ID:mxjbyy1D
勿論「矛盾がない」という検証結果が
実際的な時間・コストで得られないとしても
「矛盾がある」という結果が早期に得られる場合もあるので
計算機ぶん回すのも無意味ではないが
それはいわゆる形式手法というより「テスト」の範疇だと思う
0291デフォルトの名無しさん
垢版 |
2015/05/01(金) 23:33:52.21ID:QsO/fHrg
>建前としては仕様が実装に先行するのだから
>検証の対象は実装より抽象度が高くなる

>抽象化しないと現在の計算機・理論ではまともに検証できない

積極的に抽象化すべき理由じゃなくて単なる結果だな。
0292デフォルトの名無しさん
垢版 |
2015/05/02(土) 00:16:55.31ID:XhAWgoUD
自然言語の曖昧さの排除という使命がある以上
闇雲に抽象化すればいいってもんでもないだろ

さらに言うなら「単なる結果」でない
形式手法を使う積極的理由なんてあるのか?
0293デフォルトの名無しさん
垢版 |
2015/05/02(土) 09:28:39.94ID:GIpzT+Qy
皆独り言を言っている。
0294デフォルトの名無しさん
垢版 |
2015/05/02(土) 20:56:44.49ID:0dQA+dZy
どいつもこいつもwこの分野のやつらはw
そんなのを抽象化なんて言うから世間から笑われるんだ
単なるアバウトって言うんだよ
0296デフォルトの名無しさん
垢版 |
2015/08/10(月) 08:36:36.39ID:R/t8P2/U
質問に罵倒なんぞは自然言語でいいが、主張は形式手法言語で書いてくれ。
Event-Bしか読めないけど。
0297デフォルトの名無しさん
垢版 |
2015/08/10(月) 23:38:42.28ID:8/xPnylN
形式言語で表現できるのは形式的意味でしかなく
主張するところの、いわゆる意味を示すことはできない

そして論理的に矛盾の無い主張だからといって有意義とは限らない
ここで「偶数+奇数は奇数だ!」と主張したところで
スレチとなるだけ

ま、自然言語から意味を見出しているのも幻想かもしらんが
0298デフォルトの名無しさん
垢版 |
2015/12/30(水) 12:08:29.72ID:z2Nurwun
Alloyって楽しいな。
コンピュータと対話しながら、記述対象に対する自分の理解を深められるのがとても楽しい。
0300デフォルトの名無しさん
垢版 |
2018/05/23(水) 23:09:57.69ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

ZLPAL
0301デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:59:43.98ID:gFgZc5FG
LGL
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況