B-OSL - Object Oriented Specification Language for business ...
B-OSL - Object Oriented Specification Language for business ...
B-OSL - Object Oriented Specification Language for business ...
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.