形式手法入門VDM++チュートリアル.key

Size: px
Start display at page:

Download "形式手法入門VDM++チュートリアル.key"

Transcription

1

2 目的 n 世界的に成功したほとんどの形式手法仕様システムは 以下の導入方法で成功している n 参考資料 : IPA 形式手法適用調査調査概要資料 l l 1 週間程度のセミナー受講 l 経験ある専門家のコンサルティング n 今回のチュートリアルは 上記導入方法の肝を紹介することで形式手法導入のための基礎知識を得ることを目的としている 具体的には l 実用的な仕様例である運賃計算モデル ( 現実の仕様の 100 分の 1 モデル ) を紹介し l そこで使用している重要で頻繁に使用する VDM++ 言語要素を紹介し l 実用的な仕様を作成するための基本を紹介する 2

3 目次 n 形式手法の概要 n VDM ツールのインストールと設定 l Overture Tools l VDMTools n VDM++ 言語入門 l 簡単な例題を通して説明 l モデル化の方法 l ツールの使い方と文法 l 簡単な演習 3

4 セミナー資料一覧 n n n マニュアル l VDM++ 演算子要約 n Quick_Overview_of_VDM_Operators_J.pdf l VDMTools VDM++ 言語マニュアル n langmanpp_a4j.pdf l VDMTools ユーザーマニュアル (VDM++) n usermanpp_a4j.pdf l Overture VDM-10 Tool Support: User Guide n OvertureIDEUserGuide.pdf セミナー資料 l l l l 形式手法入門 VDM++ チュートリアル n 形式手法入門 VDM++ チュートリアル.pdf Overture Toolsのインストールと設定 n Overture Toolsのインストールと設定 (Mac OS X 版 ).pdf n Overture Toolsのインストールと設定 (Windows 版 ).pdf 演習解答 n 後ほど配布運賃計算モデル n Fare0.zip 参考資料 l 対象を如何にモデル化するか? ( 形式記述サンプル付き ) l SEC-FM1-B-1 対象を如何にモデル化するか.pdf l How2MakeModel.zip 4

5 形式手法の概要 n 形式手法 ( 正式手法?) n l 特定の数学モデルに基づく形式言語を用い 記述の曖昧さを除去し 分析や検証を容易にすることにより 高品質ソフトウェアを効率よく開発するための手法 形式手法の種類 l モデル規範型 n システムの内部構造の構成的定義をデータや操作を用いてモデル化し検証する n 種類 : VDM, RAISE(VDM+OBJ+CSP 的仕様 ), B, Z n 従来のプログラミングに近い考えなので 現場の技術者に理解しやすい l 性質規範型 n システムを外部から見た性質を公理や抽象データ型を用いてモデル化し検証する n 種類 : CafeOBJ, Maude,... n 代数を使うため抽象度が高く モデル規範型より現場に適用するのはやや難しい l モデル検査 n システムの振舞仕様に対し可能な実行パターンを網羅的かつ自動的に検証する n 種類 : SPIN, SMV,... n 採用する意味は場合によって大きいが システム全体をモデル化できない 5

6 なぜ厳密な仕様 ( 形式仕様 ) でモデル化するか? n 日本語仕様で大規模システムを記述するのはコストが掛かるから! l 形式仕様で モデル を記述し検証するほうが 高品質で生産性が高いから! n 形式仕様の方が技術移転が容易だから! n 形式仕様の方が仕様修正が容易だから! 6

7 なぜ厳密な仕様として VDM( ウィーン開発手法 ) を採用したか? n n 形式手法の種類 n モデル規範型 n VDM, RAISE( 最初に勉強した手法で VDM+OBJ+CSP 的仕様 ), B, Z n 現場の技術者に理解しやすいので採用 n 性質規範型 n CafeOBJ( 最初にツールを使用したのが OBJ3), Maude,... n まだ現場に適用するには時期尚早 n モデル検査 n SPIN, SMV,... n 採用する意味はあるが 現場の技術者にはやや難しい形式手法の検証方法とツール n 証明 n 段階的洗練 n RAISE Tool, Rodin n 採用する意味はあるが 現場の技術者にはかなり難しい n モデル検査 n 仕様実行 n VDMTools n 現場の技術者に理解しやすく 形式検証の第一歩として採用 実用までに 5 年 実用までに 3 年 実用までに 3 ヶ月 7

8 日本での 形式手法による仕様作成の成果例 8

9 目次 n 形式手法の概要 n VDM ツールのインストールと設定 l Overture Tools l VDMTools n VDM++ 言語入門 l 簡単な例題を通して説明 l モデル化の方法 l ツールの使い方と文法 l 簡単な演習 9

10 VDM ツールのインストールと設定 n Overture Tools l インストールと設定 nmac OS X l 後述 : Overture Tools のインストールと設定 (Mac OS X 版 ) nwindows l 後述 : Overture Toolsのインストールと設定 (Windows 版 ) n VDMTools l Mac OS X nthe VDM++ Toolbox bit.pkg をダブルクリック l Windows n setuppp i586.exe をダブルクリック 10

11 Overture Tools のインストールと設定 (Mac OS X 版 ) 実行環境 downloads/jre8-downloads html 11

12 Overture Tools のインストールと設定 (Mac OS X 版 ) インストール 12

13 Overture Tools のインストールと設定 (Mac OS X 版 ) 環境設定 13

14 Overture Tools のインストールと設定 (Mac OS X 版 ) プロジェクト設定 14

15 Overture Tools のインストールと設定 (Windows 版 ) 実行環境 downloads html 15

16 Overture Tools のインストールと設定 (Windows 版 ) インストール 16

17 Overture Tools のインストールと設定 (Windows 版 ) Preference 設定 17

18 Overture Tools のインストールと設定 (Windows 版 ) プロジェクト設定 18

19 目次 n 形式手法の概要 n VDM ツールのインストールと設定 l Overture Tools l VDMTools n VDM++ 言語入門 l 簡単な例題を通して説明 l モデル化の方法 l ツールの使い方と文法 l 簡単な演習 19

20 n VDM++ 言語入門 n 集合を使った運賃表から運賃を求めるVDM++ モデルFare0の紹介 l Overture ToolsのView l Fare0のプロジェクトを読み込む l 運賃表クラス定義と型定義 l 運賃表集合の型定義 l 運賃表を検索する 関数 l 運賃表集合に存在する か判定する関数 l 運賃計算クラス l 運賃を得る 操作(operation) l テストケースの作成 : 簡易回帰テスト l 組み合わせ (Combinatorial) テスト 20

21 集合を使った運賃表から運賃を求める VDM++ モデル Fare0 の紹介 要求辞書 業務論理 テストケース 21

