modellgetriebene softwareentwicklung - uni-goettingen.de · 2018. 3. 26. · modellgetriebene...
Post on 03-Feb-2021
0 Views
Preview:
TRANSCRIPT
-
Modellgetriebene Softwareentwicklung
und Modelltransformationen in der
Praxis
Prof. Dr. Jens Grabowski
M.Sc. Benjamin Zeiss
sit20092 sit20092
� Vorstellung Gruppe Softwaretechnik für Verteilte Systeme
� Grundlagen Modellierung und Modelltransformationen
� Technologien für Modellgetriebene Softwareentwicklung
� Modelltransformationen in der SWE Gruppe
� EMF/Openarchitectureware Demo
� Zusammenfassung
Inhalt
-
sit20093 sit20093
� Wissenschaftliches Personal:Prof. Dr. Jens Grabowski [Prof.Dr.Helmut Neukirchen (bis10.08)]Dipl.-Inf. Edith Werner M.Sc. Wafi DahmanM.Sc. Benjamin Zeiß M.Sc. Akthar Ali JalbaniM.Sc. Thomas Rings M.Sc. Philip MakedonskiM.Sc. Steffen Herbold
� Studentische Hilfskräfte:Alexander Möller, Christian Otto
� Laufende Projekt-, Bachelor- und Masterarbeiten:laufend ca. 4-8 Studierende (zur Zeit 7 Studierende)
� Unterstützt von:Annette Kadziora Dipl.-Ing. (FH) Gunnar Krull
� Web:http://www.swe.informatik.uni-goettingen.de
Die Gruppe
sit20094 sit20094
Testmethodik• Testpatterns• Testmethodik fürTTCN-3 & UTP
• QS für Tests• Grid-Testen
Entwicklungsmethodik• Agile Software Entwicklung• UML-basierte Web Service Entwicklung
AutomatischeGenerierungvon Testfällen
Was machen wir?
Qualitätssicherung (QS)
TestenQS für UML• Metriken, Refactoring, Smells
Sprachen für dieTestbeschreibung• TTCN-3• UML Testprofil (UTP)
Lernverfahrenin der QS• Reverse-Engineering ausTraces (Tests)
• Bewertung von Metriken• Bewertung von Prozessen
-
sit20095 sit20095
Grundlagen Modellierung und
Modelltransformationen
sit20096 sit20096
Was ist ein Modell?
[http
://w
ww
.due
ssel
dorf
-blo
g.de
/200
6/11
/16/
hier
-tra
elle
rt-h
eidi
-klu
m-ih
r-er
stes
-lied
-won
derla
nd/]
[http
://w
ww
.ern
est-
stol
z.de
/mod
el.h
tm]
-
sit20097 sit20097
Abstraktion 1(1)
Abstraktion 1
Abstraktion 2
Abstraktion 3
[http
://w
ww
.due
ssel
dorf
-blo
g.de
/200
6/11
/16/
hier
-tra
elle
rt-h
eidi
-klu
m-ih
r-er
stes
-lied
-won
derla
nd/]
„Frau“
„fraulicheAttribute“
„clevererMensch“
sit20098 sit20098
Abstraktion 2(2)
[http://www.ibm.com/developerworks/rational/library/3100.html]
-
sit20099 sit20099
Modellierungssprachen
Nassi-Shneiderman-Diagramme
Petri Netze
Specification and DescriptionLanguage (SDL)
ID Part StandardPart Search
UsePartRequirement
ProvideRequired
Part
[part found]
[part notfound]
Design Part
DesignEngineer
StandardsEngineer
[part provided]
[else]
selectAmount
enterAmount
ok
abort
otherAmount
amount
abort
ReadAmountSM
aborted
Customer
Supervisor
Salesperson
Establish Credit
Telephone Catalog
Shipping Clerk
Check Status
Place Order
Fill Orders
sd N
s[u]:B s[k]:B
m3()
m3()
Product
Customer
Organization
Service
OrderHeader
LineItem
Account
*
order
item
1
ShoppingCart
1
1
productItem
product
serviceItem
service1
1
client
client
customerOrder
organizationOrder
cart
cartOrder
accountOrder
account
11..*
1..*1
1
0..1
0..*
1
{xor}
{xor}
Unified Modeling Language (UML)
sit200910 sit200910
Model-Driven-Architecture (MDA) 1(3)
� Modellgetriebener Softwareentwicklungsansatz
� mit klarer Trennung von Funktionalität und Technik
� Entwickelt von der Object Management Group (OMG) als Strategie insbesonderezur Softwareentwicklung mitden von OMG entwickeltenTechnologien
[http://www.omg.org/mda/]
-
sit200911 sit200911
Model Driven Architecture (MDA) 2(3)
PlatformIndependantModel (PIM)
Transformations
PlatformSpecific
Model (PSM)
Transformations
SystemCode
Transformations
ComputationalIndependantModel (CIM)
Refinement
Refinement
Refinement
Platform Model
sit200912 sit200912
UML
Model Driven Architecture (MDA) 3(3)
ComputationalIndependantModel (CIM)
PlatformIndependantModel (PIM)
PlatformSpecific
Model (PSM)
SystemCode
Transformations
Transformations
Transformations
Refinement
Refinement
Refinement
Platform Model
Domänenmodell
Analysemodell,(Grob-)Entwurf
Entwurfsmodell &Konfiguration &Verteilung
Use Case-, Aktivitäts- undKlassen-Diagramme
Interaction-, Klassen- undState-Machine-Diagramme
Interaction-, State-Chart-,Klassen-, Package-,Komponenten- und Deployment-Diagramme
-
sit200913 sit200913
Technologien für Modellgetriebene Softwareentwicklung
sit200914 sit200914
� Modellierungssprachen
� UML
� Ecore
� Transformationssprachen
� M2M: QVT, ATL, Xtend
� M2T: XPand, Acceleo
� T2M: Xtext
� Plattformen für Modellgetriebene Softwareentwicklung
� AndroMDA
� Openarchitectureware
� Kein Anspruch auf Vollständigkeit!
Modellgetriebene Softwareentwicklung:
Technologien
-
sit200915 sit200915
� Modellierungssprache für Software und Systeme
� Entwickelt von der Object Management Group (OMG)
� ISO/IEC 19501 Standard
� 13 Diagramme für graphische Notation, darunter
� Klassendiagramm, Sequenzdiagramm, Zustandsmaschine, etc.
� Wichtige Standards:
� Meta Object Facility (MOF) 2.0 Core Specification
� UML 2.0 Infrastructure Specification
� UML 2.0 Superstructure Specification
� UML 2.0 Object Constraint Language
� UML 2.0 Diagram Data Interchange
Unified Modeling Language
(UML)
sit200916 sit200916
Unified Modeling Language
Architektur
M3MOF (Meta-metamodell)
M2UML Metamodell
M1Benutzermodell
M0Instanzen des Benutzermodells (Objekte)
-
sit200917 sit200917
� Teil des Eclipse Modeling Frameworks (EMF)
� Ecore ist Metamodellierungssprache
� Ecore ist wie MOF ein Meta-metamodell
� Kompatibel mit Essential MOF (EMOF) des OMG Standards
� Reduziert in Umfang/Komplexität gegenüber MOF
� Kein weiteres Metamodell wie UML
� Spielt v.a. in Eclipse-Welt eine Rolle
Ecore
als Metamodellierungssprache
sit200918 sit200918
� Modell-zu-Modell Transformationen (M2M)� QVT
� ATL
� Xtend
� …
� Modell-zu-Text Transformationen (M2T)� Xpand
� Acceleo
� JET
� Text-zu-Modell Transformationen (T2M)� Xtext
� TextUML
Transformationssprachen
-
sit200919 sit200919
� QVT = Query / View / Transformation
� Standard für Modelltransformationen von der OMG
� Quell –und Zielmodelle der Transformation sind MOF-konforme Metamodelle
� QVT Syntax selbst ist auch in MOF 2.0 beschrieben
� 3 Sprachen:
� QVT/Relations (deklarativ, textuelle und graphische Syntax)
� QVT/Core (deklarativ)
� QVT/Operational (imperativ, erweitert QVT/Relations und QVT/Core)
� QVT/BlackBox für Transformationen in fremden Sprachen (XQuery, XSLT)
M2M: QVT
sit200920 sit200920
� Teil von oAW / Eclipse Modeling Project
� Benutzt (zusammen mit anderen oAW Sprachen) gemeinsame Sprachgrundlage, die Expression Language (ähnlich Prädikatenlogik)
� Erweiterung um zusätzliche Logik bestehender Metamodelltypen
� Extensions: nicht-invasive Erweiterung von Metamodellen
� Xtend Erweiterungen können in Sprachen der oAW Familie aufgerufen werden: Check, XPand
� Create Extension: Transformation von Modellen
M2M: Xtend
-
sit200921 sit200921
� Templatesprache für Codegenerierung
� Sprachunabhängig, Generierung für beliebige Ziele
M2T: XPand
«IMPORT meta::model»«EXTENSION my::ExtensionFile»
«DEFINE javaClass FOR Entity»«FILE fileName()»
package «javaPackage()»;
public class «name» { // implementation
} «ENDFILE»
«ENDDEFINE»
sit200922 sit200922
� Implementierung des OMG MOF Models to Text Transformation Language Standards
� Benutzt OCL für Navigation und Query
� Relativ neu, wird wohl in Eclipse 3.5 einsatzfähig sein
M2T: Acceleo (früher: MTL)
-
sit200923 sit200923
� Framework für die Erstellung textueller domänen-spezifischer Sprachen
� Beschreibung einer DSL in EBNF Grammatik
� Generierung von:
� Parser
� AST-Meta Model mittels Ecore
� Eclipse Text Editor mit Syntaxprüfung, Outline, Auto-Vervollständigung usw.
� Artefakte in Xtext = Modelle
T2M: Xtext
sit200924 sit200924
� Vorgestellt:
� AndroMDA
� Eclipse Modeling Project
� Openarchitectureware
� Andere:
� Telelogic Rhapsody (Kommerziell)
� Topcased (Open Source)
� Borland Together Architect (Kommerziell)
� …
Plattformen für Modellgetriebene
Entwicklung
-
sit200925 sit200925
� Open-Source MDSD/MDA Generatorframework
� Transformation von UML Modellen in Code
� Unterstützung von allen wichtigen UML Tools
� Z.B. Magicdraw, Poseidon, Enterprise Architect
� Modellvalidierung über OCL
� Modell-zu-Modell Transformationen in Java, bald ATL
� Modell-zu-Text über Template-Systeme wie Velocity oder Freemarker
� Viele fertige Cartridges
� Java, Spring, EJB, .NET, Hibernate, Struts, usw.
AndroMDA
sit200926 sit200926
� Eclipse Modeling Framework (EMF)� EMF Core, Model Query, Validation, etc.
� Generative Modeling Technologies (GMT)� Epsilon, MOFScript, etc.
� Graphical Modeling Framework (GMF)
� Model-to-Model Transformation (M2M)� ATL, Procedural QVT, Declarative QVT, XTend
� Model to Text (M2T)� JET, Acceleo. Xpand
� Model Development Tools� OCL, Papyrus, UML2, UML Tools, etc.
� Viele andere Modellierungsprojekte!
Eclipse Modeling Project
-
sit200927 sit200927
� Open-Source Plattform für modellgetriebene Softwareentwicklung
� Eigene Transformationssprachen
� Grosse Community
� In Eclipse 3.5 Teil der Galileo Distribution
Openarchitectureware
sit200928 sit200928
Modelltransformationen in der SWE Gruppe
-
sit200929 sit200929
Modelltransformationen
in der SWE Gruppe
ComputationalIndependantModel (CIM)
PlatformIndependantModel (PIM)
PlatformSpecific
Model (PSM)
SystemCode
Transformations
Transformations
Transformations
Refinement
Refinement
Refinement
Platform Model
„UML-basierte Entwicklungvon Web-Services“
(Wafi Dahman)
Refactoring vonUML-Modellen, „QualityEngineering for UML“
(Akhtar Ali Jalbani,Lukas Schubert)
„Transformation vonUML nach TTCN-3“(Dennis Neumann)
sit200930 sit200930
� Thomas Stahl, Markus Völter, Sven Efftige, Arno Haase:Modellgetriebene Softwareentwicklung. dpunkt verlag.
� Volker Gruhn, Daniel Pieper, Carsten Röttgers: MDA. Springer.
� David Steinberg, Frank Budinsky, MarceloPaternostro, Ed Merks: EMF EclipseModeling Framework 2nd Edition. Addison-Wesley.
� Richard C. Gronback: Eclipse ModelingProject: A Domain-Specific Language(DSL) Toolkit. Addison-Wesley.
� (Fast) alle in der Studenten-Bibliothek!
Literatur
-
sit200931 sit200931
� Einfaches Beispiel
� Definition eines Metamodelles für ein Transitionssystem mit Markierungen (LTS) in UML
� Transformation des UML Metamodelles in ein EcoreMetamodell mittels eines fertigen Xtend Cartridges
� Erzeugung einer Modellinstanz mit EMF
� Modell-zu-Text nach Graphviz DOT (mit XPand)
� Testfallgenerierung für TTCN-3 aus Modellen
� Definition in strikterem UML Testing Profile (UTP)
� Transformation UML-SWETest-TTCN-3
Demo
sit200932 sit200932
� Modellierung Grundlagen
� Abstraktion
� Modellierungssprachen
� MDA
� Technologien
� M2M,M2T,T2M
� UML, EMF, Openarchitectureware, etc.
� Beispiele
Zusammenfassung
-
sit200933 sit200933
� www.swe.informatik.uni-goettingen.de
Fragen?
top related