[SiriusCon 2018] Eclipse Sirius applied to a RAD Tool in Japan
Obeo_corp
219 views
36 slides
Dec 11, 2018
Slide 1 of 36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
About This Presentation
SiriusCon 2018 talk by Akira Tanaka, view5 LLC & Ryo Nagamine, Atrris Corp & Takanobu Ouchi, Atrris Corp
Eclipse Sirius applied to a RAD Tool in Japan
Sirius has been applied to a RAD tool (Pexa) in Japan.
This RAD tool is architected as an analysis and execution engine on top of a UML to...
SiriusCon 2018 talk by Akira Tanaka, view5 LLC & Ryo Nagamine, Atrris Corp & Takanobu Ouchi, Atrris Corp
Eclipse Sirius applied to a RAD Tool in Japan
Sirius has been applied to a RAD tool (Pexa) in Japan.
This RAD tool is architected as an analysis and execution engine on top of a UML tool. Brief introduction of the tool will be provided.
Our challenge then was to
extract/create an ecore model from the tool with sample diagrams,
implement a “.odesign” file providing similar functionality to the tool,
check to see if Sirius’s I18N support works properly under our language environment,
generate a table similar to a couple of tables provided by the tool.
We believe we have achieved around 80% of the functionality for one of Pexa models, without writing any Java code.
Size: 919.56 KB
Language: en
Added: Dec 11, 2018
Slides: 36 pages
Slide Content
Eclipse Sirius Applied
to a RAD Toolin Japan
4th December, 2018
Akira Tanaka *
view5 LLC
@atanaka| [email protected]
TakanobuOuchi
AtrrisCorp. [email protected]
RyoNagamine
AtrrisCorp. [email protected]
1
Introduction
3
●A case study: Eclipse Sirius applied to a RAD tool in Japan
○PEXA tool is a RAD (Rapid Application Development) tool developed by Atrris
Corp. that specializes in enterprise applications development.
○We have developed Sirius-based PEXA tooling (though one component only).
○Mr. Nagamineand Mr. Ouchiof AtrrisCorp. have designed PEXA Methodology
and Tools.
○The speaker has been using Eclipse Modeling Tools, e.g. EMF, Sirius, and Xtext
for some time, and organizes “Model-Based Software Development Community,
Japan.”
About PEXA tool
4
PEXA applied systems
5
●Successfully applied systems (in Japan)
○12 Government/Local Government systems
○6 Enterprise/ERP systems
○6 Financial systems
○2 Logistics systems
○5 Healthcare systems
○11 Supply Processing Distribution (SPD) systems
○3 Triage (in medical emergencies and disasters) systems
Problems
●When developing enterprise application systems, it is hard to
○Have consistent requirements throughout enterprise organization,
○Define to what extent those requirements need to be implemented, and
○Maintain/update the developed and deployed systems.
●To deal with above issues, PEXA tool was developed to
○Allow users to work on requirements or specifications using graphical UIs,
○Avoid developers’ inconsistent interpretation of requirements,
○Make sure that consistency of specifications is achieved by auto-checking, and
○Allow thorough testing.
6
Features
●PEXA tool consists of:
○Business Analysis tool,
○Business Scenario Design tool,
○Model Transformation tool,
○Runtime Interpreter on open source application server, and
○Pre-defined business domain templates
Distinct feature, when compared with other RAD tools, is the last item of the list.
7
Features
●Enterprise business models called PEXA models, using PEXA Development
Methodology, can be specified.
●PEXA models
○Bird-eye view model (or Overview model): target of today’s talk
○Business Scenario model (based on business object’s state transitions)
●PEXA modeling tool
○Built on a commercial UML tool, enhanced with a collection of add-ons.
○Like an implementation of “UML Profile for PEXA modeling”
●PEXA runtime engine (interpreter)
○No code generation required
8
Development Approach
transform
Business Analysis
(Bird-eye view)
Refined business objects
(Scenario chart)
Business Models on PEXA
PEXA
®
Engine
Understand the business, refine it, and run the modelsPEXA Approach
Business Analysis Tool
Refinement Tool
transform
Runtime Interpreter
(human
task)
PEXA
®
Works
Transformation Tool
9
Subject of today’s talk
Generated table
Business Analysis
Market Organization executes business operations
Materials
Planning/
Manufacturing
(value creation)
Products &
Services
Products/Services
Plan &
Manufacture
€ €
€
€
Procurement Sales
Equipment
People
: business operation
Each business operation exists for the business continuity.
Customer
Materials
Equipment
People Provide
Deliver
Provide
10
Finance
Business operations
●Business operations change the state of “something*,” which are important
elements of the business.
●Main elements of business defined by PEXA methodology:
○Something that need to be managed and has states, is called CORE (or business object),
and
○Actions that need to be done, and may affect the changes of above states, is called
EVENT.
●Business management needs to:
○Keep track of COREs and their states
○Keep track of EVENTs that have changed COREs’state
11
Business operations and managed COREs
Market Organization executes business operations
Materials
Planning/
Manufacturing
(value creation)
Products &
Services
Products/Services
Plan &
Manufacture
€ €
€
€
Procurement Sales
Equipment
People
Business operations may affect relevant COREs with
associated EVENTs.
Customer
Materials
Equipment
People Provide
Deliver
Provide
12
Finance
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORECORE
CORE
Bird-eye view (overview) diagram elements
Purple Box: CORE
Orange Box: EVENT
Yellow Note: CONDITION
Relationship between CORE and EVENT
Red Arrow: Refer Relation (EVENT to CORE)
The EVENT will refer the state of CORE
The CONDITION specifies pre-condition of the CORE
Blue Arrow: Update Relation (CORE to EVENT)
The CORE state was updated by the EVENT
The CONDITION specifies post-condition of the CORE
Black Arrow: Create Relation (CORE to EVENT)
The CORE was created by the EVENT
The CONDITION specifies the state of CORE
13
Box type
Line type
[ dotted arrow: UML dependency ]
Sample overview diagram
14
May look complicated, but the diagram just consists of many simple diagram elements.
15EC展開 EC展開_条件 EC参照 EC参照_条件 EC更新 EC更新_条件
受付 ● active
B未実施
C未実施
taskC実施2 ● active
C未実施
● C未実施→C済
taskB実施 ● active
B未実施
● B未実施→B済
taskA実施 ● active
B済
C済
● active→closed
受付 ● active
taskB実施 ● active ● active→closed
受付 ● active
C1未実施
taskC実施1 ● active
C1未実施
● C1未実施→C1済
taskC実施2 ● active
C1済
● active→closed
C1済→C2済
未収登録 ● inactive
未督促
追加算定未確認
延滞加算算定 ● inactive
未督促
追加算定未確認
● 追加算定未確認→追加金算定済
督促 ● inactive
未督促
● inactive→active
未督促→督促済
未収入金確認 ● active
督促済
● active→closed
督促済→入金済
貸倒 ● active
督促済
● active→closed
督促済→貸倒
枠定例検討 ● active
枠登録 ● active ● active→closed
残数確認 ● active
*発注が必要な場
合
発注起案 ● active
発注 ● active
決裁済
● 決裁済→発注済
注文作成 ● active
未決裁
● 未決裁→稟議中
task発注決裁確認 ● acitve
未決裁
● 未決裁→決裁済/却下
却下の場合
active→closed
入荷・検収 ● active
発注済
● active→closed
発注済→検収済
タスク系_枠登録
タスク系_発注
タスク系_B
タスク系_C
タスク系_未収管理
EC展開 EC参照 EC更新
タスク系_A
関連コア コア概要 関連イベント イベント実行者 イベント概要
CORE
business
object
EVENTs or a list of
possible Actions during
CORE’s lifecycle
EVENT/CORE
Relation
CORE-EVENT table generated from Overview diagram
CORE EVENT(s) CONDITION
CORE-EVENT table is used when reviewing
the requirements with customers.
EC参照 EC参照_条件 EC更新 EC更新_条件 EC展開 EC展開_条件
管理簿系_A実施記録簿 ● active
unfixed
● unfixed→fixed
枠管理系 ● active
occupied
● active→closed
occupied→used/unused
残高管理系_引当物品 ● active ● closed
タスク系_A ● active
B済
C済
● active→closed
債権管理系 ● active
未請求
枠管理系 ● active
fixed
● fixed→occupied
タスク系_A ● active
B未実施
● B未実施→B済
タスク系_B ● active ● active→closed
taskC実施1 タスク系_C ● active
C1未実施
● C1未実施→C1済
タスク系_C ● active
C1済
● active→closed
C1済→C2済
残高管理系_引当可能残 ● active
引当可能
● 以降引当できなくなる場合
active→inactive
管理簿系_管理簿B ● active
unfixed
● unfixed→fixed
タスク系_A ● active
C未実施
● C未実施→C済
残高管理系_引当物品 ● active
タスク系_発注 ● acitve
未決裁
● 未決裁→決裁済/却下
却下の場合
active→closed
タスク系_発注決裁 ● active
稟議済
● active→closed
稟議済→確認済
債務管理系_発注支払 ● inactive
決裁済
task発注稟議決裁 タスク系_発注決裁 ● active
稟議中
● 全稟議が終了した場合
稟議中→稟議済
アカウント廃棄 残高管理系_引当可能残 ● active ● active→closed
キャンセル解放 枠管理系 ● active
occupied
● occupied→fixed
不使用閉鎖 枠管理系 ● active
fixed/unfixed
● active→closed
fixed/unfixed→nonused
事業企画決定登録 事業規定系 ● active
fixed/unfixed
task発注決裁確認
taskA実施
taskB実施
taskC実施2
EC参照 EC更新 EC展開
イベント イベント実行者 行う内容 関連コア a list of COREs affected
by the EVENT
EVENT/CORE
Relation
Action
EVENT-CORE table generated from Overview diagram
CORE(s)EVENT CONDITION
16
EVENT-CORE tables are the most important outcome of
business analysis.
Eclipse Sirius* applied
17
*: ObeoDesigner Community 10.1 was used for development, and
the .odesignfile was also tested against OD Community 11.1.
Expected Sirius-based tool for business analysis
●The tool should
a.either be an eclipse plugin or a stand-alone application, providing graphical DSL
editor for PEXA CORE/EVENT diagrams, without any dependencies on external
commercial tools and libraries,
b.implement as much functionality [provided by the existing tool] as possible.
c.demonstrate what can be achieved without including any Java code, and
d.allow users to use our local characters (Japanese).
18
Approach
●Steps
a.Extract/define an ecoremodel for PEXA CORE/EVENT model
b.Create .odesignfile to approximately match the original diagramming capability
c.Check to see if the editor works properly under Japanese language environment
d.Modify .odesignfile to generate required tables
e.Build a stand-alone application
19
Approach: Extract/define an ecoremodel
20
Starting Point!
Approach: Extract/define an ecoremodel
●Typical “Nodes and Links (or Lines and Boxes)” diagram
○Node type: CORE, EVENT, and CONDITION
○Link type: CORE to EVENT(two types), EVENT to CORE(one type with three sub-
types), CONDITION to Link(one type)
21
Approach: Extract/define an ecoremodel
22
Approach: Create a .odesignfile
Node
Link
Added after Default is complete
23
Approach: Local character support (UTF-8)
24
Depends on Sirius’ UTF-8 support
Approach: Building a product
Features-based product build
25
Results
26
Result: Tool with basic diagram screenshot
27
Demo
Generated tables (exported csv file after sorting)
29
EVENT-CORE
CORE-EVENT
Observations
●Tool users need to adapt to Eclipse Sirius’s look and feel.
●Requested but not implemented features
○[Usability] Create multiple links at once by selecting multiple COREs and EVENTs
and applying one insert link palette command.
○[Table formatting] Add formatting capability to generated table including lines and
fonts.
○[Platform integration] Add context menu to model elements within Project Explorer,
so that users can navigate to a model element in a diagram (e.g. “Go to the
diagram element”).
30
Cloud or
on-premise
Observations
●Possible future work
A)Develop Business Analysis Model to Business Scenario template model
transformation (currently human task)
B)Apply Sirius and Xtext to Business Scenario tool (Xtext part started)
Current Business Scenario model is an extended UML Activity model.
C)Bring the tool chain to the cloud or on-premise server (Theia/Sprotty/GSP etc.)
31
A) transformation B) Sirius/Xtext
C) Model editors in the Cloud
transform
Business Analysis
(Bird-eye view)
Refined business objects
(Business Scenario)
Model editor
Model editor
Summary
●Sirius applied to a RAD tool (PEXA analysis tool) successfully
○Eclipse Sirius-based solution
●Achieved about 80% of existing tool’s functionality, without writing any Java
code
●Reasonable Language (Japanese) support was provided by Sirius’ UTF-8
support.
●Your feedback would be very appreciated, and we thank Obeoand Sirius
community members for making this excellent open source tool, Sirius,
available!
32
Please wait a few seconds before we
automatically bring you to the next session
(Integrating Sirius, Xtextand EMF Compare
to Design Simulators of Complex Physical Phenomena)
If you want to keep talking with the speakers of actual talk,
you will have to come back to this session.
Thankyoufor listeningto (Akira Tanaka|view5 LLC)
Anyquestions?
33
Backup
34
RAD tool
●According to Wikipedia (https://en.wikipedia.org/wiki/Rapid_application_development)
○“Rapid-application development (RAD) is both a general term, used to refer to
adaptive software development approaches, as well as the name for James
Martin's approach to rapid development. …”
○“RAD is especially well suited for (although not limited to) developing software that
is driven by user interface requirements. Graphical user interface builders are
often called rapid application development tools. …”
●RAD tool users usually provide specifications (or models), written at higher
level of abstraction, to specify and/or run the system.
○MDD or MDxx(model-driven xx) tools may be categorized as RAD tool.
35
Problems to be tackled under Business Analysis
●Target Domain = Enterprise Core Applications
○Function as “tools“ for creating, updating and sharing application data
○Deal with more than single application domain, such as inventory management or accounting
○Cover all the application data created in business operations
○Enable integration of business data and generation of business reporting
●To design Enterprise Core Application Systems
○Developers need to understand more than single business operation (e.g. accounting)
○Development strategy only for single business operation usually does not work
●Need for method and tool for understanding and specifying big picture or bird-eye view of
target business
○PEXA method and PEXA tool
36