eclipsecon na2016 report
TRANSCRIPT
EclipseConNA2016報告
田中
ビューファイブLLC2016/05/13
アジェンダ
• EclipseFounda:on&EclipseConference• EclipseConNA2016 報告– TextualDSL関連– GraphicalDSL関連– EMFForms 関連– PolarSysWG 関連– その他
• 最後に
EclipseFounda:on について
• オープンソースソフトウェア推進団体– 2001年11月に設立– 会員数:約230社・団体(2015年末)– hIp://www.eclipse.org/org/founda:on/reports/annual_report.php
– 参考 (報告者の概算)
• LunaSR2(2/27/2015〜)のダウンロード数:~8.8million (以下のURLの合計数)
hIp://www.eclipse.org/downloads/packages/release/luna/sr2(Java/JavaEEで ~6.4million)
EclipseFounda:on について
• Ac:veProjects– 276(160[mature]+116[incuba:ng])projects– hIp://projects.eclipse.org/search/projects
• WorkingGroups
– Automo:ve– InternetofThings(IoT)*– Loca:onTech– LongTermSupport– OpenMDM– PolarSys*– Science
*:後で少し触れます
EclipseCon について
• EclipseCon(EclipseConference)は Eclipse コミュニティー参加者の集まり(発表会・情報交換会的イベント)。
• 2016年の EclipseConスケジュール– NorthAmerica(NA):3/7-10@RESTONVA,USA– France:6/7-9@TOULOUSE,FRANCE– Europe:10/25-27@LUDWIGSBURG,GERMANY
• 報告者は従来 3 年毎に参加– モデルベースソフトウェア開発コミュニティ– 2015/2016 連続参加– 参加者は22か国から281名(米、加、独、仏、英 …)– 日本からの参加は報告者のみ
今回のスポンサー->
<-OMG会議の前週に同一会場にて
Eclipse とOMG
• OMG– 基本的に(国際)業界標準「仕様」を策定
• EclipseFounda:on– OMG標準の実装を含め各種技術のオープンソース化を推進– OMG標準の実装に関わる事例
• UML/SysML/MARTE/fUML+PSCS(Papyrus)• EMOF(EMF/ecore)• MOFQVT(QVTo,QVTd(ATL))• BPMN(BPMN2Modeler)• SOA(SCATools)• MOFModeltoText(Acceleo)• …
– 3年程度の周期でOMG/Eclipse合同ワークショップも開催
hIps://www.eclipsecon.org/na2016/conference/schedule/session/2016-03-07
EclipseConNAは例年月曜日(チュートリアルDay)から木曜日夕刻までの4日間
hIps://www.eclipsecon.org/na2016/conference/schedule/session/2016-03-08
hIps://www.eclipsecon.org/na2016/conference/schedule/session/2016-03-09
hIps://www.eclipsecon.org/na2016/conference/schedule/session/2016-03-10
hIps://www.flickr.com/photos/108559379@N08/24985913334/
Wai:ngforakeynotetobegin:
hIps://www.flickr.com/photos/108559379@N08/25380624720/
hIps://www.flickr.com/photos/108559379@N08/25054737173/
MikeMilinkovichExecu:veDirectorEclipseFounda:on
Par:cipants!
TextualDSL 関連
• eXXXtremeTutorial-Xtext,XbaseandXtend– HomeAutoma:on– BuildingaRESTDSL
• Xtext2.9-New&Noteworthy
• User-CentricDiagramEditors– 開発の動機と Demo
• Demo自体は1年前に紹介したものと同じ
• 10JavaIdiomsStompedwithXtend– セッション不参加
• EclipseConEurope2015の同名の動画が公開されている
• Crea:ngaStandaloneGeneratorwithXtend– ScienceWGでの Xtext 利用事例
Xtext
• HomeAutoma:onサンプルモデル
DeviceWindowcanbeOPEN,CLOSEDDeviceHea:ngcanbeON,OFFRule'CloseWindow,whenhea:ngturnedon'whenHea:ng.ONthenWindow.CLOSEDRule'Switchoffhea:ng,whenwindowsgetsopened'whenWindow.OPENthenHea:ng.OFF
DeviceWindowcanbeOPEN,CLOSEDDeviceHea:ngcanbeON,OFFRule'CloseWindow,whenhea:ngturnedon'whenHea:ng.ONthenWindow.CLOSEDRule'Switchoffhea:ng,whenwindowsgetsopened'whenWindow.OPENthenHea:ng.OFF
Model:declara:ons+=Declara:on*;
Declara:on:Device|Rule;
Device:'Device'name=ID'can''be' states+=State(','states+=State)*;
State:name=ID;
Rule:'Rule'descrip:on=STRING 'when'when=[State|QualifiedName] 'then'then=[State|QualifiedName];
QualifiedName:ID('.'ID)*;
Xtext
• DSLの文法を定義
Xtext
DEMO
Xtext
• Xtext2.9-New&Noteworthyスライド
– 本スライドデータは EclipseCon サイトに公開されていませんが、本日のMBSDコミュニティーで紹介したいということで依頼し送って貰いました
– TypeFox 社 の SvenExinge さんと JanKöhnlein さんに感謝します
GraphicalDSL(Sirius) 関連
• ModelingAvengers:OpenSourceTechnologyMixforSavingtheWorld– GEMOCproject:Siriusを含む各種OSSツールの連携・統合利用プロ
ジェクト
• HowtoMakeRobustandScalableModelingWorkbencheswithSirius– Sirius:ps:SiriusのGe{ngStartedを終えた後に復習+次の段階の
学習に使えそうです• 言いたい事が何かを考えながら読み進んでください
Sirius
• Sirius 事例紹介– 本コミュニティで過去にSiriusワークショップを2回開催して
います– Siriusを使うと EMFEcore モデルに基づいてグラフィカル
エディターを作成できます• コード生成を行う場合にはAcceleoを使います
– 事例: ArduinoDesigner (EclipseCon2015より)
SiriusTutorials
Ecoreモデル
Sirius
グラフィカルエディタ!
興味を持たれた方へ:hIps://eclipse.org/sirius/getstarted.html
ArduinoDesigner
• Obeo社の MélanieBatsさんにより昨年 Github上に公開されたプロジェクト– hIps://github.com/mbats/arduino
• EclipseConNA2015 での講演動画が InfoQで公開されています
hIp://www.infoq.com/presenta:ons/arduino-designer
Arduino hIps://www.arduino.cc
Arduino[hardware(wiring)]hIps://www.arduino.cc/en/tutorial/blink
ArduinoIDE[So~ware]
setup
loop
IDE付属のサンプルより
ArduinoDesigner[hardware]
ArduinoDesigner[so~ware]
ArduinoDesignerarduino.ecore(mainpart)
ArduinoDesigner
• Ecoreファイルがあるので、グラフィカルエディタを Sirius で作成できます– [EMF]Genmodel 生成– [EMF]Modelcode&Edit/Editorprojects 生成– [eclipse]Pluginsを組み込んだEclipse起動– [Sirius]ViewpointSpecifica:onProject作成– [Sirius]odesign マッピングファイル定義
EClass(concept) GraphicalElement
from to
arduino.ecoreに基づく図形要素へのマッピング
DEMO
Sirius
• ModelingAvengers:OpenSourceTechnologyMixforSavingtheWorld– スライド
• hIp://cedric.brun.io/talks/ModelingAvengers/#/
– 動画• hIp://www.infoq.com/presenta:ons/smart-farming-system-tools• GEMOCStudiodemo:star:ngat~8min40sec
Sirius
• Gemocプロジェクト– TheGEMOCIni:a:ve
• ANRINSProjectGEMOC• hIp://gemoc.org/ins/
Sirius適用例
• GalleryPage– 各種ドメインへの適用事例
• hIps://eclipse.org/sirius/gallery.html• Sirius で何を作るか、事例を眺めて考えると楽しいかもしれません
EMF/EMFForms 関連
• EcoreEditor-Reloaded– 例題で説明します
• Makeithappen!-Crea:ngacomplexform-basedUIin30minutes (過去にワークショップで紹介しました)
• EMFFormsgoesAngularJS• Tailor-mademodelcomparison:howtocustomizeEMFCompareforyourmodelinglanguage
• ModelMigra:onwithEdapt
EMFForms
• EMFForms 概要
• EcoreEditor&GenmodelEditor(v1.8.0~)– ブログ
• hIp://eclipsesource.com/blogs/tutorials/emf-forms-editors/
– Marsにインストールが必要• hIps://www.eclipse.org/ecp/emfforms/download.html• 1.8.xServiceReleasesUpdateSite• “EMFFormsEcoreEditor”
– Eclipse の次のリリースに入れる計画のようです
DEMO
組み込みシステム系の活動
• (一般的)組み込みシステム系– ArduinoC++IDEforEclipse
• PolarSysWG– Opensourcetoolsforembeddedsystems– hIps://www.polarsys.org
PolarSysWG関連
• 本年は UMLtool を利用したものが中心 – Let'splay:LegomeetsPapyrusUML
• Papyrus+MOKA
– EvelKnievelversusIncrementalAlwaysAdvancing• xtUML
– PapyrusforRealTime:ExecutablemodelingonEclipse• Papyrus-RT
– Marsexplora:onguidedbyPolarSys
PolarSysWG とはhIps://www.polarsys.org/about-us
PolarSysWG の目的・対象領域hIps://www.polarsys.org/about-us
hIps://www.polarsys.org/solu:ons
PolarSys の主なソリューション
• SystemandSo~wareEngineering– Capella SysML利用開発経験に基づき開発手法も組み込んだモデルベース開発環境– PapyrusforUML/SysML モデリングツール(+コード生成)
• So~waredevelopment– C/C++forEmbeddedLinux– PapyrusRTROSE-RTなどの流れを汲むリアルタイム用UMLツール(+コード生成)
• xtUML(BridgePoint)との統合も視野に入れて開発が行なわれている– PapyrusforUML– Egit– EGerrit
• ToolsDevelopmentKit– Kitalpha
• Verifica:onandValida:on– Titan– TraceCompass
PolarSysWG セション模様
• PolarSysWG の多くのツールを使い ToyRover(シンプルな探査ロボット)を低予算($200-300程度?)で構築するコンテストを予定(ツールを使いきちんと設計することのコンテスト)。デモでは Papyrus-RT(?) でモデル作成。
• UMLツール(Papyrus)にOMG仕様を実装したMokaを組み込み、LEGOで
作った自動車のアセンブルラインをEV3で動かすデモ講演あり。– 更に、UMLProfileとしてBPMNやBMMなどを組み込み活用した事例も確認。
• その他– リアルタイムシステム向けUMLツールにPapyrus-RTとxtUMLがあり、両者が協
力体制にある(Papyrus-RTに機能追加を計画)。– ソリューションの一つであるTraceCompassツールを使った実時間システムト
ラブルシューティング(参加できず)
hIps://www.eclipse.org/org/press-release/20160222_papyrus_industry_consor:um.php
…..
Papyrus-RT 情報
• インストール方法– hIps://wiki.eclipse.org/Papyrus-RT/User_Guide/Installa:on
• UML-RTモデルの作成からコード生成・実行まで (PingPongモデル)– hIps://wiki.eclipse.org/Papyrus-RT/User_Guide/Ge{ng_Started
• UML-RTspecifica:on文書は本年6月を目標に準備中とのこと
xtUML 情報
• ホームページ– hIps://xtuml.org– Executable,translatableUML
EclipseCon:ここ2年のロボット系デモ他
• EclipseConNA2016– PolarSysRoverdemo(RaspberryPi?):PolarSystoolsmustbeused– Papyrus4LegoCarFactorydemo(MindstormsEV3)– ObeoRobotdemo(MindstormsEV3)– GoldmanSacksRobotdemo(MindstormsEV3&EclipseCollec:ons)– Robo:csRelatedac:vi:es
• IoTSummit:14sessions• C++IDEforArduino
• EclipseConNA2015– XtextXRobotdemo(MindstormsEV3)– ObeoArduinoDesignerdemo(ArduinoUNO)– IBMRobotCardemo(RaspberryPi)– Robo:csRelatedac:vi:es
• IoTDay:7sessions
hIps://www.flickr.com/photos/108559379@N08/25049422273/hIps://www.flickr.com/photos/108559379@N08/25572337166/
hIps://www.eclipsecon.org/na2016/session/lets-play-lego-meets-papyrus-umlPolarSysRoverprototypehIps://www.youtube.com/watch?v=VSzkiu9uhgU
hIps://www.youtube.com/watch?v=ywAHnBl8gz4
hIps://www.eclipsecon.org/na2016/iot-summithIp://iot.eclipse.org
IoT関連: IoTSummit
InfoQ記事
• InfoQ.com– スポンサー参加し、インタビュー実施やプレゼンテーション録画
• EclipseConNA2016関連記事– EclipseFounda:onReleasesNext-Genera:onIDE,EclipseChe4.0
• hIp://www.infoq.com/news/2016/03/eclipse-che-release
– Microso~JoinstheEclipseFounda:on• hIp://www.infoq.com/news/2016/03/microso~-eclipse
hIps://www.flickr.com/photos/108559379@N08/25497782932/
Presenta:on 資料/録画データ 他
• EclipseConNA2016サイトのSessionSlidesページ– hIps://www.eclipsecon.org/na2016/conference/session-slides
• 全てのスライドが公開されている訳ではありません(60-70%?)
• InfoQ.comによる録画データ(現在15件が登録)
– hIps://www.eclipsecon.org/na2016/content/recorded-sessions• 幾つかの部屋に機器を設置し録画していました(これからも追加される模様)
– hIp://www.infoq.com/eclipsecon-2016/
• EclipseNews:DiscoverModel-BasedEngineering– hIp://www.eclipse.org/community/eclipse_newsleIer/2016/april/
• Papyrus関連の記事4件
少々の感想
• EclipseModeling– Eclipse 環境のMBSDは従来DSL(Xtext,Sirius,…),UML,EMFなど各種ツールそ
れぞれが上流から下流までのツール群を揃えようとしていました– 今回気付いたのは欧州の取り組みで、既存ツール群(+独自要素)をうまく組み
合わせ効率良くより良いものを作り出す仕組みを追求していることです– Sirius(GEMOC)やPolarSysの話を聞いていると、構造的なモデルは
• まずXtextで簡単に作成• 次にSiriusでグラフィカルモデルとして表現・提示• シミュレーションツールを用意し早い段階でモデル検証(valida:on)を行い• モデルの詳細化を行い(UMLツール他)• コード生成につなぐ ・・・ というプロセスを何度か聞きました
• 比較的大規模システム志向のPapyrus-RTと限られたリソースに対応できるxtUMLの協力は印象的!
• EclipseChe他をベースとしたクラウド上への展開– 現在はまだテキストベースですが、来年はどうなっているでしょう?
• 次にIoT への適用が来そう?
最後に
• 共通の理解を得るため「スケッチとしてのモデル」もありですが、どうせならモデルを有効利用しましょう
– モデルベースソフトウェア開発コミュニティーで いろいろな可能性をぜひ一緒に検討しましょう
– 良ければワークショップにも顔を出してください– Xtext,Sirius/Acceleo,EMFForms開発元とは良好な関係にありますので、使
われる際にサポートが必要なら声をかけて下さい
• 昨年も言いましたが今年も言います: 皆さんも EclipseCon に参加しませんか?