オブジェクトの広場はオージス総研グループのエンジニアによる技術発表サイトです

技術講座

IEEE Software September/October 2014 目次と要旨(日本語訳)

2015年1月15日
IEEE Software

私たちの使命:先導的なソフトウェアの実践者のコミュニティを作ること.

IEEE Software 誌は迅速な技術の変化についていかなければならない思慮深い開発者やマネージャーに対して先進的なアイデアや専門家の分析,確かなアドバイス,思慮深い洞察を提供します. ソフトウェアの理論を実践へと翻訳するオーソリティです.

プログラミング言語 (Programming Languages)

謹んでIEEE SoftwareSeptember/October 2014 (Vol. 31, No. 5) 号の目次と要旨をお送りします. 各号では無償の記事(英語)やポッドキャスト(英語)がいくつか提供されており, それらは要旨の下のリンクから入手することができます. 残りの技術的な記事を入手するために, 英語のデジタル版 [www.qMags.com/ISW/jp] を購読できます. お問い合わせは, 編集長であるBrian Brannon (bbrannon@computer.org)宛てに電子メールでお願い致します.

目次

編集長から (From the Editor)

データ, どこもかしこもデータ... (Data, Data Everywhere…)

Forrest Shull , Carnegie Mellon University

編集長のForrest Shullがソフトウェア分析学の実践的な適用について語る.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050004.pdf(310KB)

レター (Letters)

ターゲットについて (On Target)

Forrest Shull , Carnegie Mellon University

エクアドルの Guayaquil の学生である Ivan Sanchez 氏が当初「アーキテクチャーについて」というタイトルで, 現在「コンピューティングについて」というタイトルのGrady Boochのコラムの継続的な発行に対して編集者にお礼の手紙を書いている.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050008.pdf(173KB)

コンピューティングについて (On Computing)

コードを書くべきか書かざるべきか, それが問題だ (To Code or Not to Code, That Is the Question)

Grady Booch , IBM

人類の歴史をひも解くと, 既知のことや知りえることのすべてを一覧にできると表明してきた期間が多い. 絶えず広がり続ける集大成の一覧を作成しようとすることの実際の現実性を無視しても,そのような作業が文化や状況による偏りで複雑になることを理解しなければならない: つまり, ある場所や時代で知るべき重要なことが, 別の場所や時代で必ずしも重要ではないということである. 現在の我々の時代でもこれは同じである; つまり, このことが, 機能している社会のメンバーがコンピューティングについて知らねばならないことは何か?との問いを提起するのである.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050009.pdf(1095KB)

商売道具 (Tools of the Trade)

まず害を及ぼさない (First, Do No Harm)

Diomidis Spinellis , Athens University of Economics and Business

既存のコードを保守する際に, 作業を行うシステムを壊したり, 劣化させることを避けるために細心の注意を払わねばならない. 開発の間, レビュー, スタイルに関するルールの順守, 防御的なプログラミング, 過去との互換性の維持,アーキテクチャー上の性質の保持により問題を最小限に抑えることができる. あらゆるレベルでの徹底的なテスティングにより, 配置段階に達する前に多くの問題を検出し得る. 最終的に, 配置の間に, 段階的なロールアウト, 撤退計画, 注意深い計画策定により, 破滅的な失敗の発生を最小限に抑えることができる.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050012.pdf(1167KB)

ソフトウェア技術 (Software Technology)

サービス指向アーキテクチャーと既存システム (Service-Oriented Architecture and Legacy Systems)

Nicolas Serrano
Josune Hernantes
Gorka Gallardo

エンタープライズシステムは, サービス指向の柔軟な利用方法により一枚岩のサイロから分散されたアプリケーションへと素早く発展する. それに遅れないために, 2度目のチャンスなしで, 変化するビジネスほとんど即時的に対応するために IT 組織は既存システムを適応させなければならない. サービス指向アーキテクチャー (SOAs)は業務プロセスやそれを支えるシステムを柔軟に運用し, 統合するために発展してきた. 著者である Nicolas Serrano, Josune Hernantes と Gorka Gallardo が現在の SOA 技術の概要と, 既存の環境での発展方法を提供する.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050015-abs.html

