III. Software Factories 30. Integration of Tools, Exchange Formats,...

53
Model-Driven Software Development in Technical Spaces (MOST) © Prof. U. Aßmann Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie III. Software Factories 30. Integration of Tools, Exchange Formats, Language Mappings, and Integrated Development Environments Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de Version 15-0.7, 08.01.16 1) Software Factories 2) Data Integration 3) Exchange Formats 4) Appendix 1) ECMA-Referenzmodell 2) Frameworks zur Werkzeug- integration (PCTE)

Transcript of III. Software Factories 30. Integration of Tools, Exchange Formats,...

Page 1: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

Model-Driven Software Development in Technical Spaces (MOST) © Prof. U. Aßmann

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie

III. Software Factories

30. Integration of Tools, Exchange Formats, LanguageMappings, and Integrated Development Environments

Prof. Dr. Uwe Aßmann

Technische Universität Dresden

Institut für Software- undMultimediatechnik

http://st.inf.tu-dresden.de

Version 15-0.7, 08.01.16

1) Software Factories

2) Data Integration

3) Exchange Formats

4) Appendix1) ECMA-Referenzmodell

2) Frameworks zur Werkzeug- integration (PCTE)

Page 2: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

2 Model-Driven Software Development in Technical Spaces (MOST)

References

► ECMA, Reference Model for Frameworks of Software Engineering Environments,Technical Report 55, 3rd Edition, Juni 1993

– http://www.ecma-international.org/publications/fles/ECMA-TR/TR-055.pdf

► Richard C. Holt, Andreas Schürr, Susan Elliot Sim, and Andreas Winter. GXL: A graph-based standard exchange format for reengineering. Science of ComputerProgramming, 60(2):149-170, April 2006.

– http://www.gupro.de/GXL/Publications/publications.html

Page 3: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

3 Model-Driven Software Development in Technical Spaces (MOST)

The Book of the MOST Project (2008-11)

Page 4: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

Model-Driven Software Development in Technical Spaces (MOST) © Prof. U. Aßmann

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie

30.1 Software Factories with HeterogeneousRepositories

Page 5: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

5 Model-Driven Software Development in Technical Spaces (MOST)

Q13: A Software Factory's Heart: the Multi-TS Megamodel

Mega- and MacromodelsMega- and Macromodels

Method EngineeringMethod Engineering

Model ManagementMapping, Transf., Composition

Model ManagementMapping, Transf., Composition

Technical Space Bridges

Technical Space Bridges

Technical SpaceTechnical Space

Pattern Languages

Pattern Languages

Model AnalysisQuerying, Interpretation

Model AnalysisQuerying, Interpretation

Metapyramid (Metahierarchy) for Token ModelingMetapyramid (Metahierarchy) for Token Modeling

Software Factory

HeterogeneousMulti-repository Megamodel

Mega- and MacromodelsMega- and Macromodels

Method EngineeringMethod Engineering

Model ManagementMapping, Transf., Composition

Model ManagementMapping, Transf., Composition

Technical Space Bridges

Technical Space Bridges

Technical SpaceTechnical Space

Pattern Languages

Pattern Languages

Model AnalysisQuerying, Interpretation

Model AnalysisQuerying, Interpretation

Metapyramid (Metahierarchy) for Token ModelingMetapyramid (Metahierarchy) for Token Modeling

Page 6: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

6 Model-Driven Software Development in Technical Spaces (MOST)

Software Factories

► A software factory is a modeling environment for the production of software productlines.

■ The software factory maintains a set of repositories for models in differentlanguages and connects them to one macromodel:

■ Mono-repository: all models of the megamodel in one repository, requiringone technical space

■ Multi-repository: models in different repositories■ Heterogeneous multi-repository: models in different repositories, with

many technical spaces

► Software factories are big integrated MDSD environments coupling many tools andmaterials

■ A pure software factory creates software with software. Example: UML tool, SysML tool

■ A systems software factory creates a system in soft- and hardware (withsoftware)

. Example: PreeVision, ASCET, Cadence Silicon Compiler

► Often, multi-repository software factories result from data connection of alreadyexisting tools (tool integration)

Page 7: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

Model-Driven Software Development in Technical Spaces (MOST) © Prof. U. Aßmann

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie

30.1.1 Concepts of Tool Integration for SoftwareFactories

Page 8: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

8 Model-Driven Software Development in Technical Spaces (MOST)

Integration of Tool Suites

Tool Suite 1 Tool Suite 2

Tool Suite 3 Tool Suite 4

Document type set 1 (D 1)

Document type set 2 (D 2)

Document type set 3 (D 3)

Document type set 4 (D 4)

Quelle : [ ES89, 6, S. 11 ]

Page 9: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

9 Model-Driven Software Development in Technical Spaces (MOST)

