« 2014年6月 | トップページ | 2014年8月 »

2014年7月

2014年7月29日 (火)

USAの大学・大学院のコンピューターサイエンスの学生のレベル

日本ではUSAの大学・大学院のコンピューターサイエンスの学生のレベルが
あまり知られていないと思う。

USAは英語で講義をするので世界中から天才肌の学生が集まり、そしてそれが普通の状況だ。

1つには成績が割ると落第、退学は普通。

日本の様になるべく落第させるなという文部科学省の方針と異なる点も、学生が必至になる点である。

それから、大学の先生もバンバン首になる。そのように生徒も先生も緊張感が高い世界が必要と思う。


サッカーやオーケストラなどに代表される音楽なども世界中から優秀な指導者を招いているのだし、日本の大学も先生が英語で講義することが今後は不可欠なのではないかな。

そして、SW開発はコンピューターサイエンスで学位を得た人しかなれない環境なのでGoogleやAmazonのような企業は強いんだね。

下記は海外で活躍している人の企業のトップの方のインタビュー記事。
やはり、ここでもスタンフォードで天才肌の学生ばかりで理系の道を断念したと書いてある。


1_2

2

もちろんMITやカーネーギーメロンやUCバークレイなども含めスタンフォードに負けず劣らず優秀である。

日本の学生やエンジニアは彼らと競争することになるから、日本はもっと危機感を持たないといけないね。

|

2014年7月28日 (月)

Adaによる先進ソフトウエア開発

長い間Adaでハードリアルタイムの開発をしていた。

ハードリアルタイム仕様の言語であるAdaは:
・並列性
・正当性チェック
・ガーベージコレクション
・大規模開発対応
・例外処理
・オブジェクト指向

などの機能を備えている極めて厳しい型チェックがある。
「型安全がどういうのもか?」
というの明確に理解できる言語であり開発思想と開発環境を持つ。
逆にアマチュア受けする仕様は全くない、完全なプロ仕様の言語であった。

|

2014年7月25日 (金)

コードのパフォーマンスと動的な呼び出し構造の分析

Callrmap_convert_20140725165631

コードのパフォーマンス分析。

科学的にパフォーマンスや動的な呼び出し構造の最適化を行には、工学的なツールを使って科学的に実施する。

試験環境用のVMのOSの更新が終了し、動的構造の最適化のチェック。


|

Adaによるソフトウエア工学に基づく開発

Adaによる先進ソフトウエア開発

長い間Adaでハードリアルタイムの開発をしていた。

ハードリアルタイム仕様の言語であるAdaは:
・並列性
・正当性チェック
・ガーベージコレクション
・大規模開発対応
・例外処理
・オブジェクト指向

などの機能を備えている極めて厳しい型チェックがある。
「型安全がどういうのもか?」
というの明確に理解できる言語であり開発思想と開発環境を持つ。
逆にアマチュア受けする仕様は全くない、完全なプロ仕様の言語であった。

|

2014年7月22日 (火)

ETロボコンのスペシャルセミナー『ソフトウエアの正当性とモデリングの科学』の講演資料のダウンロード

ETロボコンのスペシャルセミナーで講演した『ソフトウエアの正当性とモデリングの科学』講演資料がダウンロード可能になりました。

ETロボコンの実行委員方から連絡を頂きました。
実行員の方にはお世話になりましたことを感謝いたします。

当日講演に参加されたリスナーの方には、ダウンロードできるURLとダウンロード方法が案内が実行委員の方から行くと思います。

|

2014年7月18日 (金)

オブジェクト指向の「並列・並行性」のモデルの検討

「数学的モデリング」の最も重要かつ難題なアプローチの公式化に「並列・並行性」のモデルがある。

この作業を一時中断していたが、再び再開した。
つまり具体的な設計ソリューションをまとめる。

実のところどの様に「オブジェクト指向」と「並列・並行性」を効果的に統合すればいいかというソリューションに研究者間に統一見解は存在しない。

「オブジェクト指向」と「並列・並行性」の統合に提案されている戦略には下記がある。

・直交モデル
・Actorモデル
・統合モデル
・アクティブオブジェクトモデル
・etc(and so on)

「統合モデル」と「アクティブオブジェクトモデル」が最も典型的と思いきや、これを否定する研究者や言語設計者もいる。

CSPやAdaのタスク型モデルのアプローチもある
この2つのアプローチは、リアルタイムやタスク間のデーター通信が極めて重要なモデルには上手く行くが、OO技法の「開放閉鎖原則」に制約が多きくなるデメリットがある。
特にCSPは大変魅力があるものの、根本的に「開放閉鎖原則」とは相いれがたい気がする。

一方、「直交モデル」はOO技法の「開放閉鎖原則」は維持されやすいが、排他制御が複雑なるデメリットがある。
そうなると「事前条件」「事後条件」のチェックにも大きな制約がかかり、並列処理で待ちを考慮する必要が他の「並列・並行性」モデルよりも厄介である。
これは並列や並行性を考慮するOO開発では有名な話である。