22 Overture Tools の View 22

23 Overture Tools Fare0 n workspaceを切り替える (switch) l Fileメニュー -> Switch workspace -> Other nfare0を含むフォルダーをworkspaceに指定する n Welcomeウィンドウを閉じる n VDM Explorer viewで l Fileメニュー -> New -> Project から nselect WizardからVDM-PP Projectを選択し l Project nameにfare0を設定してfinishボタンを押す 23

24 Overture Tools に Fare0 フォルダーが表示される 24

25 FareTable.vdmpp を選択するとエディタに表示 25

26 Fare0 プロジェクトの確認 : Fare0 モデルの簡易回帰テスト 26

27 Overture Tools から VDMTools の起動確認 27

28 VDMTools による組み合わせテストの確認 28

29 Overture Tools による組み合わせテストの確認 29

30 運賃表クラス定義と型定義 class -- types -- public = seq of char -- --public inv w == w <> ""; -- inv -- ; public = nat; -- public :: -- f 1 f 2 f, field f 1 : -- f --VDM++ f 2 : f : -- inv inv w == w.f 1 <> w.f 2; LM LM ( ) VDM++ ( LM ) LM 4.3 ( ) 30

31 VDMTools の実行ウィンドウ LM

32 レコード型インスタンスの表示 : =... LM ; = mk,, (, [ ], ) ; 32

33 運賃表集合の型定義 LM public = set of inv w == -- inv "== w = {} or -- {} forall w 1, w 2 in set w & -- forall w w 1 -- w 2 & w 1.f 1 = w 2.f 1 and -- w 1 2 w 1.f 2 = w 2.f 2 => -- "=>" bool a => b not a or b w 1.f = w 2.f ; /* {mk_ ` (" ", " ", 180), mk_ ` (" ", " ", 190), mk_ ` (" ", " ", 300)};*/ LM 7.5 LM

34 34

35 集合の列挙式と型の不変条件のチェック : = ; = {, [ ], } ; =, {,, } ; 35

36 n 限量式は 制約に関する仕様の記述に便利な 1 階述語論理式 l 全ての について が成り立つ を記述するのに全称限量式 l がなりたつ が存在する を記述するのに存在限量式 l がなりたつ が唯一つ存在する を記述するのに 1 存在限量式 l 不変条件 (inv) 事前条件 (pre) 事後条件 (post) で使うことが多い LM

37 ( ) LM 9 ( ) bool {true, false} 37

38 ( ) 38

39 (1 ) 39

40 運賃表を検索する 関数 protected : * * -> -- --protected (a, a 1, a 2) == -- let w in set a be st -- let be st a w {a 1, a 2} = {w.f 1, w.f 2} a 1 2 w in w -- w pre -- pre true -- (a, a 1, a 2) post -- post true exists1 w in set a & --exists1 1 --a '&' 1 w {a 1, a 2} = {w.f 1, w.f 2} and RESULT = w ; -- RESULT 40

41 let be 式 : = let let be... ; let = let, {,, }, in, ; let be = let,, [ be, st, ], in, ; = ; =, [ :, ], =, ; VDMTools? p let s1 = {1,...,9} in let w in set s1 be st w mod 3 = 0 in w p let s1 = {1,...,9} in let w in set s1 be st w mod 3 = 0 and w mod 2 = 0 in w p let w in set {1,...,9} in w 41

42 パターン : = ; = - n パターン l パターンはある特定の型の 1 つの値に一致する n パターン識別子 l どんな型のどんな値にも一致する l 識別子の場合 n 識別子がその値に束縛される l don't-care 記号 '-' の場合 n 束縛は起きない n 他のパターンは中級以上で使用するので 説明しない = ( ), { ( ' _ } ; 42

43 パターン識別子の例 let w = (s, a 1, a 2) in -- let w return w.f -- f return public print : seq of char ==> () print(a ) == let - = new IO().echo(a ) in skip; /* IO echo */ false don't-care '-' 43

44 束縛 : = ; =, in set, ; =, :, ; =, {,, } ; = ; =, in set, ; =, :, ; n 束縛は パターンと一致する値の範囲を指定する n 集合束縛では 値は集合から選ばれ n 型束縛では 値は型から選ばれるので 自然数 (nat) 型など無限の要素がある型は実行できない 44

45 束縛の例 {e e in set power {1,...,4} & card e = 2} {e e : bool < > < > < > < >} {{a,b} a in set {1,2,3,4}, b in set {3,4,5,6} & card {a,b} = 2} forall a,b : bool & a => b <=> not a or b 45

46 運賃表集合に存在する か判定する関数 protected : * * -> bool (a, a 1, a 2) == {a 1, a 2} in set {{e.f 1, e.f 2} e in set a }; -- in set true --{{e.f 1, e.f 2} e in set a & {a 1, a 2} = {e.f 1, e.f 2}} <> {}; {{e.f 1, e.f 2} e in set a } '&' -- a e {e.f 1, e.f 2} -- {} ' ' -- '{' ' ' ' ' '}' -- in set e in set S e S -- end -- 46

47 集合内包式 : = ; =, {,, } ; = {,,,, [ &, ], } ; =, in set, ; VDMTools? p {w w in set {1,...,9} & w mod 3 = 0} p {w w in set {1,...,9} & w mod 3 = 0 and w mod 2 = 0} p let w in set {1,...,9} in w 47

