著者
水谷 浩明 結縁 祥治
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.111, no.481, pp.43-48, 2012-03-06

本稿では,Ruby on Railsアプリケーションのソースコードをモデル規範形式仕様記述言語Alloyによる記述に変換して検証することで,不具合の効率的な検出を支援する手法を提案する.Alloyではスコープを指定することにより,短時間で限られた探索範囲を自動的に解析することが可能である.ソースコードをAlloyによる記述に変換するツールを作成し,Alloyを用いてRuby on Railsアプリケーションの開発を支援する.
著者
今井 敬吾 結縁祥治 阿草 清滋
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.47, no.16, pp.10-28, 2006-10-15
参考文献数
17

我々はプログラミング言語Haskellへ,型付き非同期局所化pi計算(typed Asynchronous Localized $\pi$-calculus; ALpi)を,ネットワークプログラミングのためのフレームワークとして埋め込む手法を提案する.本フレームワークは埋め込み言語として実装されることで以下の利点を持つ:(1) Haskellで構築されているため処理系が頑健である,(2) Haskellのリテラル,型や関数といった言語要素をフレームワークに組み込むことができる.さらに,ALpiのmobilityに対する制限はフレームワークの実装を簡単にする.本フレームワークでは,ALpiのプロセスはPiMonadと呼ばれるHaskellのモナドとして実装する.結果として,通信により引き起こされる副作用は型のPiMonadタグで区別される.ALpiのサブタイプ関係はHaskellの多引数型クラスで実現する.サブタイプ関係にある型の対は通信の方向を反映した3つの2引数型クラスに属する.本フレームワークを用いた例としてTCP/IPネットワーク上のインスタント・メッセンジャアプリケーションの構築例を示し,有用性と利点を述べる.We propose an embedding of the typed Asynchronous Localized pi-calculus (ALpi) into the programming language Haskell as a framework for network programming. The framework has following advantages due to the embedded language nature: (1) the framework is robust due to being built upon the Haskell framework, and (2) the framework can incorporate various Haskell language elements, such as literals, types, and functions, in the framework. Moreover, the limitation of mobility in ALpi simplifies the implementation of the framework. ALpi processes are implemented by means of a Haskell monad called PiMonad. As the result, side-effects caused by communications are distinguished by the tags of PiMonad in typing. The subtyping relations is realized by multi-parameter type classes in Haskell, where a pair of subtype-related types belongs to three binary type classes reflecting the directions of communication. We illustrate the usefulness and benefits of our framework with an example of an implementation of instance messenger application over TCP/IP network.
著者
横山 哲郎 今井 敬吾 曾 剛 冨山 宏之 高田 広章 結縁 祥治
出版者
情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.2, no.2, pp.54-69, 2009-03-23

動的電圧制御 (DVS: dynamic voltage scaling) は,プロセッサへの供給電圧とその動作周波数をプログラム実行時に変化させる技術であり,現在,多くの商用プロセッサに実装されている.本稿では,デッドラインなどの制約のあるリアルタイムシステムを対象に,DVS システムにおいて動的エネルギー消費のより少ないプログラムを開発する方法論の 1 つを提示する.DVS システムで実行されるプログラムに動的エネルギー消費の最適化が有効であるためには,残り予測実行時間の実行早期の正確な見積りを容易にすることが重要である.そのため,プログラムは何を計算するかに加えどう計算するかをうまく指定する必要がある.しかし,プログラム改変によるエネルギー消費の最適化はプログラムのモジュール性を著しく損なう.本稿では,プログラムから独立し,エネルギー消費の最適化戦略を開発する手法を提案する.提案手法により,エネルギー消費の最適化を行うときに元のプログラムの部分正当性が容易に保存され,元のプログラムおよびエネルギー消費の最適化を行うための評価戦略が独立してそれぞれモジュール性を有するようになった.遅延評価などのプログラミング言語の特徴や構成的アルゴリズム論における組化などを活用することにより半自動化が実現できたことが,本開発法の特徴の 1 つである.本稿では,整列,選択,文字列検索などの基本的なアルゴリズムに提案手法を適用する.また,電力モデルを備えた命令セットシミュレータ(ISS: instruction set simulator)において実験を行い,エネルギー消費がどれだけ最適化されたかを評価する.基本的なアルゴリズムにおいて,本稿のアプローチが有効であることから,複雑なアルゴリズムに対しても本手法が効果的であることが期待される.DVS (dynamic voltage scaling) is a technique for scaling the processor's supply voltages and working frequencies. Several commercially available processors provide voltage/frequency controls. We propose a development method for deriving dynamically energy efficient programs on DVS-enabled real-time systems, which have several constraints such as deadline. In order to improve energy efficiency of programs on DVS systems, it is necessary to accurately estimate remaining predicted execution time in the early phase of the execution of programs. Thus, how to execute codes is as important as what codes to execute. However, the revision of programs for energy efficiency seriously harms their modularity. We separate concerns of the development of energy optimization strategy from the development of programs. As the result, partial correctness of original programs is preserved, and each of original programs and energy optimization strategy has modularity, independently. Lazy evaluation of functional programming languages and tupling in constructive algorithmics are employed for realizing the semi-automation of our development method. Our techniques are applied to basic algorithms such as sorting, selection, and string matching. Their energy efficiency is evaluated by using an instruction set simulator (ISS) with a power model.
著者
大須賀恭輔 結縁祥治 阿草 清滋
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.43, no.8, pp.119-119, 2002-09-15