現実的なアーキテクト (The Pragmatic Architect)

コストとリスクによるアジャイルなアーキテクチャー構築 (Driving Agile Architecting with Cost and Risk)

Eltjo R. Poort, CGI

5 つのアドバイスが, 新しい方法論やフレームワークを実装することなく, アジャイルの世界でアーキテクトがより効率よく仕事をするための助けになりえる. それらのアドバイスは, プラクティスや原則一式などではなく, 態度や振る舞いの変化について説明であるため, 理解, 適用が容易である.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050020-abs.html

要求 (Requirements)

共有が進んだ時代のプライバシー要求 (Privacy Requirements in an Age of Increased Sharing)

Travis Breaux

プライバシーは, ソフトウェアで個人データを利用する方法とバランスを取らねばならない不可欠な設計原則である. 本記事は, 台頭しつつあるソフトウェアエコシステム, 法律や標準の準拠, ソフトウェア設計プラクティスにおけるプライバシーの重要性の高まりを検討する.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050024.pdf(348KB)

証拠の声 (Voice of Evidence)

スタートアップでのソフトウェア開発について, 私たちは何を知っているだろうか? (What Do We Know about Software Development in Startups?)

Carmine Giardino
Michael Unterkalmsteiner
Nicolò Paternoster
Tony Gorschek
Pekka Abrahamsson

新しい市場, 利用可能な技術, およびベンチャーキャピタルの成長の結果として, 毎日, 目覚ましい数のスタートアップが立ち上がっている. 名前を少数挙げるならば, Facebook, Supercell, Linkedin, Spotify, WhatsApp, Dropbox などのような新ベンチャー企業はスタートアップが発展し, ビジネスとして成功したもののよい例である. しかし, 多くのサクセス・ストーリーがある一方で, スタートアップの大多数は時期尚早に失敗する. 無秩序に急速な発展をとげる領域での操業は, スタートアッパーたちに未知の課題を運んでくる. この研究では, それらの背景を特徴付け, スタートアップにおける共通のソフトウェア開発プラクティスを明らかにする.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050028-abs.html

