08.11.2014 Views

B-OSL - Object Oriented Specification Language for business ...

B-OSL - Object Oriented Specification Language for business ...

B-OSL - Object Oriented Specification Language for business ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

B-<strong>OSL</strong> <strong>Object</strong> <strong>Specification</strong> <strong>Language</strong> <strong>for</strong> Banking<br />

file:///E:/_pilne/<strong>OSL</strong>-en/b-osl-en.htm<br />

1 z 6 2013-02-23 09:24<br />

"There's nothing as practical as good theory" (Kurt Lewin)<br />

B-<strong>OSL</strong> - <strong>Object</strong> <strong>Oriented</strong> <strong>Specification</strong> <strong>Language</strong> <strong>for</strong> <strong>business</strong> - proposal<br />

(banking example)<br />

Copyright by Zygmunt Ryznar<br />

<strong>OSL</strong> (<strong>Object</strong> <strong>Specification</strong> <strong>Language</strong>) contains <strong>business</strong> independent standard phrases, dedicated <strong>for</strong> definition any<br />

objects, and key-words applied in a given <strong>business</strong>-area and/or in global <strong>business</strong> environment (UNIVERSE).<br />

B-<strong>OSL</strong> is a subset of <strong>OSL</strong> (<strong>Object</strong> <strong>Specification</strong> <strong>Language</strong>) dedicated to define <strong>business</strong> objects. <strong>Object</strong><br />

is independent (self-contained) object having at least its own name, identifier, properties, behaviour and<br />

"history". <strong>Object</strong> class includes various types of objects (concrete and abstract, existent and<br />

non-existent, real and ideal, independent and dependent).<br />

For banking typical objects are bank, headoffice, branch, customer, deposit-account, loan-accout, account<br />

manager, loan-credit line, product offered by bank, dealer...etc.<br />

Description is related to the main object called SUBJECT (e.g. bank). UNIVERSE, AREA i SUBJECT could be<br />

treated as super-classes (at a top-hierarchy). Business classes within AREA are user-defined, to reflect<br />

SUBJECT behaviour and needs. <strong>Specification</strong> contains also executive/operational objects, like account<br />

manager, teller etc. and technical infrastructure objects (like servers, databases).<br />

<strong>OSL</strong> NOTATION<br />

<br />

<br />

=> <br />

<br />

<br />

<br />

<br />

::= <br />

:= <br />

= <br />

: <br />

:: <br />

==


B-<strong>OSL</strong> <strong>Object</strong> <strong>Specification</strong> <strong>Language</strong> <strong>for</strong> Banking<br />

file:///E:/_pilne/<strong>OSL</strong>-en/b-osl-en.htm<br />

2 z 6 2013-02-23 09:24<br />

{.....} <br />

(x,y,..) <br />

YYYYYY.UUUUU(XXXXXX) <br />

[name] <br />

(XXXX) <br />

keywords <br />

Environment (ENV)<br />

ENV:=(REGULATIONS, INFRASTRUCTURE)<br />

ENV.REGULATIONS:=(Legal acts, resolutions, decisions ... etc.)<br />

ENV.INFRASTRUCTURE:=( Servers,OperationalSystems, TransactionalDataBases,<br />

DataWarehouses,NetworkManagementSystem, OrganizationalStructureOfCompany )<br />

<strong>Object</strong> specifications includes elements:<br />

-id <br />

-infoWindow <br />

-dataTable <br />

-typ obiektu <strong>Object</strong>Types : (eOBJECT<br />

- (ROLE)<br />

- ( OLH -<strong>Object</strong> Life History )<br />

- (RELATIONS)<br />

-dynamic characteristics(PROCESSses, transactions. events, mode of triggering etc.)<br />

-mode of execution (EXECUTION_MODE:= modeRT ,modeBAT modeOND )<br />

- (DATA_FLOW)<br />

- (CONTROL_FLOW)<br />

Other <strong>OSL</strong> phrases:<br />

trigger ,<br />

generator ,<br />

agent ,<br />

integrator ,<br />

executor ,<br />

participator ,<br />

owner, stockholder, customer, supplier; partner, employee,<br />

component <br />

per<strong>for</strong>mance center )<br />

