30.06.2014 Aufrufe

Modellierung und Qualitätssicherung von UML-Modellen der ...

Modellierung und Qualitätssicherung von UML-Modellen der ...

Modellierung und Qualitätssicherung von UML-Modellen der ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong><br />

<strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik<br />

<strong>von</strong> Informationssystemen<br />

Tobias Brückmann, Volker Gruhn


Motivation / Einordnung<br />

• Vision<br />

• Generieren <strong>von</strong> Programmcode <strong>der</strong> Geschäftslogik <strong>von</strong><br />

Informationssystemen<br />

• Geschäftslogik: Keine UI, Keine Persistenz, son<strong>der</strong>n die Ablaufsteuerung<br />

• Modellgetriebener Entwicklungsprozess<br />

• <strong>Modellierung</strong>: Erstellung <strong>und</strong> Verfeinerung des (visuellen) SW-Modells, bis<br />

es die erfor<strong>der</strong>liche Detaillierung erreicht hat<br />

• Code-Generierung (<strong>und</strong> Einbindung)<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

2


<strong>Modellierung</strong><br />

• Einsatz <strong>von</strong> visuellen SW-<strong>Modellen</strong><br />

• Ursprünglich: Zwischenmenschliche Kommunikation<br />

• Hinzugekommen: Mensch-Maschine-Kommunikation<br />

• Verschärfte Anfor<strong>der</strong>ungen an Modelle:<br />

• Vollständigkeit, Konsistenz, Korrektheit bzgl. <strong>der</strong> Anfor<strong>der</strong>ungen<br />

Modelle werden komplexer <strong>und</strong> gleichzeitig kritischer<br />

• Herausfor<strong>der</strong>ung: Modellkomplexität<br />

• Manuelle <strong>Modellierung</strong><br />

• Große, komplexe Modelle sind für Menschen nicht mehr überschaubar<br />

• Modellierer benötigt Hilfestellung bei <strong>der</strong> Arbeit:<br />

• Verschiedene Sichten integriert in ein Modell<br />

• Unterstützung durch automatische <strong>Qualitätssicherung</strong><br />

im integrierten Modell<br />

• (Unterstützung durch geeignete Konzepte zu Modellinteraktion)<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

3


Code-Generierung<br />

• Code-Generierung<br />

• Domäne <strong>der</strong> Informationssysteme vielfältig<br />

• Anfor<strong>der</strong>ungen an Code-Generator je Projekt unterschiedlich<br />

• Es gilt jedoch immer:<br />

• Erlaubte Diagramme <strong>und</strong> Notationselemente samt Bedeutung sowie<br />

<strong>der</strong>en Beziehung müssen klar definiert sein<br />

• Ein einfaches Metamodell erleichtert Erstellung <strong>und</strong><br />

Wartung <strong>von</strong> Generatoren<br />

• Herausfor<strong>der</strong>ung: Einfache <strong>und</strong> klare Schnittstelle zum Generator<br />

• Unterstützung <strong>von</strong> Konzepten zur <strong>Modellierung</strong> <strong>von</strong> Geschäftslogik<br />

• Möglichst einfaches Modell als Input für den Generator<br />

• Reduziert auf logische Informationen<br />

• Abstraktion <strong>von</strong> diagrammspezifischen Beson<strong>der</strong>heiten<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

4


Modellarchitektur für Geschäftslogik<br />

• AMABULO (A Model Architecture for Business Logic)<br />

• Infrastruktur für die <strong>Modellierung</strong> <strong>und</strong> Generierung <strong>von</strong> Geschäftslogik<br />

• Menge <strong>von</strong> <strong>Modellen</strong> <strong>und</strong> Modelltransformationen<br />

AMABULO<br />

Structure<br />

Diagram<br />

Process<br />

Diagram<br />

State<br />

Diagram<br />

Business Process<br />

Modeling Languages<br />

(e.g. BPMN, EPC)<br />

Semantic Meta Model<br />

Program-Code<br />

(e.g. Java)<br />

XML-Code<br />

(e.g. BPEL)<br />

Coloured Petri Nets<br />

Bidirectional<br />

Model Transformation<br />

Unidirectional<br />

Model Transformation<br />

Optional<br />

Model Transformation<br />

• Thema heute: <strong>Modellierung</strong> <strong>von</strong> Geschäftslogik mit <strong>UML</strong> +<br />

Gr<strong>und</strong>lagen <strong>der</strong> automatischen <strong>Qualitätssicherung</strong><br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