本発表では実時間ステートチャートの振舞いに対してL¨uttgenらのSPL(Statechart Process Language )を時間遷移において拡張した体系として提案したSPLRTを用いて,実時間ステートチャートの動作シミュレートを行うツールの実装を行う.SPLRTは実時間ステートチャートの振舞いをラベルつき遷移システムによりモデル化した言語である.SPLRTはSPL の2つの動作意義,動作遷移,クロック遷移に遅延遷移を新たに加える.遅延遷移はマイクロステップレベルで稠密時間変数を扱う.これによりマクロステップレベルでの実時間の経過を実現可能とした.また,時間遷移を持つラベルつき遷移システムの動作を解析することにより,検証の基礎とすることができる.検証の基礎としてSPLRTにより動作定義し,設計者の意図どおりに実時間ステートチャートが動作するかをツールによって検証を行う.In this presentation, we implements the tool for a simulation of the behavior of real-time statecharts with SPLRT. SPLRT models the behavior of real-time statecharts as the labeled transition system derived from the operational semantics of SPLRT. SPLRT is an extension of SPL proposed by Luttgen et al in that delay transitions labeled by dense-time are incorporated. Analyzing the behavior of the labeled transition system with timed transition can be as the base of verification. We verify whether the real-time statechart behave as an intension of a designer with a tool.
著者
池田 崇志 結縁 祥治
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.14, no.5, pp.34-48, 2021-11-25

本論文では,並列に実行されるブロック構造を持つプログラムの実行を解析することを目的とした可逆実行環境を示す.並列プログラムを抽象機械のバイトコード列に変換して実行する.順方向の実行時は逆向き実行に必要な情報をスタックに保存し,その実行を逆向きにたどる実行環境を実装する.この実行環境では,順方向の抽象命令を逆方向の抽象命令を逆順とし,ジャンプ命令と変数更新命令を対応する逆方向の命令に変換することで逆向き実行を実現する.筆者らはバイトコードによる実行環境複数の抽象機械でバイトコードを順方向および逆方向の2つのモードで並行実行する実行環境をPythonのmultiprocessingモジュールによって実現した.本論文では,実際的なプログラムの構文要素として,ブロック構造,手続き呼出し,関数呼出しを含むように拡張した.Hoeyらの手法に従って変数のスコープを扱うために,各ブロックに名前を付け,参照情報をパスとして表し,局所変数を実現する.本研究で新たに提案する方法として抽象命令生成時に作成する並列ブロックの開始および終了番地を記録したテーブルを用いて並列ブロックを起動することにより順方向,逆方向ともに並列の入れ子構造を実現する.これらの実現手法によって,ブロック構造を持つプログラミング言語に対して単純な抽象機械の実行メカニズムによって逆方向実行が可能となることを示し,並列プログラムのデバッグのための基盤として提案する.
著者
桑原 寛明 結縁祥治 阿草 清滋
出版者
情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.45, no.6, pp.1498-1507, 2004-06-15
被引用文献数
2

本論文では実時間システム開発にオブジェクト指向開発技術を適用する基礎とするために,形式計算モデルであるπ計算に基づきリアルタイムオブジェクト指向言語の振舞いを定式化する.π計算に離散時間の振舞いを拡張し,単純なリアルタイムオブジェクト指向言語OOLRTの振舞いを記述する.実時間システムは一般に時間制約を持つ複数のオブジェクトの並行動作によって実現される.OOLRTによって実時間システムの特性を直接的に記述し,時間拡張されたπ計算によってその振舞いを厳密に定義することで,システムの動作の解析や検証を形式的に行うための枠組みを与える.In this paper, we aim at providing a foundational framework of the object-oriented technique for system development with timing constraints. We formalize timed behavior of objects via the behavior of π-calculus extended with time. It is common to model a real-time system by composing concurrent objects with timing constraints. To capture the features of real-time objects, we define a simple programming language OOLRT to give the operational semantics by translating a program of OOLRT into a term of our timed π-calculus. By this translation, we obtain an abstract behavioral model for real-time objects to analyze and verify the behavioral properties of real-time systems.