約 1,248,603 件
https://w.atwiki.jp/llldailll/pages/17.html
碓氷 冷次(うすい れいじ) 年齢:16 性別:男 属性:氷 血脈:天稟 始祖血統:銀色の魔境/銀色の魔境 職業:学生 所属:六道学園 目/髪/肌:青/白/橙 能力値(カッコ内は基礎値) 器用 3(9) 感覚 3(9) 運動 3(10) 体力 3(9) 意思 4(13) 知力 4(12) 戦闘値 HP 46 覚醒力 18 行動値 16 魔性値 3 命中 5 回避 9 戦闘移動 20m 全力移動 42m 異攻撃力 2D6+1 異防御力 18 物攻撃力 2D6 物防御力 0 特徴 特徴名 レベル タイミング 効果 コネクション【警察】 1 常時 対象の情報収集判定+3 幼き容姿 不可 常時 情報収集の達成値+1 力の紋様 不可 常時 異能防御力+1 異能力 異能力名 性質 LV タイミング 判定 対象 射程 効果 戦闘覚醒 自動取得 不可 いつでも 自動判定 自身 - 霊装装備 物理攻撃無効 異能の研磨 天稟 不可 常時 - 自身 - 選択した異能LV+1コスト+1(防御結界) 特殊訓練 天稟 不可 常時 - 自身 - 任意の戦闘値+2(回避) 防御結界 付与(氷) 3 メジャーアクション 自動成功 単体 視界 シーン中物理・異能防御+レベル*3 減速空間 付与(氷) 不可 イニシアチブプロセス 自動成功 自身 - 先にメインプロセスを行う(1シナリオ3回) 氷塵発生 弱体(氷) 不可 イニシアチブプロセス 自動成功 エンゲージ エンゲージ 1DT間エンゲージを封鎖 氷柱壁 付与(氷) 不可 セットアッププロセス 自動成功 単体 至近 1DT対象の防御判定+1点 守護結界 付与(氷) 1 ダメージロールの直後 自動成功 単体 視界 実ダメ2D6+レベル*2減少 1DT1回 アイテム アイテム名 種別 隠蔽 効果 備考 練気衝 攻撃(-) 異能攻撃2D6 心障壁 防御(精神) 異能防御8 抗霊紋 付与(-) 回避2 素手 白兵武器 物理攻撃2D6 携帯電話 20 付き人(刑事)
https://w.atwiki.jp/corazones/pages/178.html
このページの最終更新日時 2020/11/10 06 55 造船解説 全くの初心者にも分かるように造船を説明できないか模索中だけど、造船が複雑なので単純化して説明できず、何度も挫折ちゅう>< 懲りずに再挑戦w 目次 造船の基本の流れ 各プロセスの解説①プランニング ②新造 ③シップリビルド ④操船熟練度上げ ⑤スキル付与 ⑥強化、容量変更 ⑦限界を超えた強化 ⑧配分変更 ⑨帆塗料・船塗料など仕上げ コメント 造船の基本の流れ 順番は多少入れ替わっても良いのだけど、ここでは便宜上、以下の図のような流れで説明します。 ▲上に戻る▲ 各プロセスの解説 以下、各プロセスについて解説してきます。 ①プランニング ②新造 ③シップリビルド ④操船熟練度上げ ⑤スキル付与 ⑥強化、容量変更 ⑦限界を超えた強化 ⑧配分変更 ⑨帆塗料・船塗料など仕上げ ▲上に戻る▲ コメント 名前 コメント ▲上に戻る▲
https://w.atwiki.jp/atyou/pages/34.html
以下のSQL文を実行する と、ロック開放SQLが作成される。 SELECT alter system kill session || sid || , || serial# || ; || username as sql FROM V$SESSION WHERE SID IN ( SELECT SID FROM V$LOCK WHERE TYPE IN ( TM , TX ) ) 以下、未確認 オラクル上のプロセスを殺す方法は、↑で学びました。 しかし、その方法でもプロセスが残ってしまう場合があります。 よくあるのが、ステータスが killed などで残ってしまう場合。 その場合は、以下のSQLでサーバーOS上のプロセスIDを調べましょう。 SELECT s.sid, s.serial#, p.spid, p.program, s.program, s.terminal, s.status FROM v$process p, v$session s WHERE p.addr = s.paddr and s.SID IN ( SELECT SID FROM V$LOCK WHERE TYPE IN ( TM , TX ) ) 上記で調べたspid がサーバーOS上のプロセスです。 これを、サーバー上で以下のような感じで殺します。 #kill -9 spid 参考 http //www.searchman.info/tips/1680.html http //www.searchman.info/tips/1690.html http //kamoland.com/wiki/wiki.cgi?%A5%ED%A5%C3%A5%AF%B2%F2%CA%FC%A4%CE%A4%BF%A4%E1%A4%CE%C6%BB%B6%F1%C8%A2(Oracle)
https://w.atwiki.jp/rupt/pages/187.html
らぷらんち ../ ソフトウェア名 らぷらんち 現Version 0.3 作者(敬称略) ありあ 配布元 転載中 転載所 ソフトウェア形態 フリーソフトウェア ソース 非公開 紹介 もうひとつのランチャーアプリ。こちらのほうが古い。 親プロセスアプリの起動 子プロセスアプリの起動 他 親アプリをランチした後はFILERとENTERで「らぷらんち」を再度起動できる。 設定ファイルをあらかじめ用意せねばならないのがネックだ。 Easy Launcherの少ない登録数を補う用途に使うと良いだろう。 またこのランチャーとは別に子プロセスアプリが3つ同梱されている。 「DQCH.EXF」は時計の子プロセス版 「EXIT.EXF」は特殊な即時終了アプリ 「MMPQCH.EXF」は同氏のMMPClockの子プロセス版だ。 これらは同梱版なので忘れられやすい。結構便利なので要チェック。 (スクリーンショット情報) 全 RuputerPRO + 画面キャプチャ(rupcaptu) ver1.00
https://w.atwiki.jp/tamorintech/pages/17.html
KVS(Key-Value Store)ということば。(2012/2/5 旧Wikiから移行)参考サイト memcachedとは(2012/2/5 旧wikiから移行)memcachedのクライアントについて。 参考サイト 共有ロックと占有ロック(2012/2/4) 楽観的排他と悲観的排他(2012/2/4 旧wikiから移行)思ったこと(2012/2/4) 参考サイト KVS(Key-Value Store)ということば。(2012/2/5 旧Wikiから移行) 連想配列やMapと同様にキーと値のペアからなるシンプルなデータモデルに基づくデータストア。 分散KVSとRDBの比較 KVS RDB 分散化のコスト ◎ × 負荷分散 ◎ △ 高可用性 ◎ △ 複雑な検索や集計 △ ◎ トランザクション △ ◎ 参考サイト @IT - もう1つの、DBのかたち、分散Key-Valueストアとは memcachedとは(2012/2/5 旧wikiから移行) さまざまなサービスでWebアプリケーションのスケーラビリティを向上させる技術(ソフトウェア)。mixi、はてな、facebook、…などで利用されている。 memcachedは高性能な分散メモリキャッシュサーバーであり、データベースへの問い合わせ結果を一時的にキャッシュすることでWebアプリケーションの高速化を実現する。 memcachedは「分散」キャッシュサーバーだが、分散に関しての機能はサーバー側に備わっていない。全てクライアント側の実装に依存する。 memcachedのクライアントについて。 クライアントライブラリにはさまざまな言語の実装がある。Perl、PHP、Python、Ruby、C#、C/C++、Lua Javaはないんか… Perlのmemcachedクライアントは以下のようなモジュールがある。Cache Memcached Cache Memcached Fast Cache Memcached libmemcached Cache Memcachedの利用データを保存するメソッドadd - 同じキーのデータがストレージ上にない場合のみ値を保存 replace - 同じキーのデータがストレージ上にあった場合のみ値を保存 set - どんな場合でも値を保存 データを取得するメソッドget - キーを指定して値を取得する get_multi - 複数のキーを指定して非同期で値を取得する。getをループで処理するよりも数十倍高速にデータを取得できる。 データを削除するメソッドdelete - キーを指定して値を削除する。2つめの引数にblock時間(秒)を指定することで、一定時間、同じキーで新しい値を保存できないようにすることができる。ただし、setメソッドを利用すると関係なくデータを保存することができる。 参考サイト gihyo.jp - memcachedを知り尽くす (memcachedの構成イメージや、ソースサンプルが参考になる!) 共有ロックと占有ロック(2012/2/4) 下の表なんかはよく見るものだけど、SQLではどう違うかがようやく分かったので記録しておく。 ある資源に既に掛けられているロックとそれに対してこれから掛けようとするロックの関係は以下の通り。 共有ロック 占有ロック 共有ロック できる できない 占有ロック できない できない 共有ロックは以下のSQLで実現できる。(これをずっと知らなかった。。) SELECT ... FROM ... LOCK IN SHARE MODE; 占有ロックは以下のSQLで実現できる。 SELECT ... FROM ... FOR UPDATE; 楽観的排他と悲観的排他(2012/2/4 旧wikiから移行) 一言でいうと、その違いは「ロックをとるかとらないか」のようだ。 楽観的排他とは考え方「自分が操作している情報は、他の人が操作する可能性は少ない」という視点に基づいている。 あるプロセスがデータを更新しようとしている間に、他のプロセスからも処理が可能だが、後から更新しようとしたプロセスは失敗する。 複数のユーザーが同じデータを見る(Readする)ことはできるが、それが最新の情報かどうかは(アプリ側から)通知されるまでわからない。 実現方法排他チェック用のカラムの値が、参照時と更新時で同じかどうかを検証する。(値が異なっていれば他のプロセスによって更新されていることになる。) 排他チェック用カラムには、更新日時(タイムスタンプ)やバージョン番号を使うのが一般的。 悲観的排他とは考え方あるプロセスのデータを更新が終了するまで、(参照を含めて)他のプロセスは処理ができない。 あるユーザーが参照・更新処理を行っている間は、他のユーザーは参照も更新もできない。 後のプロセスは、先のプロセスが終了するまで待たされることになる。 実現方法更新対象の行を参照(SELECT)した時点でロックをかける。 思ったこと(2012/2/4) 悲観的排他では排他されるプロセスは「参照もできない」とあるが、どうゆうこと?ロックの種類に占有ロックを使うことが前提になっている? 参考サイト @IT - 悲観もあれば楽観もある「トランザクション」の常識 http //pcdn.int21.co.jp/pcdn/vb/noriolib/vbmag/9904/lock/ System.Exit - 悲観的ロックと楽観的ロック
https://w.atwiki.jp/toyoken/pages/18.html
◆事前準備 「-g」オプションを付けてコンパイルすると、gdbでデバッグ可能となります。 gcc -g(ソースファイル) ◆デバッグファイル指定 gdb (実行ファイル名) ◆プロセスID指定でデバッグ gdb -p(プロセスID) sudo gdb -p(プロセスID) ◆デバッグを終了 q ◆ブレークポイントを貼る b(関数名) b(行数) b(ファイル名) (行数) ◆ブレークポイントを削除する delete ◆実行ファイルを実行 r ◆デバッグ n 次の行へ進む(Next) s 関数の中へ入る(Step In) c 継続(continue) finish 関数の最後まで実行 ◆表示 p(変数名) 変数データを表示 p *(ポインタ) ポインタが示すデータを表示 list ソースを表示 ◆設定 set(変数)=(値) ◆coreファイルを利用 gdb(実行ファイル)(coreファイル) ◆関数のコールスタックを表示 bt ◆ヘルプ help(コマンド名)
https://w.atwiki.jp/tatecs/pages/167.html
ISO9001 ISO9001-2015 ISO9001-2015 要求事項 ISO9001システム改善 ISO9001新規認証取得支援コンサルティング ISOシステム構築への取組み-その1 ISOは経営システムの基本である 社長はISOをどのように活用できるか ISO9001用語集 精密板金加工業への適用例 プレス加工業への適用例 機械加工業への適用例 電気工事業への適用例 ソフトウェアのISO9001 | サイトマップ 電気工事業の大まかな流れ 電気工事業の仕事の流れを大まかに考えてみる。図1に示すように、官公需工事の仕事と、民間の仕事の流れに大別できる。 そして、求められる仕様に基づき、電気設計、積算を行い、受注したのち、必要な部材を調達し、施工工事が行われる。完工したら、客先へ引き渡しとなる。 (図1) <一般工事(入札・工事型)> 【現地情報の入手】⇒【現場説明会依頼書の提出】⇒【現場説明会へ出席】⇒【顧客情報入手】⇒【要求事項の明確化】⇒【積 算】⇒【受注能力の確認】⇒【入札】⇒【受注】⇒【工事】⇒【引渡し】 <工事・保守型> 【顧客より業務依頼】⇒【業務に必要な情報の入手】⇒【要求事項の明確化】⇒【顧客情報入手】⇒【要求事項の明確化】⇒【受注能力の確認】⇒【工事台帳の作成】⇒【顧客へ提出】⇒【受注】⇒【工事】⇒【引渡し】 一口に電気工事といっても、設備でいえば、受変電設備、自家発電設備、避雷設備、蓄電池設備、動力設備、通信設備、防災設備など多種多様な設備の工事がある。また、配線、配管の作業を行うものには、照明器具、屋上・屋外配線、配線器具、金属ダクト配線、バスダクト配線、フロアダクト配線、ラック配線、ケ-ブル配線、合成樹脂管配線、金属管配線、アクセスフロア配線、光LAN配線・配管、接地、盤類、車路管制などがある。 ISO9001で施工を管理する では、この電気工事業では、ISO9001を使って、どのように品質管理をするのでしょうか。 品質マネジメントシステムは、大別すると、4. 品質マネジメントシステム 、5. リーダーシップ 、6. 計画、 7. 支援、 8. 製品の実現、 9. パフォーマンス評価、 10. 改善 になります。 さらに細かくしてみると、以下のようになります。 4. 品質マネジメントシステム 4.4 品質マネジメントシステム及びそのプロセス 5. リーダーシップ 5.1 リーダーシップ及びコミットメント 5.2 品質方針 5.3 組織の役割、責任及び権限 6. 計画 6.1 リスク及び機会への取組み 6.2 品質目標及びそれを達成するための計画策定 6.3 変更の計画 7. 支援 7.1 資源 7.1.3 インフラストラクチャー 7.1.4 作業環境 7.1.5 監視及び測定機器の管理 7.1.6 組織の知識 7.2 力量 7.3 認識 7.4 コミュニケーション 7.5 文書化した情報 (品質マニュアル、文書管理、記録の管理) 8. 施工の実現 8.1 施工実現の計画と管理 8.2 顧客関連のプロセス(顧客とのコミュニケーション、 施工に関連する要求事項の明確化、施工に関連する要求事項のレビュー、要求事項の変更管理) 8.3 設計・開発(設計・開発の計画、設計・開発へのインプット、設計・開発の管理、設計・開発からのアウトプット、設計・開発の変更管理 ) 8.4 購買(管理の方式及び程度、外部提供者に対する情報 ) 8.5 施工の提供(施工提供の管理、施工提供に関するプロセスの妥当性確認、識別及びトレーサビリティ、顧客の所有物、製品の保存、引渡し後の活動、変更の管理 ) 8.6 製品の監視及び測定 8.7 不適合製品の管理 9. パフォーマンス評価 9.1 監視及び測定(プロセスの監視・測定、顧客満足、データ分析・評価 ) 9.2 内部監査 9.3 マネジメントレビュー(一般、マネジメントレビューへのインプット、マネジメントレビューからのアウトプット) 10. 改善 (是正処置、継続的改善 ) このページの冒頭で電気工事業の大まかな流れを示した業務フローは一般論に過ぎません。施工するにはその前後にも多くのプロセスがあります。 これらも管理しないと、よい施工を安定的に提供することができません。 まず、顧客から依頼があって施工する受注する場合と、入札で受注したのち基本設計、実施設計を行い、施工する場合など、細かくはケースによっていろいろなフローが存在します。どの場合であっても顧客の要求事項を満足させるためには営業活動が必要です。 それが 8.2 顧客関連のプロセスです。 顧客関連のプロセスは、仕様を明確にすること、積算のうえ御見積書などで条件と詰めること、受注可能な案件なのか、施工可能なのかレビューすること、顧客とのコミュニケーションをとるなど、管理すべき点がいくつかあります。 ずさんな営業活動は、赤字受注やクレーム対応のまずさから顧客不満足につながったり、信用失墜になるなどの結果を招きます。品質管理活動の大事なプロセスの一部なのです。 受注したら、図面や仕様書から、どのように施工を実現したらよいか、品質計画をつくります。これが8.1 施工実現の計画です。一般的には、「施工計画書」などにより計画されます。 次に、具体的な設計開発が必要な場合、8.3 設計・開発のプロセスを管理する必要があります。 設計開発のプロセスを終え、施工に先立ち、在庫引き当てや材料手配が必要になります。それが8.4 購買です。 協力業者を選定し、発注し、受入れ検査を終えたら、いよいよ施工です。これが8.5 施工及びサービス提供です。 施工には、施工のできばえをチェックするために、絶縁抵抗計、照度計、接地抵抗計、テスタ-などの計測器が必要になります。また、高圧検電器、巻尺、コンベックス、トルクレンチなど目安を測定する機器もあります。これらの計測器は、7.1.5 監視機器及び測定機器の管理で管理します。 施工の基幹プロセスは、8. 製品の実現で実現してくのですが、それを支えるプロセスの7. 資源の運用管理、9. パフォーマンス評価、10.改善での管理項目も管理する必要があります。 例えば、電気工事は、電気工事士など資格がないと作業に携わることができないという前提条件のある作業も多く、力量の管理や安全な作業を行うための教育・訓練も重要になってきます。これに関係する要求事項には、7.2 力量、7.3 認識、7.4 コミュニケーション、7.1.6 組織の知識、6.1 リスク及び機会への取組みなどがあります。 ニーズで選べる支援内容 当社のISOコンサルタントは、品質マネジメントシステム構築・改善支援に長年携わっております。中小の電気工事業での実績も多く、内容に精通しております。 ISO取得に必要な工数をお客様のニーズで選べます。お問合せください。 新規認証取得とともに、既にシステム運用をしていて、もっと役立つISOに改善したいのだが。。。 といった改善のご相談に積極的に対応させていただいております。お気軽に。お問合せください。 これまでにも、別のコンサルタントが構築したシステムの見直し、改善を多く手がけてきた実績があります。 せっかく認証取得しているのですから、経営に役立つ仕組みにするため、一緒に汗をかこうではありませんか。 プロに徹しております。必ずや、ご満足いただける結果を残します。 お気軽にお問合せください。 現在、ISO9001 2015年版対応の品質マニュアルへの書き換えサービスを実施しております。また、ISO14001やISO27001との統合マニュアルも可能です。サービス内容はお客様との相談により柔軟に対応しております。お気軽に。お問合せください。 ISO9001 当社コンサルティングの特徴 ISO9001のシステム構築といってもオリジナル化の方法は多様です。当社の指導ポリシーは下記のとおりです。 認証取得マークだけでよいというお客様には適合性審査に通ることを重点にしたシステムをご提供致します。 経営に役立てようとするお客様にはISO以外のオプション機能を組み込むことができます。 企業を取り巻く経営環境の分析、経営戦略の立案、品質目標の設定・運営管理を実のあるものにできます。 BSC(バランススコアカード)、日本経営品質賞、ランチェスター戦略、ISO9004など他の経営のしくみとISO9001とを融合するご提案ができます。 経営幹部や管理職の人材育成、プロセス改善、顧客満足のしくみを深掘りすることができます。 不良が減らない、原価低減がしたい、顧客満足を高めたい、製品(サービス)設計開発の能力を高める策を提供できます。 御見積り・ご相談等は信頼と実績のタテックスまでお問合せください。 お問合せは、ここをクリック ↓ お問合せ
https://w.atwiki.jp/maroganmm/pages/190.html
,ィfニイニア ̄ ヾx (ニニニニマム、 (三) jニ≧ /.ィ^マニニニ>≧xxイアニア 〃 , ゞニ二{ 彡{_}=ニ .}ュ / '/ , `マア´ .ィ介 `ヽア , .i .,' / ' ゝ ン¨´`ヽ_ン‘, | .| j { ! j / ヽ } ) ‘, l !. il l -j‐-リ {-‐弌_,ノrイハ ハ } j弋__iィテ抃くーjノ ィ忻ハ》 !/ ハ { ノ !. ∧乂rソ 弋zソ jハ ハ 八 f j ハ , /j.リ. ハ ヽ }i {. ヽ 、 ー ‐' , イ.Oj .} 八 .} ハO ,> イハ、 .{ リ \ / / jⅣ‘,ハニニニ≧≦-==}lj / ,イli ヽ ヽ / 〃 jニム ‘,}´ _ニ={_}=ニ ハ ,/!ニ{ヽ ハ 〃 / ハニム. リゞ_;_' ,/ニ辷彡イy'{ニニ7 V ハ ヽ. / / / .′ マニj,/ニl□;!(j「㏍※※㏍}ア' V .ハ_ ハ , / , 'γ´ ̄二≧x-:!ヨjl㏍※※㏍}ヽ ,ィ''"-=ミ ヽ. / , /' i/ .γハ´ ヽ''![㏍※※㏍ト/ r'/メxヽ ‘, ハ ∥. { { ∥ ∥/ マ__> ''´ 弋≧xx≦ゾ ` <__メ爻ィj} j } , } } l州 .{イ / マ二リ .j j { } ! ,ニl l/' , マニl l j{. } } { jニj .j { γ⌒ヽ. γ⌒ヽ .lニ' .l' 八. j } Ⅵl l㍉_r} {{ Ⅹ }} {{ Ⅹ }} .,セl l / `ヽ ノ ノ `! lニ'マム 乂zン. 乂zン /´j l 、 \. / //. j jニニニマム r==y .,イx .j .j ヽ ヽ ,〃 ,/ 〃 l/j j寸ニr'ニ㍉≧x、_. `ー'' ,x≦ニ≧リ /j ハ } ‘,. / / ./ / ,ィ|! j jニム{ニ〈`マノニニニニニアマニニ二ニムァ二| .j ! j l .j }/ ! { , ,ィ升 l jニニ≧マヱニアニニア|ロ!マニニニニニアンニl ! lュ リ j| jl .リ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ 種族:MAYU ♀ 性格:理知 LV100 HP:1166/1166 MP:60/60 こうげき D ぼうぎょ A+ すばやさ D かしこさ A- せいしん S- 【耐性】 炎:+4 氷:-6 雷:+2 光:-8 闇:+8┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┏━━━━━┓┃戦士の歌Ⅱ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ 種別:歌系Ⅱ 成長条件:歌系Ⅱ×2/戦士の歌Ⅱ+補助系Ⅱ/補助系Ⅱ×2 その他Ⅱ×3/その他Ⅲ以上┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ 【特技】 ・剛力のエチュードⅡ 消費:なし 種別:歌 対象:味方全体 タイミング:セットアッププロセス 効果:【こうげき】+3/使用後行動済み ・元気のエチュードⅡ 消費:なし 種別:歌 対象:味方全体 タイミング:セットアッププロセス 効果:【ぼうぎょ】+3/使用後行動済み ・機敏のエチュードⅡ 消費:なし 種別:歌 対象:味方全体 タイミング:セットアッププロセス 効果:【すばやさ】+3/使用後行動済み┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┏━━━━━━┓┃魔道師の歌Ⅱ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ 種別:歌系Ⅱ 成長条件:歌系Ⅱ×2/魔道師の歌Ⅱ+魔法系Ⅱ/魔法系Ⅱ×2/魔法系Ⅱ+補助系Ⅱ その他Ⅱ×3/その他Ⅲ以上┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ 【特技】 ・知恵のエチュードⅡ 消費:なし 種別:歌 対象:味方全体 タイミング:セットアッププロセス 効果:【かしこさ】+3/使用後行動済み ・精神のエチュードⅡ 消費:なし 種別:歌 対象:味方全体 タイミング:セットアッププロセス 効果:【せいしん】+3/使用後行動済み ・破邪のロンドⅡ 消費:なし 種別:歌 対象:味方全体 タイミング:セットアッププロセス 効果:ラウンド中全耐性+2/使用後行動済み┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┏━━━━━━┓┃ヘッドクラッシュ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ 種別:補助系Ⅰ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ 【特技】 ・フールシュート 消費:1MP 種別:補助動作 対象:敵単体・3ラウンド タイミング:マイナーアクション 効果:次メジャーアクション攻撃に対し【かしこさ】-1効果付与 ・混乱攻撃 消費:1MP 種別:補助動作 対象:敵単体・3ラウンド タイミング:マイナーアクション 効果:発動率30%/次メジャーアクション攻撃に対し【混乱】付与 ・フール 消費:1MP 種別:魔法 対象:敵単体・3ラウンド タイミング:セットアッププロセス 効果:【かしこさ】-2┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┏━━┓┃V・V┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ 種別:歌系Ⅱ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ・サイレンの魔女 消費:2MP 種別:魔法 対象:敵全体 タイミング:メジャーアクション 効果:【かばう】無効/【種別:歌】の効果中のみ使用可能 【特性】 ・暴走ラブソング 効果:味方がテンション3以上でテンション開放した時発動 【種別:歌】を使用した時、行動済みにならなくなる ・熱望アピール 効果:【種別:歌】使用中、敵に異性が居り、その異性が自身を攻撃対象にしなかった時発動 クリンナップでテンション+3┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┏━━━━━━━━┓┃斜め60度の楽曲集┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ 種別:歌系Ⅱ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ 【特技】 ・自己顕示の寄想曲 消費:なし 種別:歌 対象:敵全体 タイミング:セットアッププロセス 効果:【対象:単体】の攻撃の目標が自身に変更される/使用後行動済み ・嫉妬の諧謔曲 消費:なし 種別:歌 対象:味方全体 タイミング:セットアッププロセス 効果:ラウンド中敵がMPで攻撃を行った時、自身が対象にならなかった場合P終了時にテンション+1 使用後行動済み ・不撓不屈の狂詩曲 消費:テンション3 種別:歌 対象:味方全体 タイミング:セットアッププロセス 効果:この歌の効果中に戦闘不能になった時、1度だけHP1で復活する 使用後行動済み/1戦闘に1回使用可能┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
https://w.atwiki.jp/svrf/pages/17.html
簡単な説明と簡単な例で簡単に雰囲気をつかみたい。 spinがインストールしてあるのが前提。 構造: Promelaが扱う主なデータタイプは以下の通り データタイプ 値の範囲 補足 bit 0..1 1bit bool false, true 1bitでfが0でtが1 byte 0..255 8bit short -2^15..-2^15-1 符号付16bit int -2^31..-2^31-1 符号付32bit すべてintで宣言すればいいわけではなく、状態が多くなりすぎて検査できない(いわゆる状態爆発)を防ぐために、intよりshort、shortよりbyte、byteよりbitなどと小さくしていくと無駄がなくなってモデル的にも良い、と言われている。 他には、mtypeやpid、unsignedがある。mtypeは良く使うので後に例を書きたいと思う。pidはプロセスの識別子でこれも後に説明したいと思う。unsignedは使っているところあまり見かけないのでスルー。 例題: そういったわけで、すごく簡単な例を書いてみる。 「nが5まで1つずつ増えて5になったら0になるカウンター」 Promela/SPINも含むモデル検査は状態遷移(オートマトン)の枠組みを基本としているので、状態遷移をまず考える。 カウンターの状態遷移。 もっと一般化すると以下のようになる。 以上のモデルを考えてから、それをもとにPromelaで記述してみる。 Promelaはプロセスという動作単位で構成するので、proctypeというプロセス宣言がメインになる。 int n = 0; active proctype counter(){ do (n 5) - n++; (n == 5) - n = 0; od;} このような形になる。 最初なので細かく説明、というかメモを残しておくことにする。 1行目から int n = 0; いわゆるグローバル変数の宣言。どのプロセスからもアクセスできる。宣言と同時に0で初期化。SPINの日本語解説書では大域変数という名称で書かれていることが多いので、大域変数と呼ぶことにする。 大域変数があるということは局所変数(ローカル変数)もあるわけで、プロセス宣言内に変数を宣言すれば局所変数で、スコープ一般的なプログラミング言語と同じだと思います。(スコープは厳密に確認していないが…) 次にメインとなるプロセス宣言。 active proctype counter(){ do (n 5) - n++; (n == 5) - n = 0; od; } proctypeで囲まれた部分がプロセス宣言。counterという名前のプロセスである。宣言の形は以下の通り。 proctype プロセス名 (引数) { ...中身... } こんな形で宣言する。 proctypeの前にactiveとついているのは、プロセス生成したらすぐ実行しますよ(activeになる)という意味の宣言。任意のタイミングでプロセスを実行したい場合は、あとで説明するinitを使ったり使わなかったりするとできる。そのうち説明したい。 次にプロセスの中身について。上のコードでは以下の部分 do (n 5) - n++; (n == 5) - n = 0; od; この処理はdo文といって、いわゆるループ文で書き方は do (ガード条件文) - 文; 文; 文; ... (ガード条件文) - 文; 文; 文; ... ... ...od; となる。また、if文も同じように記述でき if (ガード条件文) - 文; 文; 文; ... (ガード条件文) - 文; 文; 文; ... ... ...fi; こうなる。do文とif文の違いは、ループを行うか行わないかの違いだけで基本的には同じ。 で、こういうif文やdo文の構造はガードコマンドと言う。参考リンク:http //ja.wikipedia.org/wiki/Guarded_Command_Language 動きとしては、 ガード条件が発火する(trueになる)のであれば- 以降の文を実行することができる。もし発火しない(falseになる)場合は、ガードが発火するまで実行をブロックし待ち続ける。ガード条件が複数ある場合も同じ。 C言語などのif文の条件は真にならなければ、そのまま次のステップに進むが、Promelaはガード条件が真にならない場合は真になるまで待ち続けるのが大きな違い。 ちなみに else - 文;という風にも書け、真にならない場合に実行される。 またPromelaは非決定性を持つので、ガード条件が複数発火してもよく、その場合には実行はランダムに選ばれる。 たとえば do (n 3) - printf("nは3以下"); (n 4) - printf("nは4以下");od; のように書いてnが2だった場合、どちらの条件も発火可能であり、実行はランダムにどちらかが選ばれる。 ちなみにprintfは使えるが、コンパイルしたときには完全に無視されるので注意。 実行: ということで、書いたら保存して実行してみる。ちなみに拡張子は何でもよい。参考書などでは.pや.prom、.pmlといろいろあるが、おそらく.pmlが一番多数派だと思う。 シミュレーション実行は以下の通り spin -p filename コマンドプロンプトなりバッシュなりでコマンドを打つ。 -pはプロセスの状態変化を画面に出力するオプションで、これを打たずに実行すると画面に何も表示されない。 この例題は無限ループを起こすように書いてあるので上記のコマンドを打つと画面にザザーとずっと状態が出力される。ひたすらシミュレーションをしている状態なのだけども、これはこれで意図通り。 ...7210 proc 0 (counter) ex1.pml 4 (state 5)[((n 5))]7211 proc 0 (counter) ex1.pml 5 (state 2)[n = (n+1)]7212 proc 0 (counter) ex1.pml 8 (state 6)[.(goto)]7213 proc 0 (counter) ex1.pml 4 (state 5)[((n 5))]7214 proc 0 (counter) ex1.pml 5 (state 2)[n = (n+1)]7215 proc 0 (counter) ex1.pml 8 (state 6)[.(goto)]7216 proc 0 (counter) ex1.pml 4 (state 5)[((n==5))]7217 proc 0 (counter) ex1.pml 6 (state 4)[n = 0]7218 proc 0 (counter) ex1.pml 8 (state 6)[.(goto)]7219 proc 0 (counter) ex1.pml 4 (state 5)[((n 5))]7220 proc 0 (counter) ex1.pml 5 (state 2)[n = (n+1)]7221 proc 0 (counter) ex1.pml 8 (state 6)[.(goto)]7222 proc 0 (counter) ex1.pml 4 (state 5)[((n 5))]7223 proc 0 (counter) ex1.pml 5 (state 2)[n = (n+1)]7224 proc 0 (counter) ex1.pml 8 (state 6)[.(goto)]7225 proc 0 (counter) ex1.pml 4 (state 5)[((n 5))]7226 proc 0 (counter) ex1.pml 5 (state 2)[n = (n+1)]7227 proc 0 (counter) ex1.pml 8 (state 6)[.(goto)]7228 proc 0 (counter) ex1.pml 4 (state 5)[((n 5))]7229 proc 0 (counter) ex1.pml 5 (state 2)[n = (n+1)]7230 proc 0 (counter) ex1.pml 8 (state 6)[.(goto)]7231 proc 0 (counter) ex1.pml 4 (state 5)[((n 5))] ... 補足:他にも覚えておくと幸せになるオプション(シミュレーション時のみ)をいくつかあげておきます。 1. 大域変数の状態を画面に出したい spin -g filename 2. 局所変数の状態も出したい spin -l filename 3. 対話的(interactive)にシミュレーション実行したい spin -i filename 4. そもそもヘルプを出して自分で見たい spin --h ぐらいです。spin -p -l -g filename とかで組み合わせることもできます。 このモデルで検証してもあまり意味がないので、検証のコマンドは次に。
https://w.atwiki.jp/svrf/pages/18.html
エラーが出て30秒以上なやんだところを覚え書き その1 ガード条件内のinline展開は括弧をつけるとエラー? 追記ガード条件に副作用がある文は使えないとあるので、理由はそれ(多分) byte n = 0; inline under1(){ n 1} active proctype P1(){ if (under1()) - printf("pass"); fi;} エラー spin e1.pml 9, Error syntax errorsaw 'inline name' near 'under1' 直る byte n = 0; inline under1(){ n 1} active proctype P1(){ if under1() - printf("pass"); fi;} これは通る byte n = 0; active proctype P1(){ if (n 1) - printf("pass"); fi;} その2 大域変数への代入はプロセスの中で宣言しなければならない? byte a;a = 1; active proctype P1(){ true} エラー spin e1.pml 2, Error syntax errorsaw 'an identifier' 直す byte a; active proctype P1(){ a = 1;} 大域変数への代入という動作はプロセスの状態を変えるのでプロセス内に記述する。 大域変数の初期化に関してはプロセスの状態を変えないので大域変数宣言と同時に設定できる。 ということだと思う。 初期化は大域変数宣言と同時に byte a = 1; active proctype P1(){ true;}