48 運賃計算クラス class is subclass of -- instance variables -- VDM++ ( ) s : := {}; --s private -- operations public : ==> -- (a ) == s := a ; -- ( ":=") {mk_ ` (" ", " ", 220), mk_ ` (" ", " ", 180), mk_ ` (" ", " ", 190)}; 48

49 運賃を得る 操作 (operation) public : * ==> -- "()" (a 1, a 2) == -- let w = (s, a 1, a 2) in -- let w return w.f -- f return pre -- (s, a 1, a 2) post -- LM exists1 w in set s & --exists1 1 --s '&' 1 w {a 1, a 2} = {w.f 1, w.f 2} and RESULT = w.f ; end 49

50 ここまでのまとめ 要求辞書 業務論理 テストケース 50

51 テストケースの作成 : 簡易回帰テスト class Test is subclass of --Test values -- v : = { }; -- v mk_ (" ", " ", 220), -- mk_ mk_ (" ", " ", 180), mk_ (" ", " ", 190) operations public run : () ==> seq1 of bool -- bool seq1 run() == return [t1(), t2(), t3()]; -- [true, true, true] -- n n false -- 2 [true, false, true] 51

52 簡易回帰テストの個々のテストケース operations public t1 : () ==> bool --1 bool t1() == ( -- '(' ')' def return ); let w = new (v ) in -- let v w return w. (" ", " ") = w call 220 true return public t2 : () ==> bool t2() == ( let w = new (v ) in );... return w. (" ", " ") = 180 end Test 52

53 VDMTools で簡易回帰テスト 53

54 ここまでのまとめ 要求辞書 業務論理 テストケース 54

55 組み合わせ (Combinatorial) テスト class UseFare0 values -- v : ` = { -- ` }; mk_ ` (" ", " ", 220), mk_ ` (" ", " ", 180), mk_ ` (" ", " ", 190) instance variables stest : Test := new Test(); s : := new (v ); 55

56 組み合わせ (Combinatorial) テスト traces -- VDM++ T0: stest.run() -- ':' trace T1: let w 1 in set {" ", " ", " "} in -- w 1 {" ", " ", " "} let w 2 in set {" ", " ", " ", " ", ""} in ( -- w 2 {" ", " ", " ", " ", ""} s. (w 1, w 2) -- {w 1, w 2} ) /* let w 1 in set {" ", " ", " "} in... VDM++ w 1 {" ", " ", " "} 1 let w 2 in set {" ", " ", " ", " ", ""} in... w 2 " ", " ", " ", " ", ""} 1 traces w 1 3 w 2 5 = 15 (w 1, w 2) 15 */ 56

57 簡単な演習 class -- (ExitSample.vdmpp) operations public : nat * nat ==> real (n1, n2) == if n2 = 0 then exit < 0 > -- exit < 0 > else return n1 / n2; public : nat * nat ==> bool * real -- bool real (n1, n2) == trap < 0 > -- trap in return < 0 > -- mk_(false, -1) with return mk_(false, -1) in return mk_(true, (n1, n2)); -- mk_(true, (n1, n2) ) end 57

58 演習問題 1 n 例外処理文を使って Fare0モデルのエラー処理仕様を記述せよ l ヒント : n 業務論理階層のクラス内の操作の事前条件を注釈とし exit 文でエラーの場合に例外を発生させる文を追加する l Fare0モデルの場合 運賃を得る 操作を修正すれば良い l Fare0.vdmppを修正 n 発生する例外の処理をtrap 文で記述するクラスを記述する l Fare0モデルの場合 回帰テストケースでtrap 文を使用して 意図的に発生させたエラーの例外をキャッチして trueを返すテストケースを書けば良い l Fare0_testspec.vdmppを修正 58

59 演習問題 2 n 演習問題 1 で修正した Fare0 モデルをテストするため 組み合わせテストを修正せよ l ヒント : n traces 名 T1 にテストデータを追加すれば良い 59

60 まとめ n 形式手法の導入で成功している導入方法を参考に 実際の仕様の 100 分の 1 モデルを通して 実用的な VDM++ 仕様を作成し検証するための基本を紹介した n 今回 実際の仕様記述と検証で使用することの多い VDM++ 関連の主な機能で紹介できなかったこと : l 写像型 列型 トークン型 合併型と選択型 l インスタンス変数の不変条件 l 実用的な回帰テストライブラリ n より詳しい副読本は 以下を参考にしていただきたい l SEC-FM1-B-1 対象を如何にモデル化するか? 形式記述サンプル付き ( 簡易製本配布 ) 60

61 参考 : VDM のツール 61

VDM-SL VDM VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web bool

VDM-SL VDM VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web bool VDM-SL VDM++ 23 6 28 VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web 2 1 3 1.1............................................... 3 1.1.1 bool......................................... 3 1.1.2 real rat int

More information

Formal Engineering Methods for Software Development --An Introduction to SOFL--

Formal Engineering Methods for Software Development --An Introduction to SOFL-- 13~15. 形式設計仕様に基づく Java プログラムの作成と Suica カード システムの small プロジェクト 6 ー実装 目標 : 1.SOFL で作成した形式設計仕様に基づ き その仕様を実現した Java プログラムを作成す る 作成方法 : 次の 3 レベルのものから Java プログラムを作成する (a) モジュールから Java プログラムクラスの作成 つまり 一つの SOFL

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

JEB Plugin 開発チュートリアル 第4回

JEB Plugin 開発チュートリアル 第4回 Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer

More information

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1 JUnit 概要 2015/4/16 版今泉俊幸 1 目次 1. 手動テストと自動テスト 2. JUnitの機能 3. 検証用メソッド 4. 基本的なJUnitテストケース 5. 実践的なJUnitテストケース 6. よく使う検証用メソッド 7. テストクラスの命名 配置など 2 手動テスト 手動テストと自動テスト テスト仕様書に基づいて 人手で値を入力 結果を検証する プログラム修正の度に実施するのはコストが高い

More information

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

040402.ユニットテスト

040402.ユニットテスト 2. ユニットテスト ユニットテスト ( 単体テスト ) ユニットテストとはユニットテストはプログラムの最小単位であるモジュールの品質をテストすることであり その目的は結合テスト前にモジュール内のエラーを発見することである テストは機能テストと構造テストの2つの観点から行う モジュールはプログラムを構成する要素であるから 単体では動作しない ドライバとスタブというテスト支援ツールを使用してテストを行う

More information

プログラミングD - Java

プログラミングD - Java プログラミング D 講義資料 中田明夫 nakata@ist.osaka-u.ac.jp ML 教科書 プログラミング言語 Standard ML 入門 :1,2 章 講義のねらい 関数型プログラムを知る 関数型プログラムを知る利点 プログラムを統一的, 抽象的に捕らえる リスト処理, 高階関数, 再帰関数定義 リストやツリーなどのデータ構造は再帰的に定義 再帰関数で扱うとプログラミングが容易 数学的な裏付け

More information

TestDesign for Web

TestDesign for Web 発行日 2012/6/21 発行元 株式会社アープ 本書は Web でのテスト自動化における Test Design の一連の操作方法まとめたものです Test Design のメニューの説明やより詳細な使い方については ユーザーズガイド を参照してください 目次 1. はじめに... 1 2. 環境構築... 2 2.1. Selenium のサイトについて... 2 2.2. Selenium

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

More information

VDM-SL ISO.VDM++ VDM-SL VDM- RT VDM++ VDM,.VDM, [5]. VDM VDM++.,,, [7]., VDM++.,., [7] VDM++.,,,,,,,.,,, VDM VDMTools OvertureTo

VDM-SL ISO.VDM++ VDM-SL VDM- RT VDM++ VDM,.VDM, [5]. VDM VDM++.,,, [7]., VDM++.,., [7] VDM++.,,,,,,,.,,, VDM VDMTools OvertureTo KAOS 1 1 1 1 1,.,. ( ). KAOS VDM++.,.,,, 1. 1.1,, [1].,,, [2].,, [3]. 1.2 ( ),, [3] KAOS, VDM++, KAOS VDM++ 1 Kyushu University, KAOS,, KAOS, KAOS, VDM++., 1.3 2,., 3, KAOS VDM++. 4, 3,. 5 2. 2.1,,,,,

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx シーケンスに基づく検索モデルの検索精度について 東京工芸大学工学部コンピュータ応用学科宇田川佳久 (1/3) (2/3) 要員数 情報システム開発のイメージソースコード検索機能 他人が作ったプログラムを保守する必要がある 実務面での応用 1 バグあるいは脆弱なコードを探す ( 品質の高いシステムを開発する ) 2 プログラム理解を支援する ( 第 3 者が書いたコードを保守する ) 要件定義外部設計内部設計

More information

Microsoft PowerPoint - 2012-05-11-SQiP-intro.pptx

Microsoft PowerPoint - 2012-05-11-SQiP-intro.pptx 青 字 : 不 具 合 が 埋 め 込 まれる 場 所 黒 字 : 不 具 合 が 発 見 される 場 所 赤 字 : 不 具 合 の 除 去 における コストの 増 加 率 1. 早 くバグ を 見 つける 2. バグ 検 出 の コストを 下 げる ピークコストを 下 げる 累 計 コストを 下 げる サイト 内 の 紹 介 資 料 class EventManager

More information

EnSight 10.1の新機能

EnSight 10.1の新機能 EnSight の処理の自動化のためのテクニックのご紹介 CEI ソフトウェア株式会社 松野康幸 2016 年 11 月 4 日 本日の予定 EnSight の処理の自動化に向けて EnSight のコマンドでできること EnSight で利用できるコマンドの種類 コマンド ファイルの作り方 Python 形式のコマンドの作り方作成したコマンド ファイルの実行方法ユーザー定義ツールの作り方ユーザー定義ツールの使い方

More information

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN

More information

Microsoft PowerPoint - 08LR-conflicts.ppt [互換モード]

Microsoft PowerPoint - 08LR-conflicts.ppt [互換モード] 属性文法 コンパイラ理論 8 LR 構文解析補足 : 属性文法と conflicts 櫻井彰人 Racc (Yacc 系のcc) は属性文法的 非終端記号は 値 (semantic value) を持つ パーザーは パーザースタックをreduceするとき ( 使う規則を X ::= s とする ) s に付随する semantic value (Racc では配列 valueにある ) を用いて action

More information

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 7 - Higher-Order Functions 高階関数 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2013 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 Introduction カリー化により

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プロシージャ プロシージャの種類 Subプロシージャ Functionプロシージャ Propertyプロシージャ Sub プロシージャ Subステートメント~ステートメントで囲まれる 実行はするけど 値は返さない 途中で抜けたいときは Exit Sub を行なう Public Sub はマクロの実行候補に表示される Sub プロシージャの例 Public Sub TestSubProc() Call

More information

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター 平成 30 年度 プログラミング研修講座 岩手県立総合教育センター 目次第 1 章プログラミングについて 1 ソフトウェアの働き 1 2 プログラミング言語 1 3 主なプログラミング言語の歴史 2 第 2 章 Visual Basic について 1 Visual Basic とは 3 2.NET Framework の環境 3 3 Visual Basic と.NET Framework の関係

More information

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 10 - Declaring Types and Classes 型とクラスの定義 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2011 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 型宣言 (Type Declarations)

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある

More information

プログラミングA

プログラミングA プログラミング A 第 5 回 場合に応じた処理 繰り返し 2019 年 5 月 13 日 東邦大学金岡晃 場合に応じた処理 1 こういうプログラムを作りたい 5 教科のテスト 100 点以上各科目の点数の合計が 100 点未満 おめでとう! これで 100 点越えのプレゼントを獲得! というメッセージを出力 残念!100 点越えのプレゼントまであと ** 点! というメッセージを出力 5 教科の点数の合計が

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

Taro-Basicの基礎・条件分岐(公

Taro-Basicの基礎・条件分岐(公 0. 目次 3. 条件分岐 3. 1 If 文 3. 1. 1 処理を分岐する方法 3. 1. 2 処理を 2 つに分岐する方法 3. 1. 3 処理を 3 つ以上に分岐する方法 3. 2 Select Case 文 - 1 - 3. 条件分岐 条件により ある 文 を実行したりしなかったりするとき If 文を使う たとえば ある変数の値により 奇数 と表示したり 偶数 と表示したりするような処理ができる

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 5 月 Java 基礎 1 タイトル Java 基礎 2 日間 概要 目的 サーバサイドのプログラミング言語で最もシェアの高い Java SE の基本を習得します 当研修ではひとつの技術ごとに実用的なアプリケーションを作成するため 効果的な学習ができます Java SE の多くの API の中で 仕事でよく利用するものを中心に効率よく学びます 実際の業務で最も利用される開発環境である Eclipse

More information

プログラミングA

プログラミングA プログラミング A 第 5 回 場合に応じた処理 繰り返し 2017 年 5 月 15 日 東邦大学金岡晃 前回の復習 (1) このプログラムを作成し実行してください 1 前回の復習 (2) このプログラムを作成し実行してください 2 前回の復習 (3) 3 前回の復習 演算子 代入演算子 インクリメント シフト演算子 型変換 4 場合に応じた処理 5 こういうプログラムを作りたい 5 教科のテスト

More information

構造化プログラミングと データ抽象

構造化プログラミングと データ抽象 計算の理論 後半第 3 回 λ 計算と型システム 本日の内容 λ 計算の表現力 ( 前回のつづき ) 前回の復習 不動点演算子と再帰 λ 計算の重要な性質 チャーチ ロッサー性 簡約戦略 型付き λ 計算 ブール値 組 ブール値と組の表現 ( 復習 ) true, false を受け取り 対応する要素を返す関数 として表現 T = λt.λf.t F = λt.λf.f if e 1 then e

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

Microsoft PowerPoint - ProD0107.ppt

Microsoft PowerPoint - ProD0107.ppt プログラミング D M 講義資料 教科書 :6 章 中田明夫 nakata@ist.osaka-u.ac.jp 2005/1/7 プログラミング D -M- 1 2005/1/7 プログラミング D -M- 2 リスト 1 リスト : 同じ型の値の並び val h=[10,6,7,8,~8,5,9]; val h = [10,6,7,8,~8,5,9]: int list val g=[1.0,4.5,

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 多分岐選択 条件式 If Then Else IIF Select Switch 今日の目的 Dim n As Long n = 10 If n = 10 Then 条件式 Debug.Print ゆっくりしていってね! End If 比較演算子 その他 よく使用する演算子 文字列型にたいする条件式 条件式 オブジェクト型 バリアント型に対する条件式 比較演算子 = 等しい 等しくない >=

More information

とても使いやすい Boost の serialization

とても使いやすい Boost の serialization とても使いやすい Boost の serialization Zegrahm シリアライズ ( 直列化 ) シリアライズ ( 直列化 ) とは何か? オブジェクトデータをバイト列や XML フォーマットに変換すること もう少しわかりやすく表現すると オブジェクトの状態を表す変数 ( フィールド ) とオブジェクトの種類を表す何らかの識別子をファイル化出来るようなバイト列 XML フォーマット形式で書き出す事を言う

More information

939061j

939061j ブルームバーグ ソフトウエア インストールガイド日本語 2012 年 10 月 26 日バージョン : 9.0 目次ブルームバーグ ソフトウエアのダウンロード... 2 ブルームバーグ シリアル番号 < 新規 > のインストール. 9 正しくインストールされたかを確認... 13 アクセス権付与に関する注意... 15 1 ブルームバーグ ソフトウエアのダウンロード Internet Explorer

More information

Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー

Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバーコード OCX や バーコード対応レ ポートツールが豊富にありますので それほど困ることは無いと思われます

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 条件分岐 if~else if~else 文,switch 文 条件分岐 if~else if~else 文 if~else if~else 文 複数の条件で処理を分ける if~else if~else 文の書式 if( 条件式 1){ 文 1-1; 文 1-2; else if( 条件式 2){ 文 2-1; 文 2-2; else { 文 3-1; 文 3-2; 真条件式

More information

橡ボーダーライン.PDF

橡ボーダーライン.PDF 1 ( ) ( ) 2 3 4 ( ) 5 6 7 8 9 10 11 12 13 14 ( ) 15 16 17 18 19 20 ( ) 21 22 23 24 ( ) 25 26 27 28 29 30 ( ) 31 To be or not to be 32 33 34 35 36 37 38 ( ) 39 40 41 42 43 44 45 46 47 48 ( ) 49 50 51 52

More information

独立行政法人産業技術総合研究所 PMID-Extractor ユーザ利用マニュアル バイオメディシナル情報研究センター 2009/03/09 第 1.0 版

独立行政法人産業技術総合研究所 PMID-Extractor ユーザ利用マニュアル バイオメディシナル情報研究センター 2009/03/09 第 1.0 版 独立行政法人産業技術総合研究所 PMID-Extractor ユーザ利用マニュアル バイオメディシナル情報研究センター 2009/03/09 第 1.0 版 目次 1. はじめに... 3 2. インストール方法... 4 3. プログラムの実行... 5 4. プログラムの終了... 5 5. 操作方法... 6 6. 画面の説明... 8 付録 A:Java のインストール方法について... 11

More information

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

スクールCOBOL2002

スクールCOBOL2002 (h) 登録集原文の指定方法 . 登録集原文の指定方法 複数の COBOL プログラムに共通の記述を別のソースファイルとしておき COPY 文で取り込むことができます 登録集原文の概念図を下欄に示します このようにすると コーディング量を削減でき 記述ミスもなくなるため 開発効率を高めることができます ここでは 第 章で実習した reidai.cbl というソースファイルの DATA0 と YYMMDD

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 3 4 週 プログラミング言語の形式的な記述 2014 年 4 月 23 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部 はじめに コース概要と目的 Oracle 独自の手続き型言語である PL/SQL について説明します PL/SQL の基本構文 ストアド サブプログラム トリガーの作成方法 またストアド サブプログラムの管理について習得することを目的としています 受講対象者 これから PL/SQL を使用してアプリケーション開発をされる方 前提条件 SQL トレーニング コースを受講された方 もしくは 同等の知識をお持ちの方

More information

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版   Copyright 2016 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 前提条件 2.3. 対象読者 2.4. 注意事項 3. 概要 3.1. OData 連携について 3.2. OData について 3.3. SAP HANA 連携について 3.4. アクター 3.5. セットアップの手順について

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 条件分岐 : if 文, if~else 文 条件分岐 条件分岐とは ある条件が成立したときとしないときで処理の内容を変更する場合に応じた, 複雑な処理を行うことができる 条件分岐 yes 成績が良かったか? no ご褒美に何か買ってもらう お小遣いが減らされる C 言語では,if 文,if~else 文,if~else if~else 文,switch 文で条件分岐の処理を実現できる

More information

Microsoft PowerPoint - CproNt02.ppt [互換モード]

Microsoft PowerPoint - CproNt02.ppt [互換モード] 第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント

More information

kantan_C_1_iro3.indd

kantan_C_1_iro3.indd 1 章 C# の学習を始める前に プログラムの 01 基本 Keyword プログラムプログラミング言語 プログラムとは プログラムとは コンピューターへの命令の集まりです 学校の先生が プリントを持ってきて と生徒に指示した場合を考えてみましょう 先生をプログラマー ( プログラムの作成者 ) 生徒をコンピューターとしたとき プリントを持ってきて という指示がプログラムです 人間とは違い コンピューターは曖昧な指示を理解できません

More information

Programming D 1/15

Programming D 1/15 プログラミング D ML 大阪大学基礎工学部情報科学科中田明夫 nakata@ist.osaka-u.ac.jp 教科書 プログラミング言語 Standard ML 入門 6 章 2005/12/19 プログラミング D -ML- 1 2005/12/19 プログラミング D -ML- 2 補足 : 再帰関数の作り方 例題 : 整数 x,y( ただし x

More information

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答 自然言語処理プログラミング勉強会 0 プログラミング入門 Graham Neubig 奈良先端科学技術大学院大学 (NAIST) 1 本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java,

More information

Oracle ESB - レッスン02: CustomerDataバッチCSVファイル・アダプタ

Oracle ESB - レッスン02: CustomerDataバッチCSVファイル・アダプタ Oracle ESB レッスン 02: CustomerData バッチ CSV ファイル アダプタ Oracle 統合製品管理 Page 1 シナリオの概要 機能 複数レコードを含む CSV ファイルを 1 レコードずつ処理する CustomerData にインバウンド ファイル アダプタを追加する 顧客データと同期する CSV ファイル Features - JDeveloper ESB ダイアグラマ

More information

CodeGear Developer Camp

CodeGear Developer Camp T2 Delphi チュートリアルセッション Delphiはじめて奮戦記 で学ぶ Delphiチュートリアル 株式会社フルネスコーチング事業部マネージャー田原孝 1 アジェンダ 株式会社フルネスについて Delphiプログラミングの基本 演習 : 計算機のテンキーを作る 演習 : 計算機の四則演算ボタンを作る 練習問題 まとめ 2 株式会社フルネスについて 事業内容 ハンズオン教育サービス コーチングサービス

More information

Consuming a simple Web Service

Consuming a simple Web Service Consume a Simple Web Service シンプルな Web サービスを利用する 目次 1 Introduction はじめに... 2 2 Importing a WSDL WSDL をインポートする... 3 3 Creating Logic to Call the Web Service Web サービスを呼び出すロジックを作成する... 5 4 Related Content

More information

構造化プログラミングと データ抽象

構造化プログラミングと データ抽象 計算の理論 後半第 3 回 λ 計算と型システム 本日の内容 λ 計算の表現力 ( 前回の復習 ) データの表現 不動点演算子と再帰 λ 計算の重要な性質 チャーチ ロッサー性 簡約戦略 型付き λ 計算 ブール値 組 ブール値と組の表現 true, false を受け取り 対応する要素を返す関数 として表現 T = λt.λf.t F = λt.λf.f if e 1 then e 2 else

More information

テキストファイルの入出力1

テキストファイルの入出力1 テキストファイルの入出力 1 0. 今回の目的前回までは 2 回にわたって繰り返しについて学んできました 今回からテキストファイルの入出力について学ぶことにします 1. テキストファイルへの出力 1.1 テキストファイルについてテキストファイルとは コンピュータで扱うことが出来るファイルの中で最も基本的なファイルであり どの様な OS でもサポートされているファイル形式です Windows においては

More information

Microsoft PowerPoint - sakurada3.pptx

Microsoft PowerPoint - sakurada3.pptx チュートリアル :ProVerif による結合可能安全性の形式検証 櫻田英樹日本電信電話株式会社 NTT コミュニケーション科学基礎研究所 アウトライン 前半 :ProVerif の紹介 後半 :ProVerifを用いた結合可能安全性証明 [Dahl Damgård, EuroCrypt2014, eprint2013/296] の記号検証パート 2 ProVerif フランス国立情報学自動制御研究所

More information

Si 知識情報処理

Si 知識情報処理 242311 Si, 285301 MS 第 12 回 竹平真則 takemasa@auecc.aichi-edu.ac.jp 2015/12/21 1 本日の内容 1. 先週のおさらい 2. PHP のスクリプトを実際に動かしてみる 3. RDB についての説明 2015/12/21 2 資料の URL http://peacenet.info/m2is 2015/12/21 3 注意事項 ( その

More information

Python によるジオプロセシング スクリプト入門

Python によるジオプロセシング スクリプト入門 ... 1 アイコンの説明... 8 第 1 章イントロダクション... 9 本コースの目的... 11 コース内容 1 日目... 11 コース内容 2 日目... 12 付属資料... 12 講習資料... 13 イントロダクション... 13 ArcGIS の紹介... 14 Web ページ : サポート情報... 14 Web ページ :ArcGIS を学べる... 15 Web ページ :ArcGIS

More information

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

Javaセキュアコーディングセミナー2013東京第1回 演習の解説 Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog

More information

平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也

平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也 平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也 目次 第 1 章英文アブストラクト第 2 章研究目的第 3 章研究背景第 4 章開発環境第 5 章開発した 2D ゲーム制作ライブラリの概要第 6 章ライブラリの使用方法第 7 章まとめと今後の課題参考文献 1 第 1 章英文アブストラクト

More information

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦 正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦   正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語 オートマトン 形式言語及び演習 3. 酒井正彦 www.trs.css.i.nagoya-u.ac.jp/~sakai/lecture/automata/ とは ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械 : 言語を記号列で定義 - 記述しやすい ( ユーザフレンドリ ) 例 :01 + 10 - UNIX の grep コマンド - UNIX の

More information

ML 演習 第 4 回

ML 演習 第 4 回 ML 演習第 4 回 おおいわ Mar 6, 2003 今回の内容 補足 Ocaml のモジュールシステム structure signature functor Ocaml コンパイラの利用 2 識別子について 利用可能文字 先頭文字 : A~Z, a~z, _ ( 小文字扱い ) 2 文字目以降 : A~Z, a~z, 0~9, _, 先頭の文字の case で 2 つに区別 小文字 : 変数,

More information

Microsoft PowerPoint - lec4.ppt

Microsoft PowerPoint - lec4.ppt 本日の内容 繰り返し計算 while 文, for 文 例題 1. 最大公約数の計算例題 2. 自然数の和 while 文例題 3. フィボナッチ数列例題 4. 自然数の和 for 文例題 5. 九九の表繰り返しの入れ子 今日の到達目標 繰り返し (while 文, for 文 ) を使って, 繰り返し計算を行えるようになること ループカウンタとして, 整数の変数を使うこと 今回も, 見やすいプログラムを書くために,

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 配列とコレクション 配列の使い方 固定配列 動的配列 コレクションの使い方 今日の目的 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As Long モジュールレベル Private arybuf(0 To 5) As Long Public arybuf(0 To 5) As Long 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As

More information

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド Brekeke PBX Version 2.1 ARS プラグイン開発ガイド Brekeke Software, Inc. バージョン Brekeke PBX v2.1 ARS プラグイン開発ガイド, 2008 年 2 月 著作権本書の著作権は Brekeke Software, Inc. にあります Copyright 2003-2008 Brekeke Software, Inc. 本書の一部または全部を

More information

reduc forall k: key, x: bitstring; HMAC_SHA1(k, x) = hmac(k, x). reduc forall k: key, r: nonce; f1(k, r) = hmac(k, nonce_to_bitstring(r)). reduc foral

reduc forall k: key, x: bitstring; HMAC_SHA1(k, x) = hmac(k, x). reduc forall k: key, r: nonce; f1(k, r) = hmac(k, nonce_to_bitstring(r)). reduc foral 暗号プロトコル評価結果 独立行政法人情報通信研究機構 1. プロトコル名 :EAP-AKA 2. 関連する標準 IETF:RFC4187 (http://www.ietf.org/rfc/rfc4187.txt) 3. 使用したツール :ProVerif 4. 評価の概要 :ProVerif による評価により プロトコル内部で利用する異なる関数が同一 あるいは相関がある場合に なりすまし および中間データの秘匿性を行う手順が発見された

More information

SLP_vREQ 取扱説明書

SLP_vREQ 取扱説明書 SLP 取扱説明書 2014 年 7 月 28 日 株式会社ジェーエフピー この文書について この文書は SLP_vReq2.2.1 および SLP_stt 2.2.1( 以下 SLP) を使うために最初に必要になる知識をまとめたものです 第 1 章では SLP をインストールする方法を説明します 第 2 章では HTML ヘルプの読み方を説明します SLP の操作方法を知るには HTML ヘルプを参照してください

More information

発表資料.pptx

発表資料.pptx BASE トランザクションにおけるデータ整合性 龍谷大学理工学部 西田紗知 目次 1. 研究背景 2. クラウドとBASEトランザクション 3. VDM++ による整合性記述 4. CPNによるシステムモデリング 5. CPNによるデータ整合性検証 6. 結論 研究背景 クラウドコンピューティング 利点 高度に並列分散化された処理が可能 可用性, 拡張性に優れている 欠点 整合性に関する問題 トランザクションシステムの稼働は一般的に困難

More information

PowerPoint Presentation

PowerPoint Presentation プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include

More information

第9回 型とクラス

第9回 型とクラス 1 関数型プログラミング 第 9 回型とクラス 萩野達也 hagino@sfc.keio.ac.jp 2 静的型検査と型推論 型 値の集合 Bool = { True, False } Char = { 'a', 'b',... } Int = {... -2, -1, 0, 1, 2, 3,... } 静的型検査 Haskell はコンパイル時に式の型を検査する 静的 = コンパイル時 (v.s.

More information

PowerPoint Presentation

PowerPoint Presentation ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:

More information

Using VectorCAST/C++ with Test Driven Development

Using VectorCAST/C++ with Test Driven Development ホワイトペーパー V2.0 2018-01 目次 1 はじめに...3 2 従来型のソフトウェア開発...3 3 テスト主導型開発...4 4...5 5 TDD を可能にするテストオートメーションツールの主要機能...5 5.1 テストケースとソースコード間のトレーサビリティー...5 5.2 テストケースと要件間のトレーサビリティー...6 6 テスト主導型開発の例...7 2 1 はじめに 本書では

More information

WPF アプリケーションの 多言語切替

WPF アプリケーションの 多言語切替 WPF アプリケーションの 多言語切替 YK S o f t w a r e 2015 年 6 月 2 日 @twyujiro15 プロフィール 加藤裕次郎 本職は製造業の開発業務 - 2009 年 4 月に入社 1982.03.03 生まれ ( うお座 ) 左利き ( お箸は右 ) twitter : @twyujiro15 プログラミング経験 Excel VBA MATLAB MATX C VC++

More information

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

プレポスト【解説】

プレポスト【解説】 コース名 : シェルの機能とプログラミング ~UNIX/Linux の効率的使用を目指して ~ 1 UNIX および Linux の主な構成要素は シェル コマンド カーネルです プロセスとは コマンドやプログラムを実行する単位のことなので プロセスに関する記述は誤りです UNIX および Linux のユーザーインターフェースは シェル です コマンドを解釈するという機能から コマンドインタープリタであるともいえます

More information

メソッドのまとめ

メソッドのまとめ 配列 (2) 2 次元配列, String http://jv2005.cis.k.hosei.c.jp/ 授業の前に自己点検 配列変数に格納される配列の ID と配列の実体の区別ができていますか 配列変数の宣言と配列の実体の生成の区別ができていますか メソッドの引数に配列が渡されるとき 実際に渡されるものは何ですか このことの重要な帰結は何ですか 引数の値渡しと参照渡しということばを例を挙げて説明できますか

More information

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太 ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : 095739 K 氏名 : 當銘孔太 1. UNIX における正規表現とは何か, 使い方の例を挙げて説明しなさい. 1.1 正規表現とは? 正規表現 ( 正則表現ともいう ) とは ある規則に基づいて文字列 ( 記号列 ) の集合を表す方法の 1 つです ファイル名表示で使うワイルドカードも正規表現の兄弟みたいなもの

More information

成功した形式手法導入調査例の 分析と発見 どのように形式手法は導入されたか? 酒匂寛 Designers Den Corp. 2012/11/15 形式手法の導入 2012, Sako Hiroshi 1

成功した形式手法導入調査例の 分析と発見 どのように形式手法は導入されたか? 酒匂寛 Designers Den Corp. 2012/11/15 形式手法の導入 2012, Sako Hiroshi 1 成功した形式手法導入調査例の 分析と発見 どのように形式手法は導入されたか? 酒匂寛 Designers Den Corp. sako.hiroshi@gmail.com 2012/11/15 形式手法の導入 2012, Sako Hiroshi 1 自己紹介 1980 年代 COBOL とワークステーションの時代 汎用機 オフコンを用いた COBOL 開発 ワークステーション上での開発環境の開発

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 9 回 メソッド (3) 授業の前に自己点検 以下の質問に答えられますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか 戻り値はどのように利用しますか 変数のスコープとは何ですか

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 授業ガイダンス C 言語の概要プログラム作成 実行方法 授業内容について 授業目的 C 言語によるプログラミングの基礎を学ぶこと 学習内容 C 言語の基礎的な文法 入出力, 変数, 演算, 条件分岐, 繰り返し, 配列,( 関数 ) C 言語による簡単な計算処理プログラムの開発 到達目標 C 言語の基礎的な文法を理解する 簡単な計算処理プログラムを作成できるようにする 授業ガイダンス

More information

<4D F736F F D20837D815B B838B837A838B835F E836782CC91E391D68EE892692E646F63>

<4D F736F F D20837D815B B838B837A838B835F E836782CC91E391D68EE892692E646F63> マージモジュールホルダオブジェクトの代替手段 検証したバージョン : InstallShield 2011 Premier Edition 対象プロジェクト : InstallScript プロジェクト 概要 InstallScript 形式プロジェクトのマージモジュールホルダオブジェクトとは 本来 MSI 形式のインストーラで用いられるマージモジュールを InstallScript 形式のインストーラにおいて容易に使用するために開発されました

More information

プログラミング基礎

プログラミング基礎 C プログラミング 演習 アルゴリズム基礎論 演習 第 10 回 今後の予定 12/22( 月 ) 期末試験 (60 分間 ) 場所 :A1611 時間 :16:20~17:20 課題の最終提出締切 :12/19( 金 ) これ以降の新規提出は評価されない 12/22までに最終状況を提示するので, 提出したのに や になってる人は自分の提出内容や提出先を再確認した上で12/26までに問い合わせること

More information

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致致しない場合 default: から直後の まで処理します 式の結果 ラベル 定数 整数または文字 (byte, short, int,

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx PFCore(RT ミドルウェア ) トレーニング中級編 10:00-11:00 第 1 部 :RT コンポーネントプログラミングの概要 担当 : 安藤慶昭 ( 産業技術総合研究所 ) 概要 :RT コンポーネントの作成方法, 設計時の注意点などの概要について解説します 第 2 部 :RT ミドルウェア (PFcore) 開発支援ツールと RT コンポーネントの作成方法 11:00-12:00 12:00-13:00

More information

Total View Debugger 利用の手引 東京工業大学学術国際情報センター version 1.0

Total View Debugger 利用の手引 東京工業大学学術国際情報センター version 1.0 Total View Debugger 利用の手引 東京工業大学学術国際情報センター 2015.04 version 1.0 目次 Total View Debugger 利用の手引き 1 1. はじめに 1 1.1 利用できるバージョン 1 1.2 概要 1 1.3 マニュアル 1 2. TSUBAME での利用方法 2 2.1 Total View Debugger の起動 2 (1) TSUBAMEにログイン

More information

Microsoft PowerPoint - 07.ppt [互換モード]

Microsoft PowerPoint - 07.ppt [互換モード] 論理思考とプログラミング 第 7 回 Java プログラミング入門 本日の授業の流れ 授業前の確認 配布資料 講義資料 プログラミング概要 Java 開発環境の構築 本日の目標 配布資料 演習チェックシート 1 枚 第 7 回講義資料 講義資料 Java 編 第 1 回授業 :Java 入門 授業 Web の第 7 回部分に資料へのリンクがあるので, 開いてください. 1. 大学の Mac で Java

More information

Python によるジオプロセシング スクリプト入門

Python によるジオプロセシング スクリプト入門 アイコンの説明... 8 第 1 章イントロダクション... 9 本コースの目的... 11 講習内容... 11 講習資料... 12 イントロダクション... 12 ArcGIS... 13 Web サイト... 13 開発者向けプログラム / サービス... 14 演習 1: 演習環境の構築... 15 ステップ 1: Windows へのログオン ( オプション )... 15 ステップ 2:

More information

グラフの探索 JAVA での実装

グラフの探索 JAVA での実装 グラフの探索 JAVA での実装 二つの探索手法 深さ優先探索 :DFS (Depth-First Search) 幅優先探索 :BFS (Breadth-First Search) 共通部分 元のグラフを指定して 極大木を得る 探索アルゴリズムの利用の観点から 利用する側からみると 取り替えられる部品 どちらの方法が良いかはグラフに依存 操作性が同じでなければ 共通のクラスの派生で作ると便利 共通化を考える

More information

はじめに : ご提案のポイント

はじめに : ご提案のポイント 4. 組織へのフォーマルメソッドの導入方法 本章では フォーマルメソッドを組織に導入する際の障害を解決するための手順やポイントを 示す 本章の概要は以下の通りである 対象読者目的想定知識得られる知見等 (1) ベンダー上級管理者 (2) 開発プロジェクト管理者 (3) 開発技術者 等フォーマルメソッドを組織に導入する際の作業プロセス ( 導入プロセス ) と導入のポイントについて整理する さらに導入検討の際に有用と思われる情報源

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 2 第 8 回表形式データ (1) 1 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ データの登録 データの検索 データの更新 実際的はソフトウェアでは 表形式データの ( 例えば データベースのデータ ) を利用する場面が非常に多く とても重要である そこで 表形式を扱うプログラミングを繰り返しとりあげる 2 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ

More information

グーグル検索マクロの使い方

グーグル検索マクロの使い方 右クリックで Google! ユーザーズ マニュアル (Ver. 2.00) みんなのワードマクロ新田順也 このソフトでできること ワードを日常的に使い Google で調べものをすることが多い方 とくに様々な分野の専門的な調 べものをする方 ( ライター 翻訳者など ) 向けのソフトウェアです ワード文書を作成中に Google( グーグル ) の検索オプションを用いた特殊な検索や Google

More information

PowerPoint Presentation

PowerPoint Presentation ファイルの入出力 芝浦工業大学情報工学科 青木義満 今回の講義内容 ファイル入出力 ファイルからのデータ読込み ファイルと配列 2 1 ファイルへのデータ書き込み ( 復習 ) ソースファイル名 :fileio1.c データをファイルに書き込み #include int main(void) { ファイルポインタ宣言 int student_id = 100; char name[

More information

Microsoft Word - VBA基礎(3).docx

Microsoft Word - VBA基礎(3).docx 上に中和滴定のフローチャートを示しました この中で溶液の色を判断する部分があります このような判断はプログラムではどのように行うのでしょうか 判断に使う命令は IF 文を使います IF は英語で もし何々なら という意味になります 条件判断条件判断には次の命令を使います If 条件式 1 Then ElseIf 条件式 2 Then ElseIf 条件式 3 Then 実行文群 1 実行文群 2 実行文群

More information

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開 フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに...2 2 本ツールの機能...2 3 yflowgen.exe の使い方...3 3.1 yflowgen.exe の実行方法...3 3.2 制限事項...3 3.3 生成したファイル (gml ファイル形式 ) の開き方...4 3.3.1 yed Graph Editor を使って開く...4 3.3.2 yed

More information

オブジェクト指向プログラミング・同演習 5月21日演習課題

オブジェクト指向プログラミング・同演習 5月21日演習課題 オブジェクト指向プログラミング 同演習 5 月 21 日演習課題 問題 1 配列の例外処理例外が発生する可能性のある処理を try で囲み その後に catch で例外を捕捉します 例外処理の終了処理として finally が行われます これは書かなくて自動的に行われます 提出課題 1 (Kadai052301.java) 以下のプログラムは例外処理をしていない ArrayIndexOutOfBoundsException

More information

Source Insight

Source Insight ソースインサイト プログラムエディタ Source Insight のご紹介 ソースを理解しながら 効率の良いコーディング エクセルソフト株式会社営業部 エクセルソフト株式会社 Copyright 2008 XLsoft K.K. All Rights Reserved. - 1 - 目次 プログラムエディタ Source Insight のご紹介 ソースを理解しながら 効率の良いコーディング 目次

More information

Microsoft Word - フレームワーク開発における形式仕様記述の適用に関する検討.docx

Microsoft Word - フレームワーク開発における形式仕様記述の適用に関する検討.docx フレームワークを利用した開発における形式仕様記述の適用に 関する検討 Examination on Application of Formal specification to Framework-based Development 有賀一輝 水野徹平 東海政治 演習コースⅡ グループ 2 株式会社イクズアネックス株式会社富士ゼロックスアドバンストテクノロジー株式会社 NTT データ CCS 概要あいまいな仕様による不具合を解決する方法の

More information

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な 1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な OSS の場合 企業などから支援を受けて安定した財政基盤の下で先端的なソフトウェアを開発しています 企業にとっても

More information

スライド 1

スライド 1 OSC2008Tokyo/Fall CodeIgniter を使った MyNETS2 の概要 日付 2008/10/04 発表者 株式会社エムズリンク辻岡国治 copy rights All Right Reserved. -2008 基本ベースは WEB 会員管理システム 会員登録されているかの判定を行う 会員向けページ リクエスト DB 非会員向けページ copy rights All Right

More information