Weitere ähnliche Inhalte Mehr von Dr. Jan Köhnlein (20) Kürzlich hochgeladen (20) Eclipse Modeling Overview3. What is the ?
eclipse
modeling PROJECT
Everything you need
for modeling!
9. eclipse
in Numbers
modeling PROJECT
10. eclipse
in Numbers
modeling PROJECT
• First components started in 2003
11. eclipse
in Numbers
modeling PROJECT
• First components started in 2003
• Currently
12. eclipse
in Numbers
modeling PROJECT
• First components started in 2003
• Currently
• 75 committers and contributors
13. eclipse
in Numbers
modeling PROJECT
• First components started in 2003
• Currently
• 75 committers and contributors
• from 15 companies + individuals
14. eclipse
in Numbers
modeling PROJECT
• First components started in 2003
• Currently
• 75 committers and contributors
• from 15 companies + individuals
• 9 subprojects
15. eclipse
in Numbers
modeling PROJECT
• First components started in 2003
• Currently
• 75 committers and contributors
• from 15 companies + individuals
• 9 subprojects
• 25 components
16. eclipse
in Numbers
modeling PROJECT
• First components started in 2003
• Currently
• 75 committers and contributors
• from 15 companies + individuals
• 9 subprojects
• 25 components
• Around 14000 bug reports
17. eclipse
in Numbers
modeling PROJECT
• First components started in 2003
• Currently
• 75 committers and contributors
• from 15 companies + individuals
• 9 subprojects
• 25 components
• Around 14000 bug reports
• 297022 commits in 2008 (>114000 in 2009)
20. ATL
MOFScript GMT GMF
OMCW IMM
UMLX
QVTD MST VIATRA2
TCS BPMN2
Xtext JET Epsilon AMW MWE
OCL
EMF
CDO
QVTO Teneo GEMS
TMF
SBVR Mint M2M
Net4j Compare EMF4Net M2T
Validation
UML2 Tools MDT MoDisco
Papyrus EMF Core
Search Ecore Tools Temporarility
Xpand
EMF Query
EMF EMFatic EMFT
UML2 Transaction JCR
Acceleo SDO XSD Amalgam Management
25. EMF EMFT
M2M
EMP
Amalgam
26. EMF EMFT
M2M
EMP
Amalgam
TMF
27. EMF EMFT
M2M
EMP
Amalgam
TMF
GMF
28. EMF EMFT
M2M
EMP
Amalgam
M2T
TMF
GMF
29. EMF EMFT
M2M
EMP
GMT Amalgam
M2T
TMF
GMF
30. EMF EMFT
MDT
M2M
EMP
GMT Amalgam
M2T
TMF
GMF
35. Validation
EMF Core
Model
Transaction
EMF
Model
Query
36. Validation
EMF Core
Model
Transaction
EMF
Teneo
Model
Query
37. Validation
EMF Core
Model
Transaction
EMF
Teneo
Model
CDO
Query
38. Validation
EMF Core
Model
Transaction
EMF
Teneo
Model
CDO
Query
Net4j
39. Validation
EMF Core
Model
Transaction
SDO
EMF
Teneo
Model
CDO
Query
Net4j
44. EMFatic
EMFT
EMF4Net
Mint
Search
45. Compare EMFatic
EMFT
EMF4Net
Mint
Search
48. JCR
Ecore Tools
Management
Compare EMFatic
EMFT
EMF4Net
Mint
MWE
Search
49. JCR
Ecore Tools
Management
Compare EMFatic
EMFT
EMF4Net
Temporarility
Mint
MWE
Search
53. UML2
MDT
OCL
UML2 Tools
54. UML2
Papyrus
MDT
OCL
UML2 Tools
57. UML2 IMM
BPMN2
Papyrus
MST
MDT
OCL
UML2 Tools
58. UML2 IMM
BPMN2
Papyrus
MST
MDT
OCL
UML2 Tools XSD
59. UML2 IMM
BPMN2
Papyrus
MST
MDT
OCL
UML2 Tools XSD
SBVR
79. AMW
Epsilon AM3
GMT
TCS
GEMS
MoDisco OMCW
MOFScript
80. UMLX
AMW
Epsilon AM3
GMT
TCS
GEMS
MoDisco OMCW
MOFScript
81. UMLX
AMW
VIATRA2
Epsilon AM3
GMT
TCS
GEMS
MoDisco OMCW
MOFScript
84. XMI
SysML
UML
OMG
MTL
Standards
MDA
OCL BPMN
85. Papyrus EMF Core
XMI
SysML
UML2
UML
UML2 Tools
OMG Acceleo
IMM
MTL
MST
Standards
QVTD SBVR
MDA
OCL
OCL
QVTO BPMN
BPMN2
89. Domain Models
• Ecore -> Java code generator
• Referential integrity
• Change notification
• Small footprint
• Efficient reflection
• Command framework
• Change recorder
90. Domain Models
• JET
Ecore -> Java code generator
• Referential integrity
• Change notification
• Small footprint
• Efficient reflection
• Command framework
• Change recorder
91. Domain Models
• JET
Ecore -> Java code generator
• Referential integrity
• Change notification
• Small footprint EMF Core
• Efficient reflection
• Command framework
• Change recorder
96. Persistence
• RESTful EMF Core
• XMI / XML serialization
• Database persistence
• Distributed shared models
97. Persistence
• RESTful EMF Core
• XMI / XML serialization
• Database persistence Teneo
• Distributed shared models
98. Persistence
• RESTful EMF Core
• XMI / XML serialization
• Database persistence Teneo
• Distributed shared models CDO
99. XMI
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<MyDomain:Person xmi:version=quot;2.0quot;
xmlns:xmi=quot;http://www.omg.org/XMIquot;
xmlns:MyDomain=quot;http://www.itemis.de/myDomain/1.0quot;
givenName=quot;Svenquot;
surName=quot;Efftingequot;>
<addresses street=quot;Schauenburgerstra§e 119quot;
city=quot;Kielquot;
postalCode=quot;24118quot;/>
<phones countryCode=quot;49quot;
number=quot;122344545quot;/>
</MyDomain:Person>
105. UI Extensions
• Search Search
• Development support Mint
• Diff / Merge Compare
• Ecore editing EMFatic
Ecore Tools
107. Extensions
EMF
Transaction
• Transactions
• Validation
• Query
• Target platforms
108. Extensions
EMF
Transaction
• Transactions
Validation
• Validation
• Query
• Target platforms
109. Extensions
EMF
Transaction
• Transactions
Validation
• Validation
• Query EMF Query
• Target platforms
110. Extensions
EMF
Transaction
• Transactions
Validation
• Validation
• Query EMF Query
• Target platforms SDO
111. Extensions
EMF
Transaction
• Transactions
Validation
• Validation
• Query EMF Query
• Target platforms SDO
EMF4Net
114. @Entity
public class Customer implements Serializable {
private Long id;
private String name;
private Collection<Order> orders = new HashSet<Order>();
private Set<PhoneNumber> phones = new HashSet<PhoneNumber>();
// No-arg constructor
public Customer() {}
@Id // property access is used
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@OneToMany
public Collection<Order> getOrders() {
return orders;
}
public void setOrders(Collection<Order> orders) {
this.orders = orders;
}
@ManyToMany
public Set<PhoneNumber> getPhones() {
return phones;
}
public void setPhones(Set<PhoneNumber> phones) {
this.phones = phones;
}
}
115. @Entity
public class Customer implements Serializable {
private Long id;
private String name;
private Collection<Order> orders = new HashSet<Order>();
private Set<PhoneNumber> phones = new HashSet<PhoneNumber>();
// No-arg constructor
public Customer() {}
@Id // property access is used
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
entity Customer { public String getName() {
String name return name;
}
Order[] orders public void setName(String name) {
PhoneNumber[] phones this.name = name;
}
} @OneToMany
public Collection<Order> getOrders() {
return orders;
}
public void setOrders(Collection<Order> orders) {
this.orders = orders;
}
@ManyToMany
public Set<PhoneNumber> getPhones() {
return phones;
}
public void setPhones(Set<PhoneNumber> phones) {
this.phones = phones;
}
}
120. DSL: Language Definition
• Abstract Syntax EMF Core
• Concrete Syntax
• Textual Xtext
TCS
• Graphical
• Structural
121. DSL: Language Definition
• Abstract Syntax EMF Core
• Concrete Syntax
• Textual Xtext
TCS
• Graphical GMF
• Structural
122. DSL: Language Definition
• Abstract Syntax EMF Core
• Concrete Syntax
• Textual Xtext
TCS
• Graphical GMF
• Structural EMF Core
125. DSL: Modeling IDE
• Model Editors
• Structral EMF Core
• Textual Xtext
• Graphical
• Query
126. DSL: Modeling IDE
• Model Editors
• Structral EMF Core
TCS • Textual Xtext
• Graphical
• Query
127. DSL: Modeling IDE
• Model Editors
• Structral EMF Core
TCS • Textual Xtext
• Graphical GMF
• Query
128. DSL: Modeling IDE
• Model Editors
• Structral EMF Core
TCS • Textual Xtext
• Graphical GMF
• Query
EMF Query
130. DSL: Execution
Validation
• Validation
• Code generation
• Interpretation
131. DSL: Execution
Validation
• Validation
• Code generation JET
• Interpretation
132. DSL: Execution
Validation
• Validation
Acceleo
• Code generation
JET
• Interpretation
133. DSL: Execution
Validation
• Validation
Acceleo
• Code generation
Xpand JET
• Interpretation
134. DSL: Execution
Validation
• Validation
Acceleo
• Code generation
Xpand JET
• Interpretation
EMF Core
136. DSL: Transformation
XSD
• Model import
• Model-to-model transformation
• Tool orchestration
137. DSL: Transformation
XSD
• Model import
ATL
• Model-to-model transformation
• Tool orchestration
138. DSL: Transformation
XSD
• Model import
ATL Xpand
• Model-to-model transformation
• Tool orchestration
139. DSL: Transformation
XSD
• Model import
ATL Xpand
• Model-to-model transformation QVTD
• Tool orchestration
140. DSL: Transformation
XSD
• Model import
ATL Xpand
• Model-to-model transformation QVTD
• QVTO
Tool orchestration
141. DSL: Transformation
XSD
• Model import
ATL Xpand
• Model-to-model transformation QVTD
• QVTO
Tool orchestration
MWE