著者
千葉 滋
出版者
一般社団法人 映像情報メディア学会
雑誌
映像情報メディア学会誌 (ISSN:13426907)
巻号頁・発行日
vol.56, no.6, pp.926-927, 2002-06-01 (Released:2011-03-14)
参考文献数
1
被引用文献数
1 1
著者
千葉 滋
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.39, no.1, pp.1_40-1_54, 2022-01-25 (Released:2022-03-25)

日本ソフトウェア科学会の論文誌でもあるコンピュータソフトウェア誌の査読・編集作業では,2017 年より編集作業を支援する web アプリケーションを利用している.これは当時,同誌の編集委員長であった著者が作成したものである.本論文は,国際会議用の既存の査読システムでは論文誌の査読支援には不十分であることを述べ,論文誌の査読支援のために開発した web アプリケーションの設計概要を示す.
著者
立堀 道昭 千葉 滋 板野 肯三
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.41, no.8, pp.2327-2338, 2000-08-15
被引用文献数
2

本稿では著者らの開発したJava言語のためのマクロ処理系OpenJavaについて述べる.Javaのようなオブジェクト指向言語では,手続きや関数でなく,クラスやメソッドが主要な言語要素となる.このため,従来のようなマクロ処理系では,オブジェクト指向プログラミングで本来必要とされるマクロ展開をうまく記述できない.本稿では,まず,この問題を指摘し,次にOpenJavaがこの問題にどのように対処しているかを述べる.本研究では,従来のマクロ処理系の問題点が,トークン列や構文木を操作の対象としている点に起因すると考え,OpenJavaではクラスオブジェクトというデータ構造を処理の対象として採用した.オブジェクト指向言語に基づく高度なマクロの例として,デザインパターンを用いたプログラミングを支援するマクロをOpenJavaで記述した例を示す.This paper presents OpenJava, which is a macro system the authors have developed for Java.Writing a number of typical macros in object-oriented programming is difficultwith traditional macro systems designed for non object-oriented languages.This is because the primary language constructs of object-oriented languagesuch as Java are not procedures or functions but they are classes and methods.This paper first points out this problem and then shows how OpenJava is addressed to the problem.One of the drawbacks of traditional macro systems is that syntax trees are usedfor representing source programs.For OpenJava, therefore, class objects were chosen instead of syntax trees.As high-level macros for an object-oriented language,this paper shows a few macros in OpenJava which help programming with design patterns.
著者
福室 嶺 千葉 滋
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.9, no.4, pp.16-26, 2016-09-12

本論文では,有効範囲を既知のコールパス上に限定することで安全に利用できるクラス拡張method sealsを提案する.クラス拡張は既存のクラスを拡張するための言語機構であり,RubyやAspectJ,C#など様々な言語に取り入れられている.クラス拡張を用いることで,既存のクラスに対してソースコードを書き換えることなくメソッドの追加や再定義を行える.しかし,クラス拡張はモジュラリティの向上に寄与する一方で,誤動作を引き起こしやすい.これはクラス拡張どうしの衝突や,クラス拡張が想定外の領域で有効になることが主な要因である.こうした問題を解決するために,プログラマのコードに対する理解度に応じてその有効範囲を段階的に拡張できるように設計されたクラス拡張method sealsを提案する.本機構では,プログラマにとって未知のパッケージのコードはブラックボックス内にあると見なし,クラス拡張が無効になる.また,ブラックボックス内から発するコールパス上ではそれ以外のコードも一時的にブラックボックス内にあるものと見なす.これにより,クラス拡張がブラックボックス内のコードに対して予期せぬ影響を与え,ひいてはプログラム全体の誤動作を引き起こすことを防げる.本研究ではRuby処理系上にmethod sealsを実装し,いくつかの条件下でその実行性能を評価した.
著者
千葉 滋 立堀 道昭 佐藤 芳樹 中川 清志
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.21, no.6, pp.427-437, 2004-11-25 (Released:2008-11-30)

