Top Banner
C ompuwareCorporation 1 Begin
78

Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 1

Begin

Page 2: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation

Modeling Transformations with XMOFWim BastChief ArchitectSeptember 04, 2003

Page 3: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 3

Agenda

What are Transformations ?

An XMOF example

–The Breakfast Order System

–Transforming Classes To Tables

–Transforming Associations to Foreign Keys

–Transforming Attributes To Columns

Conclusion

Page 4: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 4

What are Transformations ?

Page 5: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 5

Breakfast Classes

UML

expressed in

CWM

Breakfast Tables

expressed in

MOF

UML

expressed in

CWM

MOF

expressed in

Formal Languages and Specifications

Lang. X

Specification

A

expressed in

Page 6: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 6

A Specification is a well-formed Structure with Meaning

Lang. X

well-formed according

structure

Page 7: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 7

Transformations

Lang. Y

Specification

B

Lang. X

Specification

A

expressed in expressed in

Transformation C

Transformation Definition Z

defined by

Page 8: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 8

Example

CWM

Breakfast Tables

UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

O/R Transform. Definition

Page 9: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 9

Example

XML Schema

UML XML Schema

MOF

UML

expressed in expressed in

U.Transformation

defined by

XMI

Page 10: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 10

well-formed according

Matching and Deriving Patterns

Lang. YLang. X

well-formedaccording

Transformation Definition Z

derivedpatterns

matchedpatterns

defined by

transformation

Page 11: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 11

well-formedaccording

What is a Transformation ?

Lang. YLang. X

well-formedaccording

Transformation Definition Z

derivedpatterns

matchedpatterns

?defined by

Page 12: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 12

well-formedaccording

well-formedaccording

A Transformation is a well-form Inter-Specification Structure

Lang. YLang. X

well-formedaccording

Transformation Definition Z

transformation

derivedpatterns

matchedpatterns

Page 13: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 13

well-formedaccording

well-formedaccording

Matching and Deriving Patterns

Lang. YLang. X

well-formedaccording

Transformation Definition Z

derivedpatterns

transformation

matchedpatterns

Page 14: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 14

well-formedaccording

well-formedaccording

Derivation of Patterns implies both Creation and Deletion

Lang. YLang. X

well-formedaccording

Transformation Definition Z

transformation C

Page 15: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 15

well-formedaccording

well-formedaccording

Derivation of Patterns implies both Creation and Deletion

Lang. YLang. X

well-formedaccording

Transformation Definition Z

transformation C

Page 16: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 16

well-formedaccording

well-formedaccording

Derivation of Patterns implies both Creation and Deletion

Lang. YLang. X

well-formedaccording

Transformation Definition Z

transformation C

Page 17: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 17

well-formedaccording

well-formedaccording

Some Transformations areBi-Directional

Lang. YLang. X

well-formedaccording

Transformation Definition Z

transformation C

matchedpatterns

derivedpatterns

Page 18: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 18

Lang. Y

Spec. B

expressed in

Transformations and MOF

Lang. X

Spec. A

expressed in

Transformation C

Transformation Definition Z

defined by

MOF

expressed inexpressed in

XMOF

expressed in

Page 19: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 19

• A transformation is a inter-specification structure with automated matching and deriving of patterns

• Creations, deletions and changes of elements are implied by the pattern constraints in the transformation definition

• Some transformations are bi-directional• Transformations transform instances of

models defined with MOF

Transformations Conclusions

Page 20: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 20

Important Requirements for a Transformation Language

• Leverages current Model languages like MOF and OCL

• Defines transformations in a structural (non imperative) fashion

• Defines Transformations in an executable way

• Does NOT defines anything about the ‘how’ and the ‘when’ of the execution process

• Is user (writer & reader) friendly

Page 21: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 21

XMOF• Compuware’s and SUN’s solution to the MOF 2.0

Q/V/T RFP

• Fulfills all the requirements as mentioned in this presentation and much more

• Is based on and reuses MOF / UML-infrastructure and OCL

• Models executable transformations

• Is a lean and mean extension to class modeling

• Is implemented and working

• Is very beautiful

Page 22: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 22

An XMOF Example

Page 23: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 23

The Breakfast Example

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 24: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 24

UML Model of the Breakfast System

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 25: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 25

Ref: MDA Explained, Fig. 4-2]

Page 26: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 26

Page 27: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 27

Meta Model of Simple UML

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 28: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 28

Page 29: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 29

RDBMS Model of the Breakfast System

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 30: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 30

ComestibleType_tid : NUMBER

Name : VARCHAR

BreakfastType_tid : NUMBER