Tool Integration in 4 Dimensions

Process Integration

ControlIntegration

User Interface- Integration

MDSD Tool Chain

Data Integration

Data exchange

Dataconnection

Datasharing

Embedding into a workflow (e.g., of a toolautomaton)

Integration into adefined softwaredevelopment process

Quelle: [ Balzert-II 3, S. 605 ]

Page 10: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

Model-Driven Software Development in Technical Spaces (MOST) © Prof. U. Aßmann

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie

30.2 Data Integration

Page 11: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

11 Model-Driven Software Development in Technical Spaces (MOST)

Levels of Data Integration

Integration Kind Schema Characteristics

Black-box-Integration

(weak)

Grey-box-Integration(medium)

White-box-Integration

Data sharing(strong)

CASEtool

Repo-sitoryDateien

check out

CASEtool

CASEtool

Daten Daten

check in

CASEtool

CASEtool

Daten-schema

Daten

...

● Too works isolated on own data ● Repositoriy coordinates data with

check in and check outl

● Separate repositoriy, but common accessinterfaces

● Access layer to repositories

● Definition of uniform data schema (materialmetamodels) for all tools

● Integration of data schemata of tools by● Role-based integration● Inheritance-based integration

[Balzert-II, S. 608]

...

Repository

Repository

Page 12: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

12 Model-Driven Software Development in Technical Spaces (MOST)

a) Data Exchange (Simple)

DFD Editor Mask Editor Mask Generator

datum maskedatum datum maske

programm

tool1 tool2 tool3

Repository 1 Repository 2 Repository 3

Quelle: nach [ HMF. S. 196 ]

► No common data, high cost for exchange

► Exchange with Streams and Data-Flow Architecture (Example: UNIX shell)

– Queries flter data, transformations change data

– Data formats are defned in an exchange language

► Tools are rather independent

Page 13: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

13 Model-Driven Software Development in Technical Spaces (MOST)

b) Data Connection with Systematic Data Exchange(Transformation Bridges)

DFD Editor Masken Editor

datum maskedatum

tool1 tool2

Repository 1 Repository 2

► Data connection (Datenverbindung) relies on the defnition of mappings between the data schemata(material metamodels)

► Automated data exchange in standardised exhange formats (Exchange formaten (z. B. ASN, XMI, JSON,CDIF, XML)

– Automation relies on mappings between the material metamodels► Transformation bridge: a prettyprinter transforms the internal representation of a repository into an

external exchange formant

■ Parser read the exchange format again and transform it into the internal representaiton ofthe other repository

■ Query and transformation languages flter the data

printer parser

Bridgen-Generator

Page 14: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

14 Model-Driven Software Development in Technical Spaces (MOST)

c) Data Connection with Incremental Data Exchange(Adapter Bridges)

DFD Editor Mask Editor

date maskdate

tool1 tool2

Repository 1 Repository 2

► An Adapter Bridge is a layer between two repositories allowing for incremental access from one to the other

■ Transformation of data incrementally with each access■ Direct transformation without exchange format

Adapter layer

Adapter Bridge Generator

Page 15: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

15 Model-Driven Software Development in Technical Spaces (MOST)

Current Exchange Formats

Exchange format: standardized for the exchange of data between tools, also of different vendors

► Comma-separated values (CSV): simple text-based exchange format for tools on relation, text algebra,and tables (Excel, TeX, ...)

■ No metalanguage but simple table schema http://tools.ietf.org/html/rfc4180

■ http://en.wikipedia.org/wiki/Comma-separated_values

► CASE Tool Data Interchange Format (CDIF) - metalanguage ERD for data defnition as well as

■ Data Flow Model, State Event Model, Object Oriented Analysis and Design

■ http://www.ecma-international.org/publications/fles/ECMA-ST/Ecma-270.pdf

► XML Metadata Interchange (XMI) for exchange of UML-diagrams in XML-format■ Meta Object Facility (MOF) as metalanguage■ http://www.omg.com/technology/documents/formal/xmi.htm

► ASN.1 Standard is a metalanguage based on BNF

■ http://de.wikipedia.org/wiki/Abstract_Syntax_Notation_One

► RDF/RDFS Resource Description Format – Models as graphs, stored in elementary tripelshttp://www.w3c.org

► GXL Graph Exchange format: Open Source Format for exchange of graphs

■ http://www.gupro.de/GXL/

Page 16: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

16 Model-Driven Software Development in Technical Spaces (MOST)

d) Data Sharing (With Common Repository)

tool1tool2

Customer Responsible.Person Person

transienteObjekte

transienteObjekte

MetaclassCustomer

Metaclass PersonMetaclassResponsible.

Metadata Repository

Editor 1 Editor 2