5


<strong>UML</strong>-Modelle für Geschäftslogik<br />

• Warum Unified Modeling Language (<strong>UML</strong>) ?<br />

• Integriert verschiedene <strong>Modellierung</strong>skonzepte,<br />

die zur <strong>Modellierung</strong> <strong>von</strong> IT-Systemen benötigt werden<br />

• Unterstützung verschiedener Sichten<br />

• Skaliert in <strong>der</strong> Detaillierung innerhalb eines Diagrammtyps<br />

• Falls bestimmte Notationselemente fehlen ist ein<br />

Diagramm trotzdem syntaktisch richtig<br />

• Skaliert in <strong>der</strong> Anzahl Diagramme<br />

• Weltweit in Industrie <strong>und</strong> Forschung verbreitet<br />

• Modelle einigermaßen einfach zu verstehen / zu modellieren<br />

• Kompromiss zwischen intuitiver Verständlichkeit<br />

<strong>und</strong> definierter Semantik<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

6


<strong>UML</strong>-Modelle für Geschäftslogik<br />

• Beispiel-Modell<br />

• Aktivitätsdiagramm<br />

Activity Diagram: Offer Decision<br />

Activity Diagram: 4-eyes-decision<br />

[property = false]<br />

<br />

Create offer<br />

[property = true]<br />

[decision = d]<br />

<br />

Person 1 decides<br />

[decision = b]<br />

<br />

simple-decision<br />

<br />

Person 2 decides<br />

[decision = d]<br />

<br />

4-eyes-decision<br />

Offer<br />

[decision = c]<br />

<br />

Send message<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

7


<strong>UML</strong>-Modelle für Geschäftslogik<br />

• Beispiel-Modell mit den Sichten<br />

• Aktivitätsdiagramm, Zustandsdiagramm, Klassendiagramm<br />

Activity Diagram: Offer Decision<br />

[Offer.property = false]<br />

<br />

Create offer<br />

<br />

Offer.decision = a AND<br />

Offer.property = true OR false<br />

Offer<br />

[Offer.property = true]<br />

Activity Diagram: 4-eyes-decision<br />

[Offer.decision = d]<br />

Offer<br />

<br />

Person 1 decides<br />

Offer<br />

<br />

Offer.decision = a<br />

<br />

Offer.decision = c or<br />

Offer.decision = d<br />

Class Diagram: Offer<br />

Offer<br />

deci<strong>der</strong> 1<br />

deci<strong>der</strong> 2<br />

decision<br />

property<br />

[Offer.decision = b]<br />

State Machine Diagram: Offer.decision<br />

Offer<br />

<br />

simple-decision<br />

Offer<br />

<br />

Offer.decision = a<br />

<br />

Offer.decision = c or<br />

Offer.decision = d<br />

Offer<br />

<br />

Person 2 decides<br />

Offer<br />

[Offer.decision = d]<br />

<br />

Offer.decision = b<br />

<br />

Offer.decision = b<br />

a [Undecided]<br />

b [Person 1 accepted]<br />

<br />

Offer.decision = a<br />

<br />

Offer.decision = c or<br />

Offer.decision = d<br />

Offer<br />

<br />

4-eyes-decision<br />

Offer<br />

[Offer.decision = c]<br />

Offer<br />

<br />

Send message<br />

Offer<br />

<br />

Offer.decision = c<br />

<br />

Offer.decision = c<br />

c [Offer accepted]<br />

d [Offer declined]<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

8


<strong>UML</strong>-Modelle für Geschäftslogik<br />

• Ablaufsicht (Aktivitätsdiagramm)<br />

• Unterstützen Strukturierung durch Verschachtelung: Actions + Activities<br />

• Entscheidungen in <strong>der</strong> Ablaufsteuerung<br />

• Vor- <strong>und</strong> Nachbedingungen<br />

• Benötige Objekte<br />

• Struktursicht (Klassendiagramm)<br />

• Geschäftsobjekte mit Eigenschaften (Attributen)<br />

• Zustandssicht (Zustandsdiagramm)<br />

• Fachliche Zustände <strong>von</strong> Objekten, die für Ablaufsteuerung relevant sind<br />

• Technisch: Verfeinerung <strong>von</strong> Attributen <strong>von</strong> Objekten<br />

• Jedes Zustandsdiagramm spezifiziert genau ein Attribut<br />

<strong>und</strong> je<strong>der</strong> Zustand einen möglichen Attributwert<br />