Name : VARCHAR

Price : NUMBER

Part_tid : NUMBER

hasComestibleType_ComestibleType_tid : NUMBER

isPartOf_BreakfastType_tid : NUMBER

isPartOf_BreakfastOrder_tid : NUMBER

amount : NUMBER

BreakfastOrder_tid : NUMBER

hasBreakfastType_BreakfastOrder_tid : NUMBER

hasBreakfastType_BreakfastType_tid : NUMBER

address_name : VARCHAR

address_street : VARCHAR

address_number : NUMBER

amount : NUMBER

orderDate_day : NUMBER

orderDate_month : NUMBER

orderDate_year : NUMBER

deliverDate_day : NUMBER

deliverDate_month : NUMBER

deliverDate_year : NUMBER

price : NUMBER

Page 31: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 31

Meta Model of Simple RDBMS

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 32: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 32

Page 33: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 33

Meta Models Overview

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 34: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 34

Page 35: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 35

UML To RDBMS

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 36: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.
Page 37: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 37

Transforming Classes To Tables

Page 38: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 38

Classes

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 39: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 39

Page 40: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 40

Tables

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 41: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 41

ComestibleType_tid : NUMBER

BreakfastType_tid : NUMBER

Part_tid : NUMBER

BreakfastOrder_tid : NUMBER

Part

BreakfastOrder BreakfastType

ComestibleType

Page 42: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 42

Classes in Simple UML

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 43: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 43

Page 44: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 44

Tables in Simple RDBMS

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 45: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 45

Page 46: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 46

Classes To Tables

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 47: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.
Page 48: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 48

Transforming Associations To Foreign Keys

Page 49: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 49

Associations

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 50: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 50

Page 51: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 51

Foreign Keys

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 52: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 52

ComestibleType_tid : NUMBER

BreakfastType_tid : NUMBER

Part_tid : NUMBER

hasComestibleType_ComestibleType_tid : NUMBER

isPartOf_BreakfastType_tid : NUMBER

isPartOf_BreakfastOrder_tid : NUMBER

BreakfastOrder_tid : NUMBER

hasBreakfastType_BreakfastOrder_tid : NUMBER

hasBreakfastType_BreakfastType_tid : NUMBER

Part

BreakfastOrder

BreakfastType

ComestibleType

Page 53: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 53

Associations in Simple UML

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 54: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 54

Page 55: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 55

Foreign Keys in Simple RDBMS

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 56: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 56

Page 57: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 57

Associations To Foreign Keys

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 58: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.
Page 59: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 59

Transforming Attributes To Columns

Page 60: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 60

Attributes

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 61: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 61

Page 62: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 62

Columns

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 63: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 63

ComestibleType_tid : NUMBER

Name : VARCHAR

BreakfastType_tid : NUMBER

Name : VARCHAR

Price : NUMBER

Part_tid : NUMBER

hasComestibleType_ComestibleType_tid : NUMBER

isPartOf_BreakfastType_tid : NUMBER

isPartOf_BreakfastOrder_tid : NUMBER

amount : NUMBER

BreakfastOrder_tid : NUMBER

hasBreakfastType_BreakfastOrder_tid : NUMBER

hasBreakfastType_BreakfastType_tid : NUMBER

address_name : VARCHAR

address_street : VARCHAR

address_number : NUMBER

amount : NUMBER

orderDate_day : NUMBER

orderDate_month : NUMBER

orderDate_year : NUMBER

deliverDate_day : NUMBER

deliverDate_month : NUMBER

deliverDate_year : NUMBER

price : NUMBER

Page 64: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 64

Attributes in Simple UML

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 65: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 65

Page 66: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 66

Columns In Simple RDBMS

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 67: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 67

Page 68: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 68

Attributes To Columns

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 69: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.
Page 70: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 70

Putting it All Together

Page 71: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 71

UML To RDBMS Complete

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 72: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.
Page 73: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 73

The Actual Transformation

Simple RDBMS

Breakfast Tables

Simple UML

Breakfast Classes

expressed in expressed in

B.Transformation

defined by

UML TO RDBMS

Page 74: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 74

Conclusion

Page 75: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 75

Modeling with XMOF

at Workis like

Drinking Champagneat Breakfast

Page 76: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 76

Intelligent Incremental Transformations in Practice

OptimalJ

demo at the

Compuware

booth

Page 77: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 77

Addison-Wesley

ISBN:

0-321-19442-X

Page 78: Compuware Corporation 1 Begin. Compuware Corporation Modeling Transformations with XMOF Wim Bast Chief Architect September 04, 2003.

CompuwareCorporation 78

End