Quelle: Platz, D.,Kelter, U.: Konsistenzerhaltung of Fensterinhalten in SEU; http://pi.informatik.uni-siegen.de

► With data sharing (Datenteilung) all tools share common data with a uniform schema(material metamodel)

► Metaclass mappings control the integration of the repositories and metamodels

Page 17: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

Model-Driven Software Development in Technical Spaces (MOST) © Prof. U. Aßmann

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie

30.3 Data Connection with Exchange Formats

Page 18: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

18 Model-Driven Software Development in Technical Spaces (MOST)

Exchange Formats use Normative Concrete Syntax

► Data Connection (Datenverbindung) between repositories relies on a semanticrelationship of the data

■ Identical M2-Metamodel■ Metamodels can be mapped isomorphically (1:1) (language mapping)■ Metamodels can be mapped homomorphically (n:m, n:1), e.g., language A is

a subset of language B or vice versa

► Exchange format are text-based with a normative concrete syntax, because the syntaxis normed (standardized) and not user-centered

■ Grammarware, XMLWare are the most popular technical spaces■ From the language mappings, parsers and prettyprinters are generated

Page 19: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

19 Model-Driven Software Development in Technical Spaces (MOST)

Transformative TS-Bridges with Concrete Syntax

► A transformative Technical-Space-Bridge (TS-Bridge, TS bridge) offers■ An exchange format in normative concrete syntax (e.g., via TS

Grammarware) ■ A generation technique for printers and parsers

► Techniques for normative concrete Syntax■ Text: EMFText: normative concrete syntax for Ecore/EMOF■ Text: Xtext: normative concrete syntax for Ecore/EMOF■ CDIF: normative concrete syntax für ERD■ JSON: text-based normative concrete syntax

19

TS OWLTS OWL

TS Grammar-

ware

TS Grammar-

ware

TS EcoreTS

Ecore

OWLOWL EBNFEBNF EMOFEMOF

PrinterPrinter ParserParser

PrinterPrinterParserParser

Page 20: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

20 Model-Driven Software Development in Technical Spaces (MOST)

Exchange Format CDIF (CASE Data Interchange Format)Example: Specifcation of DFD

obj_dfd (dataFlowDiagram dfd_title {dfd_element} )

dfd_title (dfdTitle @dfd_title_id dfd_title_name )...dfd_element dfd_bubble |dfd_store | dfd_term | dfd_tb |

dfd_csc | dfd_flow

dfd_bubble (process pt pt @process_id process_name inst_num [process_type] )

@process_id (processID string )process_name (processName string )process_type (processType string )dfd_store (store pt pt store_name inst_num )store_name (storeName string )

► CDIF is a historic exchange format for CASE tools based on metalanguage ERD► The standard CDIF uses RTG for the def inition of types, a textual notation of ERD

(ERD-Text)► Example: Specif ication of DFD in ERD-RDT (keywords in boldface, def ined non-

terminals in typewriter, used non-terminals in italics):

Page 21: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

21 Model-Driven Software Development in Technical Spaces (MOST)

Exchange Format CDIF

► CDIF defnes a normative textual syntax für ERD (ERD-RTG)

21

DFD-DiagramDFD-Diagram DFD-textualRepresentationDFD-textual

Representation

DFDDFD DFDDFD

PrinterPrinter

ParserParser

MOFMOF ERD-RTGERD-RTGM3

M2

M1

TS MOF TS CDIF

Page 22: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

Model-Driven Software Development in Technical Spaces (MOST) © Prof. U. Aßmann

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie

30.3.2 Transformation Bridges between Technical Spaces

Page 23: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

23 Model-Driven Software Development in Technical Spaces (MOST)

Transformative TS-Bridges via CDIF

► TS-Bridges (via CDIF) generate parser und printer► Here: TS MOF to EMOF

ModelsModelsTextual

Representa-tionen

TextualRepresenta-

tionenModelsModels

DFDDFD DFDDFD DFDDFD

PrinterPrinter ParserParser

PrinterPrinterParserParser

MOFMOF ERD-RTGERD-RTG EMOFEMOF

TS MOF TS CDIF TS EMOF

M3

M2

M1

Page 24: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

24 Model-Driven Software Development in Technical Spaces (MOST)

Transformative TS-Bridges via XML

► XML is a normalized concrete syntax

– Again, because of indeterministic spanning trees, a linearizednormalized concrete syntax is possible

► Hoever, good for exchange!

DFD ModelsDFD ModelsTextual

Representa-tionen of DFD

in XML

TextualRepresenta-

tionen of DFDin XML

DFD ModelsDFD Models

DFDDFD DFDDFD DFDDFD

PrinterPrinter ParserParser

PrinterPrinterParserParser

OWLOWL XSDXSD EMOFEMOF

TS OWL TS XML TS EMOF

