eclipsecon na2016 report

54
EclipseCon NA2016 報告 田中 ビューファイブ LLC 2016/05/13

Upload: akira-tanaka

Post on 16-Apr-2017

141 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: EclipseCon NA2016 report

EclipseConNA2016報告

田中

ビューファイブLLC2016/05/13

Page 2: EclipseCon NA2016 report

アジェンダ

•  EclipseFounda:on&EclipseConference•  EclipseConNA2016 報告–  TextualDSL関連–  GraphicalDSL関連–  EMFForms 関連–  PolarSysWG 関連–  その他

•  最後に

Page 3: EclipseCon NA2016 report

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)

Page 4: EclipseCon NA2016 report

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

*:後で少し触れます

Page 5: EclipseCon NA2016 report

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会議の前週に同一会場にて

Page 6: EclipseCon NA2016 report

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合同ワークショップも開催

Page 7: EclipseCon NA2016 report

hIps://www.eclipsecon.org/na2016/conference/schedule/session/2016-03-07

EclipseConNAは例年月曜日(チュートリアルDay)から木曜日夕刻までの4日間

Page 8: EclipseCon NA2016 report

hIps://www.eclipsecon.org/na2016/conference/schedule/session/2016-03-08

Page 9: EclipseCon NA2016 report

hIps://www.eclipsecon.org/na2016/conference/schedule/session/2016-03-09

Page 10: EclipseCon NA2016 report

hIps://www.eclipsecon.org/na2016/conference/schedule/session/2016-03-10

Page 11: EclipseCon NA2016 report

hIps://www.flickr.com/photos/108559379@N08/24985913334/

Wai:ngforakeynotetobegin:

Page 12: EclipseCon NA2016 report

hIps://www.flickr.com/photos/108559379@N08/25380624720/

hIps://www.flickr.com/photos/108559379@N08/25054737173/

MikeMilinkovichExecu:veDirectorEclipseFounda:on

Par:cipants!

Page 13: EclipseCon NA2016 report

TextualDSL 関連

•  eXXXtremeTutorial-Xtext,XbaseandXtend–  HomeAutoma:on–  BuildingaRESTDSL

•  Xtext2.9-New&Noteworthy

•  User-CentricDiagramEditors–  開発の動機と Demo

•  Demo自体は1年前に紹介したものと同じ

•  10JavaIdiomsStompedwithXtend–  セッション不参加

•  EclipseConEurope2015の同名の動画が公開されている

•  Crea:ngaStandaloneGeneratorwithXtend–  ScienceWGでの Xtext 利用事例

Page 14: EclipseCon NA2016 report

Xtext

•  HomeAutoma:onサンプルモデル

DeviceWindowcanbeOPEN,CLOSEDDeviceHea:ngcanbeON,OFFRule'CloseWindow,whenhea:ngturnedon'whenHea:ng.ONthenWindow.CLOSEDRule'Switchoffhea:ng,whenwindowsgetsopened'whenWindow.OPENthenHea:ng.OFF

Page 15: EclipseCon NA2016 report

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の文法を定義

Page 16: EclipseCon NA2016 report

Xtext

Page 17: EclipseCon NA2016 report

DEMO

Page 18: EclipseCon NA2016 report

Xtext

•  Xtext2.9-New&Noteworthyスライド

–  本スライドデータは EclipseCon サイトに公開されていませんが、本日のMBSDコミュニティーで紹介したいということで依頼し送って貰いました

–  TypeFox 社 の SvenExinge さんと JanKöhnlein さんに感謝します

Page 19: EclipseCon NA2016 report

GraphicalDSL(Sirius) 関連

•  ModelingAvengers:OpenSourceTechnologyMixforSavingtheWorld–  GEMOCproject:Siriusを含む各種OSSツールの連携・統合利用プロ

ジェクト