ゲスト編集者の導入 (Guest Editors' Introduction)

プログラミング言語 (Programming Languages)

Laurence Tratt , King's College London
Adam Welc , Oracle Labs

IEEE Software Sep/Oct号のゲスト編集者がプログラミング言語の分野とこの課題においてスポットライトをあてた記事を選んだ理由を記述する.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050033.pdf(2296KB)

プログラミング言語 (Programming Languages)

Spoofax言語ワークベンチによる言語設計 (Language Design with the Spoofax Language Workbench)

Guido H. Wachsmuth , Delft University of Technology
Gabriël D.P. Konat , Delft University of Technology
Eelco Visser , Delft University of Technology

プログラミング言語が成功するために最新のIDEのサポートが不可欠である. Spoofax 言語ワークベンチは, このようなサポートとともに言語を開発するための包括的な環境である.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050035-abs.html

安全なデータ共有でマルチCPUをスクリプトする(Scripting Multiple CPUs with Safe Data Sharing)

Alexandre Skyrme , Pontifical Catholic University of Rio de Janeiro, RJ
Noemi Rodriguez , Pontifical Catholic University of Rio de Janeiro, RJ
Roberto Ierusalimschy , Pontifical Catholic University of Rio de Janeiro, RJ

スクリプト言語は, どんどん一般化してきた. 同時に, マルチコアのプロセッサーもありふれたものになった. しかしながら, スクリプト言語での並行性のサポートは往々にして限られたもので使うのが難しい. スクリプト言語での安全なデータ共有を確保しながら, 台頭してきている, いくつかの並行性の重要なパターンを組み合わせることでこれが変わるかもしれない.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050044-abs.html

暗黙的なフローでプログラミングする (Programming with Implicit Flows)

Guido Salvaneschi , Technische Universität Darmstadt
Mira Mezini , Technische Universität Darmstadt and Lancaster University
Patrick Eugster , Purdue University and Technische Universität Darmstadt

最近のソフトウェアはますます大量のデータを処理するようになり, これが先進的なプログラミングモデルの台頭を導いている. これらのモデルでは, ソフトウェア開発者が依存関係を通じたデータの流れを明示的にモデリングすることなく, ランタイムにデータフローを自動的に管理し, 最適化させるように演算を他の演算の部分として宣言的に定義する.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050052-abs.html

我々は既にそこにいるのか? : 21世紀に向けたシンプルな言語実装テクニック (Are We There Yet? : Simple Language-Implementation Techniques for the 21st Century)

Stefan Marr , Inria Lille--Nord Europe
Tobias Pape , Hasso Plattner Institute, University of Potsdam
Wolfgang De Meuter , Vrije Universiteit Brussel

言語の実装テクニックについての研究の重要性が再び高まっている. RPython とTruffle は, シンプルなインタープリーターに基づく効率的な言語の実装に向けた 2 つのテクニックである.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050060-abs.html

拡張可能な言語とDSLによるソフトウェアシステムの発展 (Evolution of Software Systems with Extensible Languages and DSLs)

Sebastian Erdweg , Technische Universität Darmstadt, German
Stefan Fehrenbach , University of Marburg, Germany
Klaus Ostermann , University of Marburg, Germany

拡張可能なプログラミング言語であるSugarJは, 既存のソフトウェアシステムにドメイン特化言語を徐々に統合するプロセスを提供し, それによりシステムの保守を改善する.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050068-abs.html

Gilad Bracha 氏に対するインタビュー (An Interview with Gilad Bracha)

Laurence Tratt , King's College London
Adam Welc , Oracle Labs

Gilad Bracha 氏の現場経験について話をするために, IEEE Softwareのプログラミング言語の特集のゲスト編集者が彼と最近会った.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050076-abs.html

事例 (Case Study)

小さな組織で CMMI レベル 5 の成熟度を達成し, 維持する(Achieving and Maintaining CMMI Maturity Level 5 in a Small Organization)

Davide Falessi , Fraunhofer Center for Experimental Software Engineering
Michele Shaw , Fraunhofer Center for Experimental Software Engineering
Kathleen Mullen , Keymind

経済的な成果, 成功要因, 現実の例からの教訓が, 特に小さな組織の状況で高い成熟度のCMMIレベルを追求しようとする実践者に対するユニークな参考を提供する.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050080-abs.html

大規模ソフトウェア開発における規模と対応の速さ (Scale and Responsiveness in Large-Scale Software) Development

Helena Holmström Olsson , Malmö University, Sweden
Anna Börjesson Sandberg , Ericsson AB, Sweden
Jan Bosch , Chalmers University of Technology, Sweden
Hiva Alahyari , Chalmers University of Technology, Sweden

大規模ソフトウェア開発は, 個別の顧客への対応の速さと, 大きな顧客ベースに多数のフィーチャーを納品するという意味の規模を達成する時間との間の葛藤を一般的に伴う. 顧客に特化したソフトウェア開発チームがこの葛藤への対応を助け得る.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050087-abs.html

プロダクトメトリックス (Product Metrics)

アップグレードするに値するか? プロセスマイニングが教えてくれる (Is Your Upgrade Worth It? Process Mining Can Tell)

Michiel van Genuchten , VitalHealth Software
Ronny Mans , Eindhoven University of Technology
Hajo Reijers, VU University Amsterdam
Daniel Wismeijer, ACTA Amsterdam

ソフトウェア業界は, 新しいリリースにアップグレードする価値があるかについての証拠をあまり提供しないが, プロセスマイニングが恩恵を判断する助けになりえる.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050094-abs.html

ソフトウェア工学 (Software Engineering)

Goプログラミング言語 (The Go Programming Language)

Jeff Meyerson

Google で Go プログラミング言語に従事している Andrew Gerrand 氏がソフトウェア工学ラジオのこの抜粋で Jeff Meyerson と話をする. この Jeff との話は, Go を如何に着想し, それにどのようにオープンソースのコミュニティーが貢献したかについての詳細な裏話を含む, Go 言語の歴史で始まる. Andrew 氏は, Go で Google の規模が拡大する際のテーマであった課題をどのように単純化しようとしたのかを説明する.
https://www.computer.org/web/csdl/index/-/csdl/mags/so/2014/05/mso2014050104.pdf(1647KB)