リフレクションの研究は,計算モデルが先行したので,当初実装は素朴なものばかりで実用にはならないとされていた.本論文は,素朴な実装では実行時に全て動的におこなっていた処理を,機能に制限を加えつつも,静的におこなえるようにし,実行速度を改善する技術について述べる.我々が開発したこの技術により,C++言語やJava言語のような実行効率が重視される言語でも,リフレクション機能を利用することが可能になった.また本論文は,リフレクションとアスペクト指向プログラミングとの関連を軸に,この分野の研究の今後の展望について,著者らの見解を述べる.
著者
千葉 滋
出版者
一般社団法人 日本内科学会
雑誌
日本内科学会雑誌 (ISSN:00215384)
巻号頁・発行日
vol.102, no.7, pp.1661-1666, 2013-07-10 (Released:2014-07-10)
参考文献数
6

白血病は,染色体異常の情報がもっとも早くから臨床現場で用いられてきた疾患である.染色体検査による予後分類は,急性骨髄性白血病における治療戦略上の基本情報である.また,染色体転座関連遺伝子の解析が進み,融合遺伝子を同定ないし定量する技術は,診断や微小残存病変の検出に広く臨床応用されている.さらに近年,染色体異常とは独立に多数の遺伝子異常が同定され,これらの遺伝子異常の組み合わせでより詳細な予後予測が可能になりつつある.早晩,これらの情報が日常診療で利用できるようになると期待される.
著者
宮脇 修一 恵美 宣彦 三谷 絹子 大屋敷 一馬 北村 邦朗 森下 剛久 小川 啓恭 小松 則夫 相馬 俊裕 玉置 俊治 小杉 浩史 大西 一功 溝口 秀昭 平岡 諦 小寺 良尚 上田 龍三 森島 泰雄 中川 雅史 飛田 規 杉本 耕一 千葉 滋 井上 信正 濱口 元洋 古賀 大輔 玉置 広哉 直江 知樹 杉山 治夫 高久 史麿
出版者
一般社団法人 日本血液学会
雑誌
臨床血液 (ISSN:04851439)
巻号頁・発行日
vol.46, no.12, pp.1279-1287, 2005 (Released:2009-07-28)
参考文献数
12

急性骨髄性白血病(Acute myeloid leukemia: AML) 191症例の末梢血のWT1 mRNA発現(Wilms tumor gene 1: WT1)量を定期的に測定し臨床経過との関連を検討した。初発未治療のAML症例におけるWT1の陽性率は93.9% (107/114)であった。寛解が得られ寛解を継続した症例66例の全例でWT1量は寛解に伴い低下し50 copies/μgRNA未満(陰性)となり,84.8% (56/66)の症例が1年後の経過観察終了時陰性であった。非寛解症例54例のうち87.0% (47/54)の症例のWT1量は,経過観察期間中50 copies/μgRNA以上(陽性)であった。寛解後再発した29例の全例において,寛解に伴い低下したWT1量は再発に伴って上昇に転じた。寛解後再発症例の79.3% (23/29)の症例のWT1の値は再発の43日(中央値)前に200 copies/μgRNAを超えて上昇していた。再発診断率,寛解継続診断率および診断効率を考慮するとAMLの早期再発診断のための基準値としては200 copies/μgRNAが妥当と考えられた。WT1量は,微小残存病変(Minimal residual disease: MRD)を反映しAMLの臨床状態に対応して変動していた。今回,WT1測定に使用したキットでは末梢血を用いたことからこのキット検査は患者への負担が少なく,定期的検査に適していると考えられた。
著者
益田 隆司 河野 健二 千葉 滋
出版者
東京大学
雑誌
基盤研究(B)
巻号頁・発行日
1996

