+ All Categories
Home > Documents > OBOE: A UML Profile and lexical language for EDOC

OBOE: A UML Profile and lexical language for EDOC

Date post: 12-Jan-2016
Category:
Upload: louisa
View: 50 times
Download: 0 times
Share this document with a friend
Description:
OBOE: A UML Profile and lexical language for EDOC. Arne-Jørgen Berre, Arnor Solberg, Jon Oldevik, Bård Kvalheim, Bjørn Nordmoen. OBOE - Open Business Object Environment med Geco, SINTEF, SSA, Prism, X/Open, HNI, UniF. Reference implementation (Demonstrator 1). - PowerPoint PPT Presentation
Popular Tags:
18
28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 1 OBOE: A UML Profile and lexical language for EDOC Arne-Jørgen Berre, Arnor Solberg, Jon Oldevik, Bård Kvalheim, Bjørn Nordmoen
Transcript
Page 1: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 1

OBOE:A UML Profile and lexical

language for EDOC

Arne-Jørgen Berre, Arnor Solberg,

Jon Oldevik, Bård Kvalheim,

Bjørn Nordmoen

Page 2: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 2

OBOE - Open Business Object Environment med Geco, SINTEF, SSA, Prism, X/Open, HNI, UniF

OBOE - Open Business Object Environment med Geco, SINTEF, SSA, Prism, X/Open, HNI, UniF

Page 3: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 3

Reference implementation (Demonstrator 1)

Client Machine

BrowserIntrospection

Java

Netscape

Windows-95/Unix

Server Machine

http

orbixd

Introspection

ComBaseAdaper

oracle

DB DB

html pages

java programs

_bind connect

iiop

IDL

ODL

SUN/Unix

C++ Layer

Page 4: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 4

User Requirements for easier development

• Modeling concepts - architecture patterns (3/n-tier services), structural (entities/relationships), behaviour (events)

• Notation - graphical, lexical

• Simplicity - code generation, distribution, persistent storage

Page 5: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 5

OBOE Reference architecture

ApplicationLayer:

DataLayer:

BusinessLayer:

UIC

UserServiceUserService

Implementation

BusinessService

BusinessEntity

BusinessServiceImplementation

BusinessEntityImplementation

Databases

Com

pon

ent In

frastructu

re

UIC implementation

DataService

Page 6: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 6

OBOE Toolset

CML representation

/* IDL file generated from CMLParser - Wed Feb 1014:35:25 CET 1999*/

// Include the CosNotifyComm.idl file from PrismTech#include <CosNotifyComm.idl>

