iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

2018年もiPXをよろしくお願いします

こんにちは、iPXの須山です。

新年あけましておめでとうございます

2018年になりましたね。
本年もiPXをよろしくお願いします。
なお、2018年のiPXは 1月8日より平常通り営業いたします。

皆さんはどのような 新年を迎えたのでしょうか?
(ちなみに私は 実家に帰省し、地元で新年を迎えました。)

Automotive World

昨年2017年 iPXとしましては、本社事務所の移転等があった年でした。

2018年もiPXでは いろいろな事が予定されていますが
弊社として 年明けまず大きなイベントとしましては、
東京ビッグサイトにて 今月17日より行われるAutomotive Worldへの
出展がございます。
社内では、鋭意出展準備中です。

18日には 東-Fセミナー会場にて、セミナーも開催予定です。
(内容は ADASシステム開発におけるDeepLearning活用事例を
 弊社の開発事例を交えて紹介予定です)
是非いらしてください。

2018年もiPXをよろしくお願いします。

EMCのお勉強会

ご無沙汰しております。
10月から住処を北関東にし、やっとこ慣れ始めたishizawaです。
今更ながら去年、車を買って良かったなぁと実感しております。
ただ、こちらは東京と違い路面が凍結するとのことでスタッドレスタイヤを購入…。
思っていたよりお金が飛んでゆきました…(´・ω・`)

なんだかんだ運転が好きなので日光行ったりと楽しんでおります。
今年こそはスタッドレスタイヤも買ったのでスノボーとやらを楽しんでみたい所存です。

さて、今回は先日弊社内部でEMC(電気)の勉強会を行いましたゆえざっくりここでも書いてみようかなと思います。

続きを読む

Graphvizで依存関係

初めに

お久しぶりです。砂子です。もう年末ですね。前回はFF7のメモリ解析でしたか。光陰矢の如しとは言いますが、本当に時間がたつのが早く感じる今日この頃です。

弊社では機械学習やDeepLearning、FPGA、CUDAなどに関連した業務も増えてきましたが、わたくしは栃木でWEBのフロントエンド開発などをしております。Web開発は初ということもあり、HTML、CSSなど勉強することも多い毎日です。

業務で遭遇する依存関係

さて、業務を遂行していると時節依存関係に出くわすことがあります。

  1. 関数の呼び出しを説明する
  2. 要求仕様で記述されている機能群の関係を把握したい
  3. etc

大半の方が業務で使用できるツールといえばMicrosoftのOfficeシリーズになりますが、それを使って依存関係を記述、描画するにはかなり骨がおれます。非常に単純なものであればExcelPowerPointなどを使用すればよいのですが、ドキュメントの中に所々ある依存関係の記述を拾い集めて管理するのは大変な作業となります。

今回業務で遭遇したのが、200ページ位のPowerPointドキュメントに記述された要求仕様でした。機能ごとに整理されており、各機能が依存する機能はわかるのですが俯瞰して依存関係が記述されていません。それほど依存関係が複雑というわけではないはずが、いくつかの箇所に”機能Aは機能Bを呼び出す”などと記述されている状態です。

プログラミングの依存関係の例

プログラマーであれば依存関係ということばより、Makeやコールグラフが思い浮かべるかもしれません。

makeは有名なUnixツールで複数のソースコードを成果物にまとめ上げるためのツールです。makeを詳しく知らなくともUnixライクなシステム(Linux, cygwinなど)で下記のようなコマンドを実行したかたもいるかもしれません。

./configure 
make
make install

コールグラフIDEやドキュメント自動生成などでみることがある関数の呼び出し関係を記述したグラフです。私はDoxygenを利用してソースコードからドキュメントを作ったとこがありますが、その時関数の関係が描画されていました。

Graphvizについて

Graphviz上記Doxygenコールグラフを生成する際に使用するツールです。これはdot言語で記述されたグラフ構造を描画するツールになります。 ここでグラフ構造とはノード(節点)とエッジ(辺)を構成要素とし、ノードとエッジの関係を記述した構造です。ノードn1とn2があり、エッジとしてn1とn2を結ぶe1があるとすると下図のようになります。

graph G {
  n1 -- n2;
}

f:id:ipx-writer:20171210131511p:plain

エッジにn1からn2への方向を持たせると下図になります。

digraph G {
  n1 -> n2;
}

f:id:ipx-writer:20171210131509p:plain

依存関係描画

さて、依存関係は”機能Aが機能Bに依存している”というように記述されます。これを下記のように描画します。

digraph G {
  FuncA -> FuncB;
}

ドキュメントに出てくるページをコメントで書いて、次のように書けば依存関係のグラフ構造が描画できます。

digraph G {
  // P.10
  FuncA -> FuncB
  // P.13
  FuncA -> FuncC
  // P.20
  FuncB -> FuncC
  // P.50
  FuncD -> FuncC
  // ... until P.200
}

f:id:ipx-writer:20171210131517p:plain

ドキュメントの各ページで記述されている依存関係を描画できました。納品や客先での説明資料としては物足りないかもしれませんが、見積もりの資料としてはある程度の意味をもつと思います。

終わりに

実際の業務では専門領域以外の複雑性に直面することが多々あります。マッチングするツール等があればよいですが、高級であったりライセンスの関係で利用できないこともしばしばです。また、個人的に業務の複雑性をその都度解消できてもチーム内で共有できなくてはせっかくの効率化も失われてしまいます。Officeなどの汎用的なツールで完結できればそれが一番なのですがね。 もっと大枠で業務の改善などを提案、定着できるように配慮して開発を進める必要を感じます。 では次回の記事で。次は英語で書いてみようかな。

年末近くを迎えて

寒くなってまいりました。
皆さまいかがお過ごしでしょうか。
iPXのかのまたです。

年末が近くなり、年末ジャンボの発売日も近くなってまいりました。
「今年こそは人生を購入するのだ!」と息をまく、そんな皆様のために、このような写真を用意しました。

f:id:ipx-writer:20171124222147j:plain

栃木県那須烏山市大金駅」です。
駅前に小さくても「大金神社」があります。
f:id:ipx-writer:20171124222128j:plain
お参りをば

f:id:ipx-writer:20171124222232j:plain
駅前にある売店

f:id:ipx-writer:20171124222312j:plain
駅前の道路
f:id:ipx-writer:20171124222353j:plain
六角形「県道233号線」
総延長14km程度です。

大金駅の時刻表です
f:id:ipx-writer:20171124222334j:plain

JR烏山線「ACCUM」
キハ40はちょうど来なかったです。
f:id:ipx-writer:20171124222432j:plain

那須烏山市の案内板
f:id:ipx-writer:20171124222252j:plain
さて、皆様の運が上向いたことでしょう。

自宅からちょっとばかり遠いですが、よいドライブコースでした。
栃木は寒いですがよいところです。

Modelica Users Conference 2017に参加してきました

EPLU(Engineering Process Leading Unit)の加藤です。
10月27日(金)に、Modelica Users Conference 2017に参加してきました。
http://www.modelon.com/jp/modelica-users-conference-2017-japan/
主催はModelon社ですが、ユーザーカンファレンスという名前の通り、ユーザー事例の発表を中心としたイベントです。
Modelon社のプレゼンテーションに続き、海外や国内のユーザの事例発表が行われました。
当日はModelicaユーザやFMIに関心のある方々が、140名あまり参加していました。

続きを読む

NoSQLの話

久しぶりに仕事に関わるような内容を書こうと思ったEPLUのタキヤマです。

とりあえずDBの関連の記事を書くつもりではいましたが、
前回予告していた通り、チューニングを実践するには、準備時間が足りないので・・・
今回は最近話題の big data や Deep Leaning でも使われるこちらに軽く触れようと思います。

続きを読む