著者
西森 丈俊 久野 靖
出版者
情報処理学会
雑誌
情報処理学会論文誌. プログラミング (ISSN:03875806)
巻号頁・発行日
vol.44, no.SIG_15(PRO_19), pp.36-54, 2003-11

テレビゲームソフトウェア開発は近年大規模化しており,トライアンドエラーを繰り返しながら開発を進めることが難しくなっている.そのため開発プロジェクトでは通常スクリプト言語システムを導入するが,限られた時間で製品を開発しなければならない理由から記述システムはad hocなものになり,「新しいゲームシステムヘの適用が難しい」「プロジェクトのたびに最初から記述システムを作り直さなければならない」という問題が発生する.そこで,本論文ではアクションゲームを開発するのに適した分離性や効率の良い記述システムを開発することを目標とし,そのためのサーペイと開発している言語について述べ,有用性を実際のゲーム開発プロジェクトでの使用から評価する.As the complexity of video game software grew, it became difficult to develop them through traditional tiral-and-error processes. To overcome the problem, many farms have developed scripting languages to help game designers modify their design quickly, without help from the programmers. However, most of these languages have ad hoc design and closely tied to specific game, making it difficult to reuse the system for other games. This paper presents a survey of existing scripting language targeted to commercial video game development, and our effort toward general, game-independent scripting language. And we evaluate effectiveness of our scripting system in commercial video game development project.
著者
兼宗 進 中谷 多哉子 御手洗 理英 福井 眞吾 久野 靖
出版者
情報処理学会
雑誌
情報処理学会論文誌. プログラミング (ISSN:03875806)
巻号頁・発行日
vol.44, no.SIG_13(PRO_18), pp.58-71, 2003-10

近年,教育課程の改訂により,小学校から高等学校までの初中等教育において情報教育の導入が進められている.筆者らは,「情報教育の中でプログラミングを体験することは計算機の動作原理を学ぶうえで効果的である」という考えから,初中等教育で活用可能なプログラミング言語である「ドリトル」を開発し,それを用いたプログラミング教育について研究を行ってきた.本稿では,中学校においてドリトルを用いて実施したプログラミング教育とその評価について報告する.行った授業では,プログラミング経験のない生徒を対象に,タートルグラフィックスとGUI部品を用いたプログラミングを扱った.また,アンケートと2回の定期試験の結果に基づき,オブジェクト指向を含むプログラミングの概念が生徒にどのように理解されるかを分析した.Recently, IT education curriculum at K12 (kindergarten and 12-year-education) schools are being started in Japan. Programming experiences will be useful for students to learn essence and principle of computers. However, we insist that the use of "modern" languages is indispensable to achieve the goal. In this paper we describe our experiences of using "Dolittle" object-oriented programming language in junior high school classes. Turtle graphics, figure objects, and GUI objects were taught in the class, and paper tests and enquiries were conducted for evaluation. As the result, majority of the students understood basic concents of programming and object-orientation, and enjoyed the classes.
著者
兼宗 進 御手洗 理英 中谷 多哉子 福井 眞吾 久野 靖
出版者
情報処理学会
雑誌
情報処理学会論文誌. プログラミング (ISSN:03875806)
巻号頁・発行日
vol.42, no.SIG_11(PRO_12), pp.78-90, 2001-11

情報社会の急速な発展にともない, 初中等教育の中で情報の比重が高まっている.計算機の働きを最も効果的に学ぶ手段の1つはプログラミングを体験することであるが, 教育現場ではBasicやLogoといった数世代前の言語が使われることが多く, 現代のソフトウェアシステムの理解につながらないという問題が存在する.本稿では, 初中等教育での利用が可能なプログラミング言語「ドリトル」およびその実行系の設計と実装について述べる.ドリトルはオブジェクト指向言語であり, あらかじめ用意された各種のオブジェクトを活用した教育を可能とする一方, Self言語と同様のプロトタイプ方式の採用により, クラスや継承などの高度な抽象概念の理解を不要にしている.その他, 変数や命令語などの識別子と記号が日本語文字で統一されている, メソッドを属性と統合的に扱えるといった特徴を持つ.処理系はJava2で書かれたインタプリンタとして実装し, 教育現場のさまざまな環境で動作できるようにした.In the IT revolution, IT education is becoming more important in school education. Programming is an effective way for learning computers. However, many teachers use old languages like Basic and Logo, so students can't understand modern software systems. This paper describes design and implementation of the programming language "Dolittle". Dolittle is an object-oriented language aimed at school education. Incorporating prototype-based object system like Self, Dolittle requires less knowledge of abstract concept like classes and inheritances. Students can learn it easily, thanks to predefined objects and familiar Japanese identifiers and symbols. We implemented Dolittle interpreter by Java2, so it can run in many educational environments.
著者
上田 哲郎 久野 靖
出版者
情報処理学会
雑誌
情報処理学会論文誌. プログラミング (ISSN:03875806)
巻号頁・発行日
vol.40, no.SIG_7(PRO_4), pp.40-50, 1999-08