module CarRental{ // Predefinitions of the interfaces. interface Reservation; interface Car; interface Customer; interface RentalService; interface CustomerService;

// The iterators needed in this module. interface CustomerDictionaryIterator { Customer nextCustomer(); boolean hasMoreCustomers(); };

interface ReservationDictionaryIterator { Reservation nextReservation(); boolean hasMoreReservations(); };

interface CarListIterator { Car nextCar(); boolean hasMoreCars(); };

interface ReservationListIterator { Reservation nextReservation(); boolean hasMoreReservations(); };

//Consumer and Supplier interfaces for the events. interface NotCheckedInConsumer :CosNotifyComm::StructuredPushConsumer { };

interface NotCheckedInSupplier :CosNotifyComm::StructuredPushSupplier { boolean addNotCheckedInConsumer(inNotCheckedInConsumer consumer); boolean removeNotCheckedInConsumer(inNotCheckedInConsumer consumer); };

interface NotCheckedOutConsumer :CosNotifyComm::StructuredPushConsumer { };

interface NotCheckedOutSupplier :CosNotifyComm::StructuredPushSupplier { boolean addNotCheckedOutConsumer(inNotCheckedOutConsumer consumer); boolean removeNotCheckedOutConsumer(inNotCheckedOutConsumer consumer); };

interface Reservation : NotCheckedInSupplier,NotCheckedOutSupplier { CarListIterator getCars(); void addCar(in Car aCar);

Customer getCustomer(); void setCustomer(in Customer aCustomer);

long getFromDate(); void setFromDate(in long fromDate); long getToDate(); void setToDate(in long toDate); long getRefId(); void setRefId(in long refId); long getActualOutDate(); void setActualOutDate(in long actualOutDate); long getActualInDate(); void setActualInDate(in long actualInDate);

UML Model, using theOBOE UML Profile

Methodology

OBOE code-generation tools.

EJB

CORBA 2.0

COM

Target architectures

Page 7: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 7

EventSourceDepEventListenerDependency

Dependency (from UML core)

BusinessService BusinessEntityUserService

Interface (from UML Core)

Event

Classifier (from UML core)

SubSystem (from UML Model Managment)

Package (from UML MM)

isInstantiable : Boolean

UML Profile Metamodel

Page 8: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 8

DailyStatistics<<Entity>>

MonthlyStatistics<<Entity>>

DailyReport<<Entity>>

MonthlyReport<<Entity>>

ToDateStatistics<<Entity>>

Plan<<Entity>>

Statisticskind : string = Table

<<Entity>>

ActivityType

name : stringcostFormula : stringrevenuFormula : string

getActivityCategoryTree()getParent()getPath()

<<Entity>>

0..1

0..*

0..1+subType

0..*

0..10..10..1+superType0..1

OrgUnitReportkind : string = Table

<<Entity>>

Projectname : stringprojectNo : string

getActivities()createActivity()createSubPorject()getSubprojects()

<<Entity>>

0..*0..1+subProjects

0..*0..1

0..1 0..1

+plan

0..1 0..1

0..*0..1

+statistic

0..*0..1

Propertyname : Stringtype : Stringvalue : String

<<Entity>>

Product

id : ProductIdname : stringunit : stringvalue : string

<<Entity>>

Activity

name : stringcomment : stringstartTime : TimeTagendTime : TimeTag

getCost()getRevenu()getProduction()getDuration()addProduction()

<<Entity>>

0..*

0..*

+products

0..*

+activities0..*

0..*

0..1

0..*

+type

0..1

0..*0..1

+activities

0..*0..1

ActivityService

getActivityStatistics()getActivityReport()createActivity()getProjectPlan()getActivitiesByType()getProduct()getProductByActivity()getActivitiesByOrgUnit()getActivitiesByProject()getProjects()getProject()getActivityCategoryTree()getRevenuLog()getRevenuSummary()getTimeUsageLog()getTimeUsageSummary()getPlan()getActivityReports()getActivitiesToSubscribe()

<<Service>>

0..*

0..1

+projects0..*

0..1

0..*

0..1

+activities0..*

0..1

OrgUnit

name : stringid : OrgUnitId

<<Entity>>

0..*0..1

+subOrg0..*

+parentOrg

0..1

0..1

0..*

0..1

+orgUnitReports

0..*

0..*

0..*

+projects

0..*

+orgUnits0..*

0..*

0..1

+orgElements

0..*

0..1

0..*

0..1

+properties0..*

0..1

Property

name : Stringtype : Stringvalue : String

<<Entity>>

0..* 0..1

+properties

0..* 0..1

0..* 0..1

+properties

0..* 0..1

Site

name : stringadress : stringlatitude : stringlongitude : string

<<Entity>>0..*

0..1

+site

0..*

0..1

0..*0..10..*0..1

0..*0..*

+orgUnits

0..*

+site

0..*

0..*

0..1

+properties

0..*

0..1

UML Example

Page 9: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 9

entity Project : Activity { relationship list <OrgUnit> orgUnits inverse projects; relationship list <Activity> activities; relationship Project sub; relationship Plan plan; relationship list <Statistics> statistics; attribute string name; attribute string projectNo; ActivityListIterator getActivities(); boolean createActivity(in ActivityType at, in Activity a); boolean createSubPorject(in string name, in string projectNo); ProjectListIterator getSubprojects(); };

CML example

Page 10: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 10

CORBA Prism BOF CORBA services

CodeGeneration

UML Tools

OBOE CMLActivity Service

Report Subscription service

ReportSubscriptionActivity Inspector

Light Persistent State Service

JDBC

OODB RDB

Light POANotification service

Event service

Authorisation service

Naming Service

Trader service

Property service

Relationship service

BOMBusinessObject

Methodology

Activity Editor

Page 11: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 11

UML tool

Car

CustomerCarRentalRentalService

Visual modelling

CML parser

RDB

Lexical representationHUTN

ORB

Java mapping

ORB client mapping

Client

code generation /emitters

Architecture

User Services

Entityservices

Tools

Businessservices

DB accessmapping

ServantActivator (LPSS)

Light Persistence State Service (LPSS)

Persistent Entity Objects

OODB

PersistentService Objects

Factories forpersistent objects

POA

JDBC

ORB server mapping

DB definitionmapping

Page 12: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 12

OMG RFP processUM L

m etam odelEDOC

extensions

CORBA 2.1w/services

EnterpriseJava Beans

CORBA 3.0w/Com ponents

COM +

UM Lgraphical

syntax

Hum an usablelexical syntax

(CM L)

2

1a

1b 3

4a4b

4c

5

Letter ofintent

Initialsubmission

Revisedsubmission

BOD adoption

1. EDOC Profile 8/1/99 10/25/99 4/2000 7/2000

2. CORBA

Profile6/1/99 8/2/99 1/2000 4/2000

3. HUTN 8/1/99 1/2000 6/2000 10/2000

Page 13: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 13

OBOE ResultsExample

Geco Schlumbergerinitial reference pilot

+final pilot using the

technology

Input to :OMG Business Object

Inititative, DISGIS, ISO/TC211, OpenGIS

Technology

EDOC Modeling Concept (User, Business, Data

service: entity, relationship, events)

UML ProfileCML language

Code generation tool

UML-based methodology

Poster/Demonstration ,Stresa: Tuesday 29/6, 1400Web-site from August, 1999: http://www.opengroup.org/oboe

Page 14: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 14

Page 15: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 15

Modeling with OBOE (UML with extensions or CML)

UML (w. ext)CML

module CarRental{userservice CarRental

{ };userservice RentalManagment;

};

module Rentals{service RentalService

{ReservationID doReservation(in)

relationship list<salesPerson>relationship dictionaryrelationship list<Item>subscribe notCheckedIn;subscribe notCheckedOut;

};

entity Reservation {

attribute Date fromDate;attribute Date toDate;attribute long refID;attribute Date actualOutDate;attribute Date actualInDate;

}};

CORBA 2.0

(CORBA Services)

Enterprise JavaBeans

COM / ActiveX

1 2 3

OBOE Framework & CORBA, EJB, COM, ...

Page 16: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 16

Event Listener

Event Source

removeEventListener( EventListener el);addEventListener( EventListener el);

List of eventlisteners

Event Listener

Entity/Serviceimplementingthe event listenerinterface.

Event Source

signalEvent(Event e);

Event Listener

handleEvent(Event e);

EventEvent

List of eventlisteners

Event

E1<<Entity>>

E2<<Entity>>

Event1 <<Event>><<EventSource>> <<EventListener>>

Page 17: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 17

BOFAccess-right

Service

ActivityService

ActivityInspector

ReportSubscription

ActivityEditor

ReportSubscriptionService

CORBANameService

NotificationService

PersistenceService

POA

Trilogysystem Email

Service

Demonstrator 5Architecture

Page 18: OBOE: A UML Profile and lexical language for EDOC

28th-30th June 1999 EC 5th GIS Workshop - Stresa, Italy 18

BM

Concepts&Artifacts

Processes

Actors

Bu

sin

ess

Sys

tem

Model world Real world

ApplicationLayer:

DataLayer:

BusinessLayer:

UIC

UserServiceUserService

Implementation

BusinessService

BusinessEntity

BusinessServiceImplementation

BusinessEntityImplementation

Databases

Com

ponen

t Infrastructu

re

UIC implementation

AppReqM

Analysis

Design

Implementation

DataService

Business vission &Prod desc.Risk

analysisDomain Model

RM

DM

IM AppImpBusImp

DataImp

ArchitectureDesign

CollaborationDesign

DetailedDesign

High levelUse case mod

DetailedUse case mod

BOM


Recommended