本研究の目的は,近年になって注目されている次世代のオブジェクト指向技術である自己反映計算の技術を応用して,新たなソフトウェアの部品化の手法を開発することであった.本研究は,我々の研究グループで既に開発した自己反映計算に基づいた言語処理系OpenC_<++>を研究開発の基盤として利用した.まず,プログラムの部品間の依存関係をあらわすメタ情報を記述しやすくなるよう,OpenC_<++>の改良をおこなった.さらに部品化の対象となるソフトウェアの範囲を広げ,現状の自己反映計算の能力でもうまく部品化できないソフトウエアを部品化するのに必要な基礎技術の開発を行った.そのひとつとして,フランスの国立研究所LAASの研究グループと協力し,ソフトウェアの耐故障性を高める機能を部品化する研究,オペレーティング・システム(OS)のサブシステムを部品化する研究,分散ミドルウェアを部品化する研究を行った.OS機能の部品化では,実行時性能の他に,故障時の安全性が重要であり,実行時性能と安全性とを両立させる手法の開発を行った.また,OpenC_<++>のようにコンパイル時にメタプログラムを解釈実行する方式では,プログラムの実行時にしか行うことのできないソフトウェア部品間の保護を行うのは難しい.そのため,互いに保護を必要とするようなソフトウエア部品では,部品化することによって性能の劣化が起ってしまう.この性能劣化を押さえるため,部品間の保護を実現しながらも部品間の呼び出しによるオーバヘッドを削減できるような,仮想記憶機構を新たに開発を行った.
著者
千葉 滋
出版者
一般社団法人日本ソフトウェア科学会
雑誌
コンピュータソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.10, no.5, pp.438-443, 1993-09-16

私は初めて海外の学会に参加した際,親切な先輩から,入国審査のときに入国目的は"business"ではなく"sight seeing"と答えた方がよいと教わった.学生風の格好で"business"と答えると,あれこれ聞かれるから,というのが理由である。そういうわけで今回カナダのバンクーバーで開催された1992年度のOOPSLAに参加した際も,私はバンクーバーの入国審査で"sight seeing"と答えた.すると入国審査官はじろりと私を見て,「00PSLAじゃないの?」と言ってきた.仕方がないので,そうだ,と答えると,その女性の審査官はぴしゃりと「OOPSLAはbusinessよ」と言ってスタンプを押してくれた.
著者
安積 武志 光来 健一 千葉 滋
出版者
情報処理学会
雑誌
研究報告システムソフトウェアと オペレーティング・システム(OS) (ISSN:18840930)
巻号頁・発行日
vol.2011, no.3, pp.1-8, 2011-01-17

クラウドコンピューティングにおいて、ユーザに提供している仮想マシン (VM) からの踏み台攻撃はデータセンタにとって大きな問題である。VM から踏み台攻撃が行われると、データセンタが攻撃者とみなされる可能性がある。ファイアウォールで踏み台攻撃の通信を遮断することができるが、踏み台にされた VM からの通信を完全に遮断してしまうとサービス可用性が低下してしまう。高いサービス可用性を保つため、我々は仮想マシンモニタ (VMM) で動作するきめ細かいパケットフィルタ xFilter を提案する。xFilter は VM のメモリ解析を行って取得したゲスト OS 内の情報を用いることで、踏み台攻撃を行っているプロセスからのパケットのみを破棄する。踏み台攻撃を検出する侵入検知システムも VMM で動作させることで、パケットの送信元を特定する精度を高めている。いくつかの最適化を行うことで xFilter のオーバーヘッドを小さくすることができた。In the cloud computing era, stepping-stone attacks via hosted virtual machines (VMs) are critical for data centers. When VMs attack external hosts, data centers may be regarded as attackers. External firewalls are useful for stopping such attacks, but the service availability of stepping-stone VMs remarkably lowers if all packets from the VMs are dropped. For higher service availability, we propose a fine-grained packet filter running in the virtual machine monitor (VMM), which is called xFilter. xFilter drops only packets from processes performing stepping-stone attacks by using information in guest operating systems. It analyzes the memory of VMs to obtain such information. An intrusion detection system in the VMM accurately specifies attacking processes. Our experimental results show that xFilter achieves low overheads thanks to several optimizations.
著者
光来 健一 千葉 滋
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. [システムソフトウェアとオペレーティング・システム] (ISSN:09196072)
巻号頁・発行日
vol.2000, no.75, pp.55-62, 2000-08-04
参考文献数
9
被引用文献数
1