• Transitionen entsprechen den möglichen Än<strong>der</strong>ungen <strong>von</strong> Attributwerten<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

9


<strong>UML</strong>-Modelle für Geschäftslogik<br />

• Zustandssicht (Fortsetzung):<br />

• Vorteile<br />

• Zustandsdiagramme werden nicht sehr groß,<br />

da sie auf fachliche Zustände beschränkt sind<br />

• Vermeidung <strong>von</strong> „anonymen“ Zuständen<br />

• Nicht jede Funktion führt zu einer Än<strong>der</strong>ung<br />

des fachlichen Zustands<br />

• Zustandsdiagramm ist semantische Abstraktion<br />

<strong>von</strong> konkreten Funktionen<br />

• Bildet „semantische Klammer“ über<br />

mehrere Aktivitätsdiagramme<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

10


author : Tobias Brueckmann<br />

date : 2005-12-11<br />

state : draft<br />

version : 0.01<br />

lod : ??<br />

ContractState DELETED;<br />

ContractState CREATED;<br />

ContractState DRAFT;<br />

ContractState PENDING_UW;<br />

ContractState PENDING_MC;<br />

ContractState PENDING_REVIEW_UW;<br />

ContractState PENDING_MA ;<br />

ContractState PENDING_WRITTEN;<br />

ContractState BOUND;<br />

ContractState REJECTED;<br />

ContractState WITHDRAWN;<br />

ContractState CANCELLED;<br />

ContractState EXPIRED;<br />

ContractState BOUND_PENDING_CAMCELLATION;<br />

ContractState UNCOMPLETE_BOUND_PENDING_CAMCELLATION;<br />

ContractState UNCOMPLETE_BOUND ;<br />

Long contractId;<br />

Long contractVersioId;<br />

String nameOfInsured;<br />

IufRecommendationType total;<br />

IufRecommendationType generalRisk;<br />

IufRecommendationType specialRisk;<br />

IufRecommendationType harmsRisk;<br />

IufRecommendationType bankData;<br />

Collection generalRiskDPDetails;<br />

Collection specialRiskDPDetails;<br />

Collection harmsDPDetails;<br />

Collection bankDataDPDetails;<br />

Collection losses;<br />

Collection possibleLosses;<br />

Collection communicationBetweenMC_and_MA;<br />

ExpertDiscussionVo recommendationByMA;<br />

String exclusions;<br />

String commentsByUW;<br />

PremiumVo premium;<br />

Collection openDiscussions;<br />

ContractVo contract;<br />

String tradingPassword;<br />

CompanyVo company;<br />

BigDecimal maxSumInsured;<br />

String street;<br />

String houseNumber;<br />

String postCode;<br />

String city;<br />

Long id;<br />

Access access;<br />

String userName;<br />

String password;<br />

UserType type;<br />

Date lastVisit;<br />

String position;<br />

String division;<br />

String firstName;<br />

String surname;<br />

UserSex sex;<br />

String phone;<br />

String cellPhone;<br />

String pager;<br />

String fax;<br />

String email;<br />

Platform platform;<br />

Date creationDate;<br />

Date modificationDate;<br />

Role role;<br />

CountryCode country<br />

List userApplications;<br />

List userApplicationsVo;<br />

Integer defaultSignature;<br />

String signature1;<br />

String signature2;<br />

String disclaimer;<br />

boolean automaticDecision;<br />

ContractVerVo contractVerVo;<br />

Long userIdBroker;<br />

Long userIdUn<strong>der</strong>writerReviewer;<br />

Long userIdUn<strong>der</strong>Writer;<br />

Long userIdMedCons;<br />

Long userIdMedAdv;<br />

Long creationUser;<br />

boolean remin<strong>der</strong>Broker;<br />

boolean remin<strong>der</strong>Un<strong>der</strong>writerReviewer;<br />

boolean remin<strong>der</strong>BrokerUn<strong>der</strong>writer;<br />

boolean remin<strong>der</strong>MedAdv;<br />

boolean remin<strong>der</strong>MedCons;<br />

Long parentContract;<br />

boolean current;<br />

ContractOrigin origin;<br />

ContractState state;<br />

BrokerVo brokerVo;<br />

Un<strong>der</strong>writerVo <strong>und</strong>erWriterVo;<br />

Un<strong>der</strong>writerVo <strong>und</strong>erWriterReviewerVo;<br />

MedicalAdvisorVo medicalAdvisorVo;<br />

MedicalConsultantVo medicalConsultantVo;<br />

Date creationDate;<br />