RELATIONS:=((activated by / activates, activated when/if,


B-<strong>OSL</strong> <strong>Object</strong> <strong>Specification</strong> <strong>Language</strong> <strong>for</strong> Banking<br />

file:///E:/_pilne/<strong>OSL</strong>-en/b-osl-en.htm<br />

3 z 6 2013-02-23 09:24<br />

appearence depends on <br />

assisted by, belongs to /is owned by , built from ,<br />

calls (xxx,yyy) <br />

consists of , contained in/contains, controlled by / controls,derived from,<br />

driven by transaction,driven by product ,driven by banking regulations,<br />

driven by customer, driven by date, driven by schedule,driven by frequency<br />

existence depends on <br />

exists when/in/<strong>for</strong>, evaluated as critical/most wanted , included in ,<br />

linked to ...by / links, matched/matches <br />

refers to relates to, related by affinity, represented by /<br />

represents , involved in, shared by / shares, used by / uses)<br />

STATE := (active,inactive,dormant,suspended,aborted,idle, lost)<br />

STATUS := (generic, real, virtual)<br />

dOBJECT<br />

iOBJECT<br />

vOBJECT < virtual object e.g. mirror Nostro accounts >.<br />

dOBJECT ::= (EVENT,TRANSACTION,ACTION,PROCESSS)<br />

<br />

<br />

<br />

<br />

<br />

{CONTROL_FLOW<br />

repetition :=( iteration, single spiral, multiband spiral )<br />

activated .... BY ...with AT WHEN ..<br />

finished AT < > with WHEN ...}<br />

{ DATA FLOW<br />

from () <br />

to () <br />

dataGeneration Method <br />

dataEncoding Method <br />

dataCompressing Method <br />

}<br />

{BODY ::= ( Contents, Script, Metadata)


B-<strong>OSL</strong> <strong>Object</strong> <strong>Specification</strong> <strong>Language</strong> <strong>for</strong> Banking<br />

file:///E:/_pilne/<strong>OSL</strong>-en/b-osl-en.htm<br />

4 z 6 2013-02-23 09:24<br />

contents <br />

script <br />

metadata }<br />

Simple example of B-<strong>OSL</strong> (<strong>OSL</strong> <strong>for</strong> banking)<br />

(<strong>for</strong> illustration purpose only)<br />

<br />

<br />

<br />

infoWindow: =(BankId , BusinessType ,<br />

country, bCurrency, FinancialYear, number of branches, RankingPosition, CurrencyLimits)<br />

dataTables:= (CorrespondentBanks, Branches, Calendar-WorkingDays, bkAccountChart><br />

<br />

<br />

<br />

id :=BIC<br />

keywords:= (IBAN , ICC , BIC<br />

dataTables:= (LIBOR, OperatingCurrences >,<br />

<br />

<br />

BUSINESS_MODULES::=(DEPOSITS, LOANS, CIF-INFO, MONEY-MARKET, PAYMENTS, DERIVATES,<br />

SHARES)<br />

keywords:=( BranchNr, CustomerId, AccountNr, Rate, Balance, tunParameter{<br />

)<br />

dataTables := (Product)<br />

procedures:= (NaliczOds, ...)<br />

interest-rate refers to <br />

Operational<strong>Object</strong>s ::= [teller, AccountMgr, CustomerMgr, ProductMgr, trader]<br />

{<br />

CLASS ::= ( SUBJECT, PRODUCT, CURRENCY, LIMIT, ACCOUNT,<br />

TRANSACTION,OPERATION,PROCESS,EVENT)<br />


B-<strong>OSL</strong> <strong>Object</strong> <strong>Specification</strong> <strong>Language</strong> <strong>for</strong> Banking<br />

file:///E:/_pilne/<strong>OSL</strong>-en/b-osl-en.htm<br />

5 z 6 2013-02-23 09:24<br />

PRODUCT ::= (ACCOUNT, DERIVATIVES, )<br />

ACCOUNT::= (CURRENT, DEPOSIT, LOAN)<br />

LIMIT ::= (COUNTRY, INDUSTRY, CUSTOMER, CURRENCY)}<br />

{<br />

eOBJECT ::= (CUSTOMER,BANK,ACCOUNT,CURRENCY, DERIVATIVES) <br />

iOBJECT::= (CUSTOMER-POSITION, MONTHLY-BALANCESHEET) <br />

}<br />

{ <br />

SUBJECT : (coSUBJECT , prSUBJECT )<br />

BANK: (dmBANK , corBANK )<br />

ACCOUNT: (bsACCOUNT ,nbsACCOUNT <br />

TRANSACTION:<br />

(rtTRANSACTION ,<br />

eodOPERATION )}<br />

eomOPERATION )}<br />

eoyOPERATION )}<br />

eoppOPERATION )}<br />

EVENT: ( in-ev , end-ev , pn-ev , dl-ev )} rv-ev <br />

<br />

<br />

infoWindow :=(owner, co-owner<br />

MinBalance,actualBalance,HistoryStatement)<br />

Relates to CUSTOMERid<br />

rtTRANSACTION := (Open, Quit, Cash-in, Cash-out, transfer)<br />

eomTRANSACTION:= (printStatement)<br />

tunParameter := (interest-rate, period, ...) <br />

id::= (AccountNr)<br />

exists <strong>for</strong> prSUBJECT <br />

initiated by FirstPayment <br />

ACCOUNT.CURRENT::infoWindow :=(DebetLimit , repPAYMENTS, StatementType, VisaCardId)<br />

calls ArchEvent(5y,eoy) )<br />

<br />

<br />


B-<strong>OSL</strong> <strong>Object</strong> <strong>Specification</strong> <strong>Language</strong> <strong>for</strong> Banking<br />

file:///E:/_pilne/<strong>OSL</strong>-en/b-osl-en.htm<br />

6 z 6 2013-02-23 09:24<br />

Concluding remarks<br />

B-<strong>OSL</strong> specification is a descriptive schema with links to in<strong>for</strong>mation technology. It could be a good<br />

base <strong>for</strong> comparative analysis of banking solutions (if all of them are specified in the same notation).<br />

Going further, if the implementation of this language is equipped with computer generator of tables<br />

and graphs, the "image" of <strong>business</strong> object is more readable.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!