M3

M2

M1

Page 25: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

25 Model-Driven Software Development in Technical Spaces (MOST)

Transformative TS-Bridges with JSON

► JSON (Java Script Object Notation) has established as simple exchange format forrecord trees (attributed trees) http://www.json.org/ http://www.ietf.org/rfc/rfc4627.txt?number=4627

► Basically, it is like XML, but better readable

DFD ModelsDFD ModelsTextual

Representa-tionen of DFD

in JSON

TextualRepresenta-

tionen of DFDin JSON

DFD ModelsDFD Models

DFDDFD DFDDFD DFDDFD

PrinterPrinter ParserParser

PrinterPrinterParserParser

MOFMOF JSONJSON EMOFEMOF

TS MOF TS JSON TS EMOF

M3

M2

M1

Page 26: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

26 Model-Driven Software Development in Technical Spaces (MOST)

Exchange Format XMI XML Metadata Interchange Format

► XML Metadata Interchange (XMI) is an OMG-Standard for an exchange format ■ Version 2.1 (formal/2005-09-01)■ Metalanguage MOF ■ generic „Stream“ format

► Problem:■ Graph-based models must determine a spanning tree (for the XML link tree)■ There are several spanning trees (Indeterminism)■ No full compatibility between tools!

Page 27: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

27 Model-Driven Software Development in Technical Spaces (MOST)

XMI: Transformative TS-Bridge

XMI is a TS-Bridge between the TS MOF and other TS via XSD/XML

Models ModelsTextual

Repräsenta-tionen of L in

XML

TextualRepräsenta-tionen of L in

XMLModelsModels

LL LL LL

PrinterPrinter ParserParser

PrinterPrinterParserParser

MOFMOF XSDXSD EMOFEMOF

TS MOF TS XML TS EMOF

M3

M2

M1

XMI

Page 28: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

28 Model-Driven Software Development in Technical Spaces (MOST)

XMI: Transformative TS-Bridge for UML

► Often, XMI is only used for UML. Then, XMI is an UML-Bridge

UML ModelsUML ModelsTextual

Representa-tionen of UML

in XML

TextualRepresenta-

tionen of UMLin XML

UML ModelsUML Models

UMLUML UMLUML UMLUML

PrinterPrinter ParserParser

PrinterPrinterParserParser

MOFMOF XSDXSD EMOFEMOF

TS MOF TS XML TS EMOF

M3

M2

M1

XMI

Page 29: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

29 Model-Driven Software Development in Technical Spaces (MOST)

Relation XMI – UML:Language Mappings

► XMI has as a basis the UML metamodel specifed both in MOF und XSD■ Between these metamodel a bidirectional, isomorphic language mapping

is given■ Printer and parser are generated from this mapping

Models ModelsTextual

Representa-tionen of L in

XML

TextualRepresenta-tionen of L in

XML

UMLUML UMLUML

PrinterPrinter

ParserParser

MOFMOF XSDXSD

TS MOF TS XML

M3

M2

M1

Type

Attribute

Association

Type

Attribute

Association

Page 30: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

30 Model-Driven Software Development in Technical Spaces (MOST)

Remember: Classes and Properties in UML-Core

Quelle: UML 2.0 Infrastructure Specification; OMG Adopted Specification ptc/03-09-15

Metamodel for Class and Property

Page 31: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

31 Model-Driven Software Development in Technical Spaces (MOST)

Example of an XMI-Instance: Coding of an UML-Class

example

C1

#A1

<?xml version = „2.0"?><!DOCTYPE XMI SYSTEM "uml.dtd"><XMI xmi.version=„2.0"><XMI.Header> <XMI.Metamodel name=„UML“ href=„UML.xml“/> <XMI.Model name=„example“ href=„example.xml“/></XMI.Header><XMI.Content> <Core.Basic.NamedElement.name>example</Core.Basic.NamedElement.name> <Core.Basic.Class>

<Core.Basic.NamedElement.name>C1</Core.Basic.NamedElement.name><Core.Basic.feature>

<Core.Basic.Property> <Core.Basic.NamedElement.name>A1</Core.Basic.NamedElement.name>

<Core.Sasic.NamedElement.visibility xmi.value=“protected"/></Core.Basic.Property>[<Core.Basic.Operation> ... </Core.Basic.Operation>]

</Core.Basic.feature> </Core.Basic.Class></XMI.Content></XMI>

(adopted from: www.jeckle.de/xmi_ex1.htm)

UML Metaclasses

Page 32: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

32 Model-Driven Software Development in Technical Spaces (MOST)

Problem: Normative Spanning Tree for Graph Models

► UML and. MOF are graph-based, while XML is based on link trees