Date endorsedAt;<br />

Long recoverReferenceNumnber;<br />

String brokersReferenceNumber;<br />

String mediRiskReferenceNumber;<br />

Long iufConfigurationIdentifier;<br />

Long contractId;<br />

Long userIdMedAdv;<br />

Long userIdUMedCons;<br />

UserVo advisor;<br />

UserVo consultant;<br />

Date dateOfQuestion;<br />

String questionComment;<br />

String questionExclusions;<br />

RecommendationType questionRecommendation;<br />

Date dateOfAnswer;<br />

String answerComment;<br />

String answerExclusions;<br />

RecommendationType answerRecommendation;<br />

boolean finalSuggestion;<br />

<strong>UML</strong>-Modelle für Geschäftslogik<br />

cld MMF :: BusinessRelevantObjects, extract<br />

ContractState<br />

DecisionPanel<br />

User<br />

Contract<br />

ExpertDiscussion<br />

Broker<br />

Un<strong>der</strong>writer<br />

Expert<br />

DataAssistent<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

11


Modellarchitektur für Geschäftslogik<br />

• AMABULO (A Model Architecture for Business Logic)<br />

AMABULO<br />

Structure<br />

Diagram<br />

Process<br />

Diagram<br />

State<br />

Diagram<br />

Business Process<br />

Modeling Languages<br />

(e.g. BPMN, EPC)<br />

Semantic Meta Model<br />

Program-Code<br />

(e.g. Java)<br />

XML-Code<br />

(e.g. BPEL)<br />

Coloured Petri Nets<br />

Bidirectional<br />

Model Transformation<br />

Unidirectional<br />

Model Transformation<br />

Optional<br />

Model Transformation<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

12


AMABULO - Metamodell<br />

• Integration <strong>der</strong> <strong>UML</strong>-Sichten auf AMABULO<br />

• Abstraktion <strong>von</strong> konkreter Sicht<br />

• Reduzierung auf logische Informationen<br />

Prozess<br />

Struktur<br />

Zustand<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

13


Automatische <strong>Qualitätssicherung</strong><br />

• Unser Ziel<br />

• Modellierer auf Stellen im Modell hinweisen, an denen<br />

möglicherweise etwas falsch modelliert wurde<br />

• Fokus dabei: Semantische Fehler<br />

• Automatische <strong>Qualitätssicherung</strong> heute<br />

• <strong>Modellierung</strong>swerkzeuge bieten Hilfe zur Vermeidung <strong>von</strong> Fehlern<br />

• Automatische Erkennung <strong>von</strong> Fehlern immer noch ein aktueller<br />

Forschungsgegenstand<br />

• Voraussetzung für automatische <strong>Qualitätssicherung</strong><br />

• Eindeutige definierte Semantik <strong>der</strong> Notationselemente<br />

<strong>und</strong> <strong>der</strong>en Beziehungen<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

14


Automatische <strong>Qualitätssicherung</strong><br />

• „Formalisierung“ des AMABULO-Metamodells mit CPN<br />

• Gefärbte Petri-Netze (Coloured Petri Nets, CPN) nach Jensen<br />

• Abbildung <strong>der</strong> Elemente <strong>und</strong> <strong>der</strong>en Beziehungen auf Elemente eines CPN<br />

• Eindeutige Definition <strong>der</strong> Semantik<br />

• Erlaubt nicht nur statische Analyse, son<strong>der</strong>n auch Simulationen<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

15


Automatische <strong>Qualitätssicherung</strong><br />

• Werkzeug- bzw. Transformationskette: <strong>UML</strong> AMABULO CPN<br />

• Erstellen <strong>und</strong> Bearbeiten des <strong>UML</strong>-Modells in industriellem <strong>UML</strong>-Tool<br />

• MagicDraw, (EnterpriseArchitect)<br />

• Transformation nach AMABULO<br />

• Unter Berücksichtigung toolspezifischer Beson<strong>der</strong>heiten<br />

• Transformation <strong>von</strong> AMABULO nach CPN<br />

• Austauschformat für CPNTools<br />

• Laden des generierten CPN in CPNTools<br />

• Simulation <strong>und</strong> Analyse des Modells<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

16


Automatische <strong>Qualitätssicherung</strong><br />

• Beispiele für „Fragen“ an das Modell<br />

• Hängen alle Abläufe eines Prozesses logisch zusammen?<br />

• Nein, falls das generierte CPN mehr als eine<br />

Zusammenhangskomponente hat<br />