ウェブサーバに代表されるサーバの安全性を確保する技術の一つに、サーバのアクセス権限を動的に変更する技術がある。しかし、安全のためにアクセス権限を強い状態から弱い状態に変更することしかできず、プロセスプールの手法を用いたウェブサーバなどで利用するのが難しかった。そこで我々はプロセスを安全な状態に戻すことによって、アクセス制御を安全に解除する機構を提案する。プロセスを安全な状態に戻す作業をプロセス・クリーニングと呼び、レジスタやメモリの内容、シグナルやファイル・ソケットの状態などをあらかじめ保存しておいた状態に戻す。apacheウェブサーバにおいてプロセス・クリーニングを行うことにより、サーバの平均応答時間が1.2倍〜1.7倍になり、スループットが16%〜40%低下することが分った。しかし、リクエスト毎に子プロセスを作って処理させる場合と比べると、サーバ性能が約2倍向上した。
著者
綾塚 祐二 千葉 滋 益田 隆司
雑誌
全国大会講演論文集
巻号頁・発行日
vol.47, pp.135-136, 1993-09-27

オブジェクト指向データベース(OODB)のためのグラフイカルューザインタフニース(GUIは、OODB上のオブジェクトを視覚化し、ユーザにオブジェクトを操作しやすい環境を与える。あるオブジェクトを視覚化するためにはそのオブジェクトに対して付加的なデータ(以下、GUIデータと呼ぶ)が必要である。このGUIデータ部分も永続化できれば、queryなどの操作の途中結果をその撹覚的表現とともに保存しておくことなどが容易になる。GUIデータを永続化するには、以下の二つの点を考慮する必要がある。まず、GUIデータと視覚化されるオブジェクトは明確に分離して格納されなければならない。あるオブジェクトに与えられる視覚的表現は一種類とは限らず、同じオブジェクトに対していろいろな独立したGUIデータが存在し得るからである。また、GUIデータの中には、再起動時の環境に依存するために単純に保存できないものも存在する。このようなものはデータベースから取り出したときにその時点の環境に合わせて値を再構成しなければならない。これら二つの点に関して、従来のGUIツールキットではアプリケーションの扱うデータとGUIデータが分離されておらず、また永続化がもともと考えられていないために不十分であった。本稿ではアプリケーションデータとGUIデータを明確に分離し、そしてGUIデータの永続化の機構も備えたMidgetと名付けられたツールキットについて述べる。
著者
柳澤 佳里 光来 健一 千葉 滋
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:09196072)
巻号頁・発行日
vol.2004, no.82, pp.33-40, 2004-08-01

本稿は、OSカーネル内での経過時間などのログを取得するために我々が開発したアスペクト指向システムについて述べる。本システムを使うと、カーネルソースコードを手動で変更せずに、カーネルの各所で網羅的にログ出力を行うことが容易に出来る。しかし、ログ出力を行う箇所を変えるたびに、カーネルの再コンパイル、再起動が必要では、実用上好ましくない。そこで我々は、アスペクトを実行する位置で割り込みを発生させるように実行時にカーネルコードを書き換える方法で、動的にアスペクトを組み込む方法を提案する。関数の呼び出し部分ではブレークポイント割り込み、変数の読み書き部分ではページフォールト割り込みを用いて実現する。こうして実現することで困難な基本ブロックの解析やデータ構造の解析の必要性が無くなる。この実装では負荷が大きいように見えるが実験の結果より通信処理に300程度のブレークポイント割り込みを挿入してもスループットが低下しないことが確認された。This paper presents our aspect-oriented system for logging the time of events happening in an OS kernel. It enables to perform logging a large number of kernel events without modifying the source code by hand. However, previous implementation techniques have required recompiling the kernel and rebooting the system whenever the logged events are changed. We propose a new implementation technique for dynamically weaving an aspect into the OS kernel. In this technique, a software interrupt is issued when the program execution reaches the join points where an aspect should be executed. Our system substitutes a machine instruction for software interrupt for an original instruction if the join point is a function call. It uses a page-fault interrupt if the join point is memory access. Our technique can be easily implemented since it does not need complicated analysis of basic blocks and data structures. Although this technique might seem to involve heavy execution overheads, our preliminary experiments showed that the overheads do not significantly decrease the throughput if less than 300 software interrupts are inserted through the execution path for network communication.