► XML must resolve some links as name references (i.e., revert name analysis)■ For the UML or MOF-Model, a spanning tree must be found (e.g., along

aggregations)■ All links not in this spannign tree are represented by name references

(secondary links), but not in the XML tree

► Spanning trees are indeterministic. Thus different linearizations for one graph modelpossible

PrinterPrinter

ParserParser

UMLUML UMLUML

TS MOF TS XML

M2

M1

Type

Attribute

Association

Type

Attribute

Association

Page 33: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

33 Model-Driven Software Development in Technical Spaces (MOST)

TwoUse“Bridge”

ADOxx

Example: Transformation Bridge Between ADO und OWL

TrOWLWS

UML, BPMN, DSL…Modelling world

Ontology Technical Space (Reasoning World)

Declarative ConstraintsExpressed in OWL

1. IsModelValid (model, query)

2. Transform intgr. model “model” intoOWL only ontology and transform

query into SparQL

3. IsOntologyValid (onto, query)

4. Perform Reasoning onOntology “onto”

5. return ontology result

ADO Technical Space (Modelling World)

6. process result backAs model result

7. return model result

0. create integrated model “model”

8. display result on model“E.g. mark invalid objects”

ADOxx

TwoUse

ADO as an integrated modelling toolkit

TrOWL as semantic reasoner

+

TwoUse (U Koblenz) is a transformation bridge between TS ADO (BOC Wien) and TrOWL(OWL, Uni Aberdeen)

Exchange format: OWL

Page 34: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

34 Model-Driven Software Development in Technical Spaces (MOST)

What did we learn?

► Tools can be integrated via

– Repository integration (data sharing)

– Stream-based exchange

– Datenfuss-gesteuerte

► Software Factories (Software MDSD tools, System Engineering tools) are composedfrom simpler modeling tools and their materials

► This notion of “software factory” is due to Prof. Hartmut Fritzsche.

Page 35: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

35 Model-Driven Software Development in Technical Spaces (MOST)

The End

► Why is data sharing the fastest way to integrate tools?

► Explain different forms of language mappings. What is mapped to each other? ■ What is an isomorphic mapping? A homomorphic mapping?

► Compare JSON with XML. What is different, what is similar?

► Explain, why a tree-based exchange format such as XML, has advantages over EBNFbased exchange formats.

► Explain, why XML is not perfect as exchange format.

Page 36: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

Model-Driven Software Development in Technical Spaces (MOST) © Prof. U. Aßmann

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie

30.A.1 Beispiel einer Referenzarchitektur für Werkzeug-Umgebungen: Das ECMA Referenzmodell für SEU

.. Der ECMA-Toaster

Page 37: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

37 Model-Driven Software Development in Technical Spaces (MOST)

Standardisierungsorganisation European Computer Manufacturing Association (ECMA)

► Weltweite Normierung der Informationstechnologie und Nachrichtentechnik

– Mehr als 365 ECMA-Standards

– 2/3 sind als internationale Standards und/oder technische Reportsangenommen worden.

► Ziele:

– Zusammenarbeit mit nationalen, europäischen und internationalenNormierungsorganisationen über die Standardisierung ofKommunikationstechnologien (ICT) und Verbraucherelektronik (CER).

– korrekten Gebrauch of Standards anregen und kontrollieren.

– Veröffentlichung of Standards und technischer Reports, Unterstützungihrer Verbreitung auch in elektronischer Form

► ECMA hat u. a. folgende Technischen Ausschüsse:

– TC 32: Kommunikation, Netze und Systemverbindungen

– TC 39: Programmieren und Script-Sprachen

– TC 43: Universal 3D (U3D)

– TC 12: Sicherheit

Quelle: http://www.ecma-international.org/

Page 38: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

38 Model-Driven Software Development in Technical Spaces (MOST)

ECMA-Referenzmodell („ECMA Toaster“)

Backplane: Object Management Services (Repository)

Underlying:Communication Services

Process Management Services

Frontplane: User Interface Services

Tool Slots

Quelle: ECMA, Reference Model for Frameworks of Software Engineering Environments, Technical Report 55, 3rd Edition, Juni 1993http://www.ecma-international.org/publications/files/ECMA-TR/TR-055.pdf

+ Policy Enforcement Services+ Framework Administration + Configuration Services

► Der ECMA Toaster nutzt eine Service-orientierte Architektur (SOA), kann alsoverteilt sein

► Seine Dienste sind mehr oder weniger in jeder SEU vorhanden

Page 39: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

39 Model-Driven Software Development in Technical Spaces (MOST)

Sichten auf Dienste des ECMA-Referenzmodells

konzeptionelle Sicht beWritet die Semantik (Funktionalität), ohne Imple- tierung oder Verfügbarkeit für den Nutzer zu beachten

externe Sicht beWritet die externe Nutzung des Dienstes durch andere Dienste bzw. durch Werkzeuge od. den Nutzer