本稿では, 拡張性と柔軟性において, 従来のサブクラス化による方法に優るコンポーネントベースの差分プログラミングについて述べる.コンポーネントベースの開発において, プログラムの再利用のために拡張機能の差分のみをコーディングしてプログラムに追加しようとした場合, 従来のやり方では, クラス定義に戻ってサブクラス拡張を行わなければならず, クラス階層を熟知した上級のプログラマでなければ困難であった.本稿で提案するコンポーネント差分プログラミングでは, 拡張のための差分のみを持ったコンポーネント(ベクターコンポーネント)を開発し, それをプログラム中に挿入できる.本方式の基盤となるアーキテクチャとして, 筆者らは木構造をベースとした汎用的フレームワークNutsを開発した.Nutsでは, 部品組み立て型プログラミングをベースに複数の部品が組み合わさったものも一つの部品として振舞うようなフラクタルな構造を持つ.ベクターコンポーネントは, Nuts上の他のコンポーネントに対して透明で存在しないかのように振舞い, フレームワーク中のどこにでも挿入できる.挿入されたベクターコンポーネントは, 結合したコンポーネントに成りすまし, 一部の制御を横取りすることにより拡張機能を追加する.This paper proposes a new component architecture which supports differential programming at component composition level. Although the conventional differential Object-Oriented Development techniques are based on subclassing at the source level which required both programming language skills and detailed knowledge of library classes, our approach overperforms the conventional ones in the sense that we can prepare special components: vectors, which can be freely inserted into existing component structures and incrementally modify their target(base)components. This is attained by the following reasons: we use tree-structured generic component architecture: Nuts. In Nuts, a group of components substitutes other components topologically similar. When a vector is inserted at the root of subtree, it is invisible from lower (root-side)components, however freely intercept and modify messages to the subtree in order to extend its behaviors. Vectors are quite effective in adding various functions to GUI-based components. Thus, they are valuable tools to construct functional-rich component-based programs through incremental development.
著者
大熊 浩示 南出 靖彦
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌. プログラミング (ISSN:03875806)
巻号頁・発行日
vol.46, no.6, 2005-04-15

正しいコンパイラを得るためには, コンパイラの形式化が正しいだけでなく, その実装の正しさも検証しなければならない.我々は定理証明システムIsabelle/HOLを用いてコンパイラを形式化し, その正しさを検証した.さらに, Isabelle/HOLのコード生成機能を用い, Isabelle/HOLで記述されたコンパイラを実行可能なプログラムへ変換した.このコード生成機能はIsabelle/HOLの構文をStandard MLの構文に単純に変換するもので, 生成されたプログラムの信頼性は高いといえる.コンパイラは構文解析を除くすべてのフェーズがIsabelle/HOLで記述されており, コード生成機能で変換されたプログラムに構文解析プログラムなどを加えることにより実行可能な検証されたコンパイラを得ることができる.コンパイラはScheme構文を持つ関数型プログラミング言語を入力とし, Java仮想機械のアセンブリ言語を生成する.今回形式化したコンパイラはクロージャ変換やインライン展開など, これまで検証されたコンパイラでは扱われていない高度なプログラム変換を行っている.また, コンパイラの記述ではコンパイル時間も考慮し, 効率の良いデータ構造を採用した.得られたコンパイラをいくつかのSchemeプログラムに対して適用した結果, コンパイル時間, 生成されたプログラムの実行時間ともに既存のコンパイラに劣らない結果が得られた.