• Können alle modellierten Funktionen <strong>und</strong> Prozesse ausgeführt werden?<br />

• Funktionen <strong>und</strong> Prozesse, die aufgr<strong>und</strong> <strong>der</strong> Kombination <strong>von</strong><br />

verschiedenen Bedingungen niemals ausgeführt werden können,<br />

führen im CPN zu „tote Transitionen“<br />

• Werden alle Funktionen in <strong>der</strong> richtigen Reihenfolge abgearbeitet?<br />

• Schrittweise Simulation des CPN<br />

• Einsetzen <strong>von</strong> Monitor-Stellen im CPN zur Beobachtung <strong>der</strong><br />

Abarbeitungsreihenfolge <strong>von</strong> Transitionen <strong>und</strong> Token<br />

• Erste Experimente mit CPNTools<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

17


<strong>UML</strong>-Modelle für Geschäftslogik<br />

• Beispiel-Modell mit den Sichten<br />

• Aktivitätsdiagramm, Zustandsdiagramm, Klassendiagramm<br />

Activity Diagram: Offer Decision<br />

[Offer.property = false]<br />

<br />

Create offer<br />

<br />

Offer.decision = a AND<br />

Offer.property = true OR false<br />

Offer<br />

[Offer.property = true]<br />

Activity Diagram: 4-eyes-decision<br />

[Offer.decision = d]<br />

Offer<br />

<br />

Person 1 decides<br />

Offer<br />

<br />

Offer.decision = a<br />

<br />

Offer.decision = c or<br />

Offer.decision = d<br />

Class Diagram: Offer<br />

Offer<br />

deci<strong>der</strong> 1<br />

deci<strong>der</strong> 2<br />

decision<br />

property<br />

[Offer.decision = b]<br />

State Machine Diagram: Offer.decision<br />

Offer<br />

<br />

simple-decision<br />

Offer<br />

<br />

Offer.decision = a<br />

<br />

Offer.decision = c or<br />

Offer.decision = d<br />

Offer<br />

<br />

Person 2 decides<br />

Offer<br />

[Offer.decision = d]<br />

<br />

Offer.decision = b<br />

<br />

Offer.decision = b<br />

a [Undecided]<br />

b [Person 1 accepted]<br />

<br />

Offer.decision = a<br />

<br />

Offer.decision = c or<br />

Offer.decision = d<br />

Offer<br />

<br />

4-eyes-decision<br />

Offer<br />

[Offer.decision = c]<br />

Offer<br />

<br />

Send message<br />

Offer<br />

<br />

Offer.decision = c<br />

<br />

Offer.decision = c<br />

c [Offer accepted]<br />

d [Offer declined]<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

18


Zusammenfassung <strong>und</strong> Ausblick<br />

• Unser Ziel: Unterstützung <strong>der</strong> <strong>Modellierung</strong> <strong>und</strong> Code-Generierung für<br />

Geschäftslogik <strong>von</strong> Informationssystemen<br />

• <strong>UML</strong>-Diagramme: Aktivitäts-, Klassen-, Zustandsdiagramme<br />

• Integration <strong>der</strong> Sichten in ein (einfaches) Metamodell<br />

• Abstraktion <strong>und</strong> Reduzierung auf logische Informationen<br />

• Formale Semantik durch Abbildung auf CPN<br />

• Automatische Generierung <strong>von</strong> CPN aus <strong>UML</strong><br />

• Gr<strong>und</strong>lage für automatische <strong>Qualitätssicherung</strong><br />

• Ausblick<br />

• Klassifizierung <strong>und</strong> automatisches Finden möglicher <strong>Modellierung</strong>sfehler<br />

• Generatoren für "industriellen" Programmcode für Geschäftslogik<br />

• Gesucht: Industrieprojekte als „Praxistest"<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

19


Fragen <strong>und</strong> Antworten<br />

Kontakt:<br />

Tobias Brückmann<br />

Professur für Angewandte Telematik / e-Business<br />

Institut für Informatik<br />

Universität Leipzig<br />

Klostergasse 3<br />

04109 Leipzig, Germany<br />

brueckmann@ebus.informatik.uni-leipzig.de<br />

www.lpz-ebusiness.de<br />

<strong>Modellierung</strong> <strong>und</strong> <strong>Qualitätssicherung</strong> <strong>von</strong> <strong>UML</strong>-<strong>Modellen</strong> <strong>der</strong> Geschäftslogik <strong>von</strong> Informationssystemen<br />

20

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!