interne Sicht beWritet die spezifische implementation (Betriebs- system, andere Tools) für die Dienstausführung

Sicht auf Operationen führt die Menge of Operationen eines Dienstes auf, die zur Erreichung der Funktionalität (konzeptionelle Sicht) benötigt wird

Sicht auf Typen beWritet das Datenmodell des Dienstes einschließ- lich der Informationen über dieses Datenmodell (Metamodell)

Sicht auf Regeln beWritet Regelmenge, die mögliche Menge der Ope- rationen (Sicht auf Operat.) und annehmbare Zustände der Daten definiert

Sicht auf Dienst-zu- anhand typischer Beispiele wird gezeigt, wie einDienst-Beziehungen Dienst mit einem anderen kommunizieren kann

Page 40: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

40 Model-Driven Software Development in Technical Spaces (MOST)

ECMA BenutzungsschnittstelleUSER INTERFACE SERVICES

ECMA stellt eine Reihe of UI-Diensten (services, Schnittstellen) zur Verfügung, die zurGewährleistung der Benutzungsschnittstellen-Integration und der konsistentenBedienung of Anwendungen benötigt werden. ► User Interface Metadata Service dient der Definition, Steuerung und Hand-

habung of Schemata zur Unterstützung der Benutzungsschnittstelle► Session Service gewährleistet volle Funktion, unabhängig of Nutzer oder

Hardwareumgebung ► Security Service gewährleistet Sicherheitsanforderungen, wie

Nutzerauthentifikation, Dunkelsteuerung unbenutzbarer Funktionen u. a.► Profile Service gestattet mögliche Veränderungen, wie z. B. Systemeinstellungen

(Farbe), Menge zu verwendender Werkzeuge u.a.► User Interface Name and Location Service stellt fest, wer sich wo zum System

Zutritt verschafft hat (logging in)► Internationalization Service stellt nationale Besonderheiten (z. B. Zeichensätze,

Datumsformate) zum Zugriff auf das Rechnersystem bereit und gewährleistet ihreKonvertierbarkeit zwischen unterschiedlichen Ländern.

Page 41: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

41 Model-Driven Software Development in Technical Spaces (MOST)

ECMA ProzessverwaltungProcess Management Services

Die Process Management Services defnieren und organisieren die Ausführung aller Werkzeuge:

► Process Defnition Service defniert aus den im Repository gespeicherten Projektdaten die Bedingungenzur Ausführung neuer Aktivitäten

► Process Control Service steuert Prozesse im allgemeinen auf dem Niveau eines bestimmtenVorgehensmodells zur Beeinfussung anderer Prozesse, wodurch der Nutzer entsprechend seiner roleunterstützt wird

► Process Enactment Service unterstützt und bietet Möglichkeiten der Steuerung vorher defnierterAktivitäten (Analyse-, Hilfe-, Simulationsfunktionen)

► Process Visibility and Scoping Service legt zum Zwecke der Kommunikation und KoordinationSichtbarkeit, Zeitpunkt und Ort of Aktivitätsteilen für andere Aktivitäten fest

► Process State Service sammelt und wertet Ereignisse of Aktivitäten während ihrer Ausführung aus, diefür die Koordination und spätere Entscheidungsplanung anderer Projektaktivitäten notwendig sind

► Process Ressource Management Service verwaltet das Festlegen of Ressourcen zur Ausführungdefnierter Prozesse für Werkzeuge und Nutzer

Page 42: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

42 Model-Driven Software Development in Technical Spaces (MOST)

ECMA Werkzeugdienste (Tool Services)

► Werkzeuge können in den ECMA Toaster eingesteckt werden bzw. ausgetauscht werden

– Die gesamte Toolmenge soll nach außen hin durch eine einzige Schnittstelle repräsentiert werden.

– Die Menge der Tools soll den Softwareentwicklungsprozess vollständig abdecken.

► Die Werkzeuge kommunizieren über den Communication Service oder Object Management Service

► Wenn Werkzeuge in die SEU integriert werden, ist zu prüfen, ob sie Frameworkdienste bieten.

– Wenn ja, ist zu entscheiden, diese Dienste weiterhin separat zu ermöglichen oder doch auf die Dienste des SEU-Frameworks überzugehen.

► Um für alle Werkzeuge ein gleiches Erscheinungsbild zu erhalten, müssen Basisdienste und Dienste eines SEU-Framework nach standardisierten Vorschriften realisiert werden.

Page 43: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

43 Model-Driven Software Development in Technical Spaces (MOST)

ECMA Repository (Repositorium)Object Management Services

Die Object Management Services dienen der Defnition, der Speicherung, derHandhabung, der Verwaltung und dem Zugriff auf Objekte/Dokumente (Dateien,Programme, Bibliotheken, Projekte, Geräte usw.):

► Metadata Service gestattet die Defnition, Steuerung und Handhabung of Schemataund sonstigen Metadaten (Refektion, Introspektion)

► Data Storage and Persistence Service unterstützt das persistente Anlegen undSpeichern of Objekten nach der MetadatenbeWriteung

► Relationship Service erlaubt die Defnition und Handhabung of Beziehungen zwischenObjekten und Objekttypen.

► Derivation Service (Bau-Management) legt die Wege fest, welche Objekte of anderenabgeleitet sind (z. B. Generation Objektcode aus Quellcode ähnlich Make-Files).

► Concurrency Service sichert den gleichzeitigen Zugriff für Nutzer und Prozesse zumgleichen Objekt der Repository (Transaktionen, Synchronisation)

► Version Service unterstützt das Anlegen, Zugreifen und Verbinden of Objekt- undKonfgurationsversionen der SEU.

Page 44: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

44 Model-Driven Software Development in Technical Spaces (MOST)

ECMA: Weitere Services

► Die Policy Enforcement Services sind für Sicherheitsaspekte, Integritätsüberwachung undVerwaltungsfunktionen zuständig:

– Mandatory Confdentiality Service legt auf eigenen Wunsch Zugriffsrechte undSicherheitsanforderungen (geheim, str. geheim) für Objektinfomationen fest.

– Mandatory Integrity Service gestatten den Schutz of SEU-Objekten vor unauthorisiertenÄnderungen, z. B. Eintragung "read only"usw.

– Mandatory Conformity Service überwacht alle Aktivitäten zur Einhaltung ofKonformitätsanforderungen, die z.B. aus der Qualitätssicherung stammen.

► Die Communication Services dienen der Kommunikation zwischen Werkzeugen, zwischen Basisdiensten sowieDiensten verschiedener SEU.

– Basismechanismen sind Nachrichten (Punkt-zu-Punkt, Broadcast, Multicast), Betriebs-systemaufrufe, Remote Procedure Calls und der Datenaustausch

► Die Framework Administration und Confguration Services übernehmen die sorgfältige Installation der SEUund ihre laufende Pfege u.a.:

– Tool Registration Service übernimmt das An- und Abmelden neuer Tools.

– User Administration Service unterstützt das An- und Abmelden of Nutzern zum System!

Page 45: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

45 Model-Driven Software Development in Technical Spaces (MOST)

ECMA Toaster: Abhängigkeiten zwischen Diensten

UserInterfaceMetadataService

UserAssistance

Service

PresentationService

ProfileService

ToolService

SessionService

SecurityService

User Admi-nistrationService

Internationali-zation Service

ToolRegistration

Service

MandatoryConformity

Service

MandatoryIntegrityService

MandatoryConfidentiality

Service

Page 46: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

Model-Driven Software Development in Technical Spaces (MOST) © Prof. U. Aßmann

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie

30.A.2 Ein Metamodellgesteuertes Framework zurWerkzeugintegration (PCTE)

Mit eigenem Technikraum und Metasprache PCTE-OBS

http://ieeexplore.ieee.org/iel3/2107/7595/00313508.pdf?arnumber=313508

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.8315&rep=rep1&type=pdf

Page 47: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

47 Model-Driven Software Development in Technical Spaces (MOST)

Portable Common Tool Environment(PCTE+, HPCTE)

Quelle: ECMA - Portable Common Tool Environment (PCTE), Abstract Specif ication; ECMA-149, 2nd Edition, Juni 1993

PCTE User Interfacemit Access Control Functions

PCTE Object Management System (OMS)metamodellbasiert

Host Computer Operating System

Distribution and Process Communication

Tool Tool Tool

► PCTE ist eines der historisch ersten metamodellgesteuerten Werkzeugintegrationsframeworks

► PCTE erfüllt den Schnittstellenstandard der ECMA - unterstützt systemunabhängigen Zugriff aufWerkzeuge und Repository

Page 48: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

48 Model-Driven Software Development in Technical Spaces (MOST)

Technische Merkmale of PCTE

Quelle: http://pi.informatik.uni-siegen.de/pi/hpcte/hpcte.html

PCTE stellt eine Menge hochintegrierter Basisdienste bereit, die eine vielseitige Grundlage für verteilte Software-Entwicklungsumgebungen (SEU) bilden

• verteiltes DBMS basierend auf dem ERD mit Erweiterungen, wie zusammen-gesetzte Objekte, Versionen, Mehrfachvererbung, dynamisch kreierte Sichten, eingebettete Transaktionen usw.;

• ein exklusives Ausführungssystem, welches Prozeßhierarchien, Vererbung of offenen Files, Prozeßkommunikation über Pipes und Nachrichtenwarte-schlangen gestattet. Werkzeuge können als Shell-Skript geschrieben und in mehreren Fenstern unterstützt werden.