•  HowtoMakeRobustandScalableModelingWorkbencheswithSirius–  Sirius:ps:SiriusのGe{ngStartedを終えた後に復習+次の段階の

学習に使えそうです•  言いたい事が何かを考えながら読み進んでください

Page 20: EclipseCon NA2016 report

Sirius

•  Sirius 事例紹介–  本コミュニティで過去にSiriusワークショップを2回開催して

います–  Siriusを使うと EMFEcore モデルに基づいてグラフィカル

エディターを作成できます•  コード生成を行う場合にはAcceleoを使います

–  事例: ArduinoDesigner (EclipseCon2015より)

Page 21: EclipseCon NA2016 report

SiriusTutorials

Ecoreモデル

Sirius

グラフィカルエディタ!

興味を持たれた方へ:hIps://eclipse.org/sirius/getstarted.html

Page 22: EclipseCon NA2016 report

ArduinoDesigner

•  Obeo社の MélanieBatsさんにより昨年 Github上に公開されたプロジェクト–  hIps://github.com/mbats/arduino

•  EclipseConNA2015 での講演動画が InfoQで公開されています

Page 23: EclipseCon NA2016 report

hIp://www.infoq.com/presenta:ons/arduino-designer

Page 24: EclipseCon NA2016 report

Arduino hIps://www.arduino.cc

Page 25: EclipseCon NA2016 report

Arduino[hardware(wiring)]hIps://www.arduino.cc/en/tutorial/blink

Page 26: EclipseCon NA2016 report

ArduinoIDE[So~ware]

setup

loop

IDE付属のサンプルより

Page 27: EclipseCon NA2016 report

ArduinoDesigner[hardware]

Page 28: EclipseCon NA2016 report

ArduinoDesigner[so~ware]

Page 29: EclipseCon NA2016 report

ArduinoDesignerarduino.ecore(mainpart)

Page 30: EclipseCon NA2016 report

ArduinoDesigner

•  Ecoreファイルがあるので、グラフィカルエディタを Sirius で作成できます–  [EMF]Genmodel 生成–  [EMF]Modelcode&Edit/Editorprojects 生成–  [eclipse]Pluginsを組み込んだEclipse起動–  [Sirius]ViewpointSpecifica:onProject作成–  [Sirius]odesign マッピングファイル定義

Page 31: EclipseCon NA2016 report

EClass(concept) GraphicalElement

from to

arduino.ecoreに基づく図形要素へのマッピング

Page 32: EclipseCon NA2016 report

DEMO

Page 33: EclipseCon NA2016 report

Sirius

•  ModelingAvengers:OpenSourceTechnologyMixforSavingtheWorld–  スライド

•  hIp://cedric.brun.io/talks/ModelingAvengers/#/

–  動画•  hIp://www.infoq.com/presenta:ons/smart-farming-system-tools•  GEMOCStudiodemo:star:ngat~8min40sec

Page 34: EclipseCon NA2016 report

Sirius

•  Gemocプロジェクト–  TheGEMOCIni:a:ve

•  ANRINSProjectGEMOC•  hIp://gemoc.org/ins/

Page 35: EclipseCon NA2016 report

Sirius適用例

•  GalleryPage–  各種ドメインへの適用事例

•  hIps://eclipse.org/sirius/gallery.html•  Sirius で何を作るか、事例を眺めて考えると楽しいかもしれません

Page 36: EclipseCon NA2016 report

EMF/EMFForms 関連

•  EcoreEditor-Reloaded–  例題で説明します

•  Makeithappen!-Crea:ngacomplexform-basedUIin30minutes (過去にワークショップで紹介しました)

•  EMFFormsgoesAngularJS•  Tailor-mademodelcomparison:howtocustomizeEMFCompareforyourmodelinglanguage

•  ModelMigra:onwithEdapt

Page 37: EclipseCon NA2016 report

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 の次のリリースに入れる計画のようです

Page 38: EclipseCon NA2016 report

DEMO

Page 39: EclipseCon NA2016 report

組み込みシステム系の活動

•  (一般的)組み込みシステム系–  ArduinoC++IDEforEclipse

•  PolarSysWG–  Opensourcetoolsforembeddedsystems–  hIps://www.polarsys.org

Page 40: EclipseCon NA2016 report

PolarSysWG関連

•  本年は UMLtool を利用したものが中心 –  Let'splay:LegomeetsPapyrusUML

•  Papyrus+MOKA

–  EvelKnievelversusIncrementalAlwaysAdvancing•  xtUML

–  PapyrusforRealTime:ExecutablemodelingonEclipse•  Papyrus-RT

– Marsexplora:onguidedbyPolarSys

Page 41: EclipseCon NA2016 report

PolarSysWG とはhIps://www.polarsys.org/about-us

Page 42: EclipseCon NA2016 report

PolarSysWG の目的・対象領域hIps://www.polarsys.org/about-us

Page 43: EclipseCon NA2016 report

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

Page 44: EclipseCon NA2016 report

PolarSysWG セション模様

•  PolarSysWG の多くのツールを使い ToyRover(シンプルな探査ロボット)を低予算($200-300程度?)で構築するコンテストを予定(ツールを使いきちんと設計することのコンテスト)。デモでは Papyrus-RT(?) でモデル作成。

•  UMLツール(Papyrus)にOMG仕様を実装したMokaを組み込み、LEGOで

作った自動車のアセンブルラインをEV3で動かすデモ講演あり。–  更に、UMLProfileとしてBPMNやBMMなどを組み込み活用した事例も確認。

•  その他–  リアルタイムシステム向けUMLツールにPapyrus-RTとxtUMLがあり、両者が協

力体制にある(Papyrus-RTに機能追加を計画)。–  ソリューションの一つであるTraceCompassツールを使った実時間システムト

ラブルシューティング(参加できず)

Page 45: EclipseCon NA2016 report

hIps://www.eclipse.org/org/press-release/20160222_papyrus_industry_consor:um.php

…..

Page 46: EclipseCon NA2016 report

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月を目標に準備中とのこと

Page 47: EclipseCon NA2016 report

xtUML 情報

•  ホームページ–  hIps://xtuml.org–  Executable,translatableUML

Page 48: EclipseCon NA2016 report

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

Page 49: EclipseCon NA2016 report

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

Page 50: EclipseCon NA2016 report

hIps://www.eclipsecon.org/na2016/iot-summithIp://iot.eclipse.org

IoT関連: IoTSummit

Page 51: EclipseCon NA2016 report

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/

Page 52: EclipseCon NA2016 report

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件

Page 53: EclipseCon NA2016 report

少々の感想

•  EclipseModeling–  Eclipse 環境のMBSDは従来DSL(Xtext,Sirius,…),UML,EMFなど各種ツールそ

れぞれが上流から下流までのツール群を揃えようとしていました–  今回気付いたのは欧州の取り組みで、既存ツール群(+独自要素)をうまく組み

合わせ効率良くより良いものを作り出す仕組みを追求していることです–  Sirius(GEMOC)やPolarSysの話を聞いていると、構造的なモデルは

•  まずXtextで簡単に作成•  次にSiriusでグラフィカルモデルとして表現・提示•  シミュレーションツールを用意し早い段階でモデル検証(valida:on)を行い•  モデルの詳細化を行い(UMLツール他)•  コード生成につなぐ ・・・ というプロセスを何度か聞きました

•  比較的大規模システム志向のPapyrus-RTと限られたリソースに対応できるxtUMLの協力は印象的!

•  EclipseChe他をベースとしたクラウド上への展開–  現在はまだテキストベースですが、来年はどうなっているでしょう?

•  次にIoT への適用が来そう?

Page 54: EclipseCon NA2016 report

最後に

•  共通の理解を得るため「スケッチとしてのモデル」もありですが、どうせならモデルを有効利用しましょう

–  モデルベースソフトウェア開発コミュニティーで いろいろな可能性をぜひ一緒に検討しましょう

–  良ければワークショップにも顔を出してください–  Xtext,Sirius/Acceleo,EMFForms開発元とは良好な関係にありますので、使

われる際にサポートが必要なら声をかけて下さい

•  昨年も言いましたが今年も言います: 皆さんも EclipseCon に参加しませんか?