状態図の並列処理にも影響があるので、「並列・並行性」モデルは状態図を多用するシステムは特に重要である。

状態図には並列パーティションがあるが、実のところ本当の意味で並列に動作させていないのが今の状態図の実装の現状なのでもったいない。

ここしばらくはこの作業に焦点を当てる予定で、一定の成果を出す予定(希望的観測)。

OSと言語の持つ機能を使い、並列ライブラリーを作成する戦略もある。

|

科学的モデルの作成と検討~『共変化』モデルと『タイプ置換原理』

Hsci3

自社の『科学的モデリングツール】によるタイプ整合性の自動検証とコードの完全自動生成~状変化モデル

継承の種類と推論条件を変更するとツールがタイプ置換原理によるスーパータイプとサブタイプの動作の整合性を自動判する。

幾つかの色で判定結果を表示する。

Hsci1


このツールではモデルで継承されたサブクラスで型の「共変化」の対応が出来るようにしている。

「共変化」はEiffelで取り入れられている重要なモデリングおよび実装の型の考え方である。
JavaやC++では「共変化」を認めていない「無変化」言語である。
(正確に言うとC++は返値の型に「共変化」を認めている。)

Hsci3_2

ただし、「共変化」を認めるEiffelが優れていて、C++やJavaが劣っている訳ではない。
「共変化」を認めるか認めないかは言語上の選択であり、短所・長所がどちらにもあるからだ。

それでも、サブタイプ(サブクラス)で「共変化」を認めないと実システムのモデリングになかりの
制約を与える事になる。

例えば、ガンマ達のデザインパターンの多くは「共変化のモデル」のパターンである。
つまり、リスコフ置換原理などのタイプ置換原理をある一定の条件下の元で満たさないことを認めているモデルであるのでプログラマーが事前条件や事後条件でしっかりチェックしないといけない。

この自社のツールではJavaやC++では共変化を認めていないので、サブクラスが継承した関数の事前条件で動的型チェックを行っている。
動的型チェックで不正な型のインスタンスの代入を防ぐことになる。
このようなアプローチが非常に重要である。

なお、Eiffelは高度な型推論を使いコンパイラーが動的に判定しcatコールを防いでいる。Eiffelではプログラマーにキャストする方法がない型安全な言語となっている。

|

2014年7月16日 (水)

温故知新的読書~ビトゲンシュタインの論理哲学論考

「論理哲学論考(Tractatus Logico-philosophicus)」&「ヴィトゲン・シュタイン(Ludwig Wittgenstein)」

夏は読書をしたくなる時期だけど、最近は仕事以外の本は新しい本に手が伸びず過去に読んだ本を繰り返し読むことが多い。

Vs1_2

Vs2

トートロジー(恒真命題)で有名な天才・鬼才のヴィトゲン・シュタインである。

この様な歴史的な価値のある本は何度読んでも違った気づきがあるから飽きないが、一方で最近の節操のない内容の新刊書に魅力が無い本が多いのかもしれない。

今年の夏は改めて「論理哲学論考」を中心に、ヴィトゲン・シュタインに浸ってみようと思う。

何年か前にそれなりに深く勉強した時期があり、多くの収穫を得たのが「論理哲学論考(Tractatus Logico-philosophicus)」&「ヴィトゲン・シュタイン(Ludwig Wittgenstein)」である。

本来この手の本は原典にあたるのが良いと言われるが、論理哲学論考は古いドイツ語である上に専門家でも読解に苦労するから翻訳がいいだろう。

「ヴィトゲン・シュタイン(Ludwig Wittgenstein)」の活動は大きく、前期と後期に分けられるけど、やはり前記の「論理哲学論考(Tractatus Logico-philosophicus)」に魅力を感じる。

もちろん、本人自身は前記の成果に欠陥を見出して後期の仕事に取り掛かるが、それでも圧倒的に「論理哲学論考(Tractatus Logico-philosophicus)」が面白い。

世紀の大天才のエッセンスに再度触れてみたい。


|

2014年7月 1日 (火)

引っ越しで分かる「無駄なモノ」がいかに多いか

マンションに住んでいると、引っ越しが多い時期がある。

新年度の頃とGW明けである。

マンションから出ていく引っ越しの場合に必ず大量のごみがでる。

新し引っ越し先のサイズに合わないというだけに問題ではなく、どうやらいつの間にか不要なものを大量に溜め込んでいるようだ。

そのため、引っ越しのタイミングで不要なものを破棄せざる負えないのだろう。

人間が生きていく中で本当に必要なものは、確かにさほど多くないのだが、どうしてか、ついつついあまり必要でないものを購入し、使わないものが多くなる傾向にある。

服でもモノでも1年以上使わないものは、今後使う可能性はかなり低いということなので、バンバン破棄することが大切かもしれない。

そして、それ以上に無駄なものを購入しないことだ。

無駄なものを購入するのは、費用の無駄だけでなく、思考にもよくない。

無駄なモノに囲まれていると、無駄な思考が発生するからだ。

|

« 2014年6月 | トップページ | 2014年8月 »