• verteilte Dienste, d.h. Objektbasis und Prozesse sind transparent verteilt, Re-plikation of Objekten sowie Schema-Management sind ebenfalls dezentrali-siert.

• erweiterbare Sicherheitsmerkmale, wie Vertraulichkeit, geschützte Zugriffs-steuerung für individuelle Objekte, Revisionsfähigkeit.

Page 49: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

49 Model-Driven Software Development in Technical Spaces (MOST)

PCTE-OMS-Modell (Object Management System)

Quelle: http://gille.loria.fr:7000/Emeraude/emeraude.html

► Das OMS stellt Datentyp- und Datenspeichermöglichkeiten sowie Concurrency-Control-Mechanismen zur Verfügung,

– def iniert statische Informationen, die in der object base (Repositorium aller persi-stenten Daten) gehalten werden,

– liefert Konzepte für die Softwareentwicklung, wie beispielsweise die (Typ-)Verer-bung der objektorientierten Modelle.

► Das OMS ist metamodell-gesteuert. Es enthält Typdef initionen, die in Schema Def inition Sets (SDS, Metamodellen) beschrieben werden:

– Objekte: Entitäten, auf denen Operationen der Werkzeuge ausgeführt werden. Instanzen können Dokumente, Textf iles, Quell- oder Objektcode, Task aber auch Geräte und Nutzer sein.

– Links (Assoziationen): gerichtete Beziehungen zwischen (Ursprungs-) und (Ziel-)Objekt (bidirektional)

– Attribute: beWriteen Objekte und Links näher. Sie enthalten einen bestimmten Wertetyp und können sowohl Schlüssel- als auch normales Attribut sein.

► Die DDL PCTE-OMS ist geliftet (selbstreferenzierend, in sich selbst spezif iziert, DDL ist geliftet als Metasprache)

Page 50: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

50 Model-Driven Software Development in Technical Spaces (MOST)

PCTE-OMS Metasprache ist eine Erweiterung of ERD(Vererbung, Komposition)

Link-Typ Kategorien: c composition bei Anlegen eines neuen Objekts in Referenz zum existierenden.r reference zwischen Ursprungs- und Zielobjekti implicit kann z.B. reverse link für einen angelegten Link sein s system implicit, automatisch vom System (PCTE-OMS) gesetzt.

sds_object

attribut_type_in-sds

link_type_in_sds

object_type_in_sds

object_type link_type attribut_type

categorystabilitycardinality

type_reference

booleanstring

integerdatatype_reference

ri

i r

ic

ic

ic

ic

.in_sds

type_refence.def inition

().is_in_sds ().is_in_sds().is_in_sds

.of_type .of_type .of_type.parent_type

.subtype

.key_attribut_of

.in_attribut_set().is_attribute_of

r r

Page 51: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

51 Model-Driven Software Development in Technical Spaces (MOST)

PCTE-Objekt-Strukturen mit erweitertem ERD

PCTE DDL Metamodell (M2):

Beispiel-Modell (M1):

object

device

subtype ofexecut. f iles

document

tool user_guide

directory pipe f ilemanaged byspecif ic primitives

User

Document

MailboxSoftware

titleauthorization

email_address

soft-created_by soft

documents

documented_by

writes_in

author_of

Page 52: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

52 Model-Driven Software Development in Technical Spaces (MOST)

Emeraude PCTE Framework

En

viro

nm

ent

Fra

mew

ork

Specif i-cation Tools

DesignTools

CodingTools

TestTools

Integra-tionTools

ValidationTools

VERTICALTOOLS

HORIZONTALTOOLS

Documentation(Text+Graphik)Management

DataManagement

Command Language Interpreter

Conf igurationand VersionManagm.

Public Tool Interface (PTI)

DataIntegration

Service

Presentation Integration Services

ControlIntegrationServices

Platform

http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=182066http://www.springerlink.com/content/g111t41326211512/

Page 53: III. Software Factories 30. Integration of Tools, Exchange Formats, …st.inf.tu-dresden.de/files/teaching/ws15/most/slides/30... · 2016. 1. 11. · P r o f. U. A ß m a n n 6 Model-Driven

© P

rof.

U. A

ßm

ann

53 Model-Driven Software Development in Technical Spaces (MOST)

More PCTE Implementations

► PACT PCTE Implementation

– Thomas, Ian. Tool integration in the pact environment. In Proceedings of

the 11th International Conference on Software Engineering, pages 13-22, May 1989.

► HPCTE implementation of University of Siegen

– Java API

– Supports views on the repository

– http://pi.informatik.uni-siegen.de/pi/hpcte/hpcteapps.html