• Ingen resultater fundet

Inquiry Quote,Decline,Wrong

N/A
N/A
Info
Hent
Protected

Academic year: 2022

Del "Inquiry Quote,Decline,Wrong"

Copied!
36
0
0

Indlæser.... (se fuldtekst nu)

Hele teksten

(1)

Domain Models of \The Market"

| in Preparation for E{Transation Systems

Dines Bjrner

Informatis&MathematialModelling

TehnialUniversityofDenmark

DK{2800Kgs.Lyngby,Denmark

dbimm.dtu.dk

Abstrat

ByanE{TransationSystemweshallunderstandaomputer&ommuni-

ations{basedsystemwhihsupport,and,inpartsautomatesexhanges

ofation{invokingloal state{hangingmessages(ie., transations) be-

tweenawidevarietyofators(traders). By\TheMarket"weshallrst

understandastrutureofonsumers,retailers,wholesalersandproduers

|ie., thetraders. Laterweshallextendournotionof\TheMarket".

WepresentinformalEnglishlanguagedesriptions(narratives)andfor-

malmodelsofa\Market"onept. Whatgenerallyharaterisetraders

are the kindof interations they engagein: Issuing inquieries and of-

feringquotations, plaingand aeptingorders,eetingand aepting

deliveries,postingand payinginvoies, et. Traders dynamiallyform

`supplyhains'. Anytradermay,potentially,overdierentinterations,

atanyoneofthetraderr^oleslistedearlier. Wethen\lift"themarketto

inludeagents 1

(atingonbehalfofanyoneofthetraderslistedearlier),

and brokers(ating onbehalfof`sequenes' oftwoor more\adjaent"

traderswhile basiallyengaginginthekindoftransationsenumerated

above). Wenishbyrstmakingsomeremarksontheuseofthemodel

presented as abasis for requirementsdevelopment. Thenwe \lift"the

notionoftraderstonotjustrepresentingpairsofbuyersandsellersina

onventionalsupplyhainofmerhandise,butanypairsof(institutional)

GovernmenttoG(G2G),Gto(privateorpubli)Business,Gto(individ-

ual, human) Citizen, B2G, B2B, B2C, C2G, C2B, and C2C transation

possibilities.

1

Westressthatthe notionof`agents'used hereisnotthesamenotionasitisurrently

envogueintheAIommunity.But,aswepointoutinaonludingsetion,Setion11.5.2,

(2)

11.1 Introdution

The aim of this paper is to ontribute to preise understandings of what is

meant by E{Commere, {Business,{Government, et. Wesuggestto ahieve

this goal by \imposing" orderly, formal tehniques{based proesses, rst of

analysis,laterofsynthesis,onthedevelopmentofsoftwarefor\suh"E appli-

ations.

11.1.1 The Setting

Some fats: Before software and omputing systems an be developed, their

requirementsmustbereasonablywellunderstood. Beforerequirementsanbe

nalisedtheappliationdomain,asitis, mustbefairlywellunderstood.

Some opinions: In today's software and omputing systems development

verylittle,ifanythingisdone,welaim,toestablishfairunderstandingsofthe

domain. It simply does not suÆe, we further laim, to reord assumptions

aboutthedomain when reordingrequirements. Farmoreradialtheories of

appliationdomainsmustbeathandbeforerequirementsdevelopmentiseven

attempted.

Inthispresentationweadvoateastrongr^olefordomainengineering. We

arguethat domaindesriptionsarefarmorestable thanarerequirementspre-

sriptionsfor support of oneor anotherset of domain ativities. We further

argue,thatone,givenextensivedomaindesriptions,itisomparativelyfaster

to establishtrustworthyand stable requirementsthan itis today. We nally

arguethat onewehaveasuÆient(varietal)olletionofdomainspei,ie.

related,albeitdistint,requirements,weandevelopfarmorereusablesoftware

omponentsthanusingurrentapproahes.

Thus, in this ontribution we shall reason, at a meta-level, about major

phasesofsoftwareengineering: Domainengineering,requirementsengineering,

andsoftwaredesign.

In other papers 2

we suggesta number of domain and requirementsengi-

neering as well as software design onerns, stages and steps, notably: Do-

mainfaets,inludingdomainintrinsis,supporttehnologies,management&

organisation, rules & regulations, as well as human behaviour. respetively

requirements: Domain requirements,interfaerequirements, and mahine re-

quirements. Speially: Domainrequirementsprojetion,determination,ex-

tension,andinitialisation.

11.1.2 The Bakground

Wementiontwofaetsofthebakgrounduponwhihthispaperisputforward.

2

(3)

Ourmainresearhdiretion isthatoftryingtoometo gripswith\What

issoftwareengineering?". Theenumerationsoftheprevioussetionprovidesa

glimpseintohowweintendtoanswerthatquestion: Softwaredevelopmentas

athree phase\aair"onsistingof the(possiblyoverlappingandre{iterated)

developmentsof domaindesriptions,requirementspresriptionsandsoftware

designs|witheahofthesephasestypiallyonsistingofuptoseveralstages

ofdevelopments(\renements",\transformations"),andwith stagestypially

onsisting of several steps. Our quest, along this rst faet of methodology,

isone ofdisovering(identifying), researhing, and developing priniples and

tehniquesforsensibledispathesofphases,stagesandsteps.

A derivative \researh"diretion is then that of applying these proposed

priniples andtehniquesto the buildingof spei domain theories. Justas

wehavethetheoriesofmehanis,eletriity,thermodynamis,et.,ofphysis,

so we would like to see theories emerge from domain models of man{made

universes suh as transport and logistis, nanial servie industry, health{

are,et.

The present paper onstitutes a seond beginning (f. [Bj01b℄) with re-

spet toapossibletheoryofsomeform of\market"domain. Weanreferto

similar suh \rst beginnings" for arailway domain [Bj94, BLP94, BGP99,

BPG99a,BPG99b,Bj00b,Bj03i℄,aresouremanagementdomain[Bj00a℄,a

projets(ie.,aprojetmanagement)domain[Bj99b,Bj03h℄,asustainablede-

velopmentdomain[Bj99a℄,alogistisdomain[Bj03e℄,ahealth{aredomain

[Bj03d℄,asheries(industry)domain[Bj98℄,ananialservie{industrydo-

main [BRH98, Bj03℄, and many others. Thepresentstage of mostof these

\rst beginnings" is that they are all somewhat skethy: Their ongoing de-

velopment is pursuedasmuh for the reason of testing developmentmethod

priniples and tehniques| and disoveryof new oralternative suh, asfor

thereasonoftheseonjetured, respetivedomaintheories.

Ingeneral,our seondresearhfaet aimsat overingvarious examplesof

the onept of infrastruture omponents and has, as its objetive, that of

eventuallybeingabletoharaterisetheinfrastrutureonept[Bj95,Bj96,

Bj01a,Bj02d℄

3

.

11.1.3 The Struture of the Paper

Setions11.2{11.3,besidesonstitutingthe\bulk"ofthispaper,alsoisinthe

formofaofthedoumentationthat wefavourfortheearlystagesofdevelop-

mentofsoftware. Setion11.2brieyoutlinesaprojetofdevelopingadomain

modelleadingupto E{Commere. Setion11.3presentsmain omponentsof

theformal doumentation ofa domainmodel for\the market". Setion 11.4

speulates on possible requirements for \E{Business", where, from a limited

viewof \the market" as onsisting of traders in the private enterprise sphre

3

(4)

andof onsumers,wegeneralisebyre{interpretingthemarket interations of

inquieries, quotes, delinations,refusals, orders, onrmations,deliveries, a-

eptanes,invoiings,payments,aknowledgements,returns,andrefunds(soon

tobeidentied)|withslight\re{labellings"|intointerationsbetweenand

withinGovernment,Businesses,andConsumers,that is: G2G,G2B,G2C,B2G,

B2B,B2C,C2C,C2B,andC2G.

Thenexttwosetionsarethus presentedaswewould developandpresent

maindoumentsofsoftwaredevelopment,frominitial, pragmatiprojetdo-

uments,viadomainmodellingdoumentsto,ashere,requirementsdouments.

Wedonotpresentalldouments,but ommentbrieyonthoseleftout.

11.2 Initial Projet Douments

The sope 4

of our onern is the market of onsumers, retailers, wholesalers

and produers. Thespan 5

of ouronern is the set of those ativitiesof the

marketthanan bemehanisedusingomputers andommuniation.

11.2.1 Needs and Ideas

Anoverall needispereivedfordeployingomputers andommuniation(in-

luding the Internet) to support a number of market transations. The

mainideasaretosupportthoseofinquiringastowhihprodutsareavailable,

their prie and delivery onditions, replying to suh inquieries, order-

ing produts,onrming, delivering,aepting, invoiing, paying, rejeting,

returning,andrefunding suhorders,respetivelydeliveries.

6

Further ideas are to provide speeh at{based software \agents"

7

[Pet02℄

fousedaroundmodallogis|notoveredinthepresentpaper.

11.2.2 The Design Brief

Theoveralldesignbriefistoprovideaskethofadomainmodelofthemarket.

Themodel shall be both informally and formally desribed. Andthe model

shallenablerequirementsdevelopment.

4

Weusetheterm`sope'inthesenseof[Ja95 ℄.

5

Weusetheterm`span'inthesenseof[Ja95 ℄.

6

Observetheuseofthreetypefonts: sansserif fordoumenttypes,slanted fordomain

operations,andtele typefordomainentities.

7

Cf. Footnote 1: Weare now,here, referringto what istraditionallyviewedas an AI

(5)

11.3 The Domain

By a domain we understand an area of human (or other) ativity. Exam-

plesare: \therailwaydomain",\the health{aredomain",thedomain ofthe

\nanial servie industry", et. Elsewhere the omposite term `appliation

domain',where`appliation'signalsthat thepersonwhoutterstheomposite

termintendstoapplyomputers&ommuniationtoproblemsofthedomain.

We presentour understanding of adomain through douments. Software

developmentisfoused onthedevelopmentof(semantiallymeaningful)do-

uments.

11.3.1 Informative Douments

We normally operatewith three kinds of douments: Informative(ie., prag-

mati),desriptive(ie.,syntatiandsemanti), respetivelyanalyti(valida-

tion&veriation)douments. Weshallexemplifyonlythersttwokindsof

douments,andthenonlysomeofthese.

Needsand Ideas

We need both informal and formal deriptions. Informal desriptions serve

validationpurposes: Arewedealingwiththeright\thing"? [Boe81℄. Formal

desriptions serve veriation purposes: Are we getting the \thing" right ?

[Boe81℄.

The ideasare to letthe informaldesriptions\follow" the formalmodels,

andtolettheformalmodelsbeexpressedintheRaiseSpeiationLanguage

(RSL)[GHH +

92,GHH +

95℄.

Etetera: Anatual`needsandideas'doumentmayontainfurtherdetails!

The DesignBrief

Thedomaindesign brief isto providedesriptiveand analytidouments: (i)

Roughskethesof theonepts ofthemarket,(ii)theformulationof abstrat

marketonepts(basedon(iii)analysesoftheroughskethes),a(iv)termino-

logyforthemarketdomainasitappliestothegivenproblem,andaombined

(v+vi)narrative(ie.,informal)andformaldesriptionofthemarket.

Etetera: Anatual`domain designbrief'doument will (shall)ontainfurther

details!

Onthe Contrat

Aontratdesribes`partiestotheontrat',`thesubjetmatter' and`onsid-

erations'.

Theontratualrelationshippotentiallyinvolvesthefollowingmarketstake-

(6)

brokers,naning(payment, et.), anddelivery(ie.,transport)servies|as

wellasthefollowingomputingsystemsstake{holders: domainengineers. The

`subjetmatter'isdesribedintheoveralldesignbriefandinthedomaindesign

brief. The ontratstatesthe following `onsiderations': (a)that themarket

stake{holders shall validate the domain desriptions provided by the domain

engineers,and(b)thatthelattershallhave\suh{and{suhfree"aesstothe

market stake{holders(in order to obtain theneessaryand suÆient domain

knowledge).

Etetera: Anatual`ontrat'doumentwill(shall)ontainfurtherdetails!

11.3.2 Desriptive Douments

Wepresentafairseletionof partsofdesriptivedouments.

ARough Skethand its Analysis

Werstbringanexampleroughsketh,thenitsanalysis. Afterthatwebring

bothroughskethesandanalyses.

Buyers and Sellers: Firsta roughskethof what is meantby buyersand

sellers,thenitsanalysis.

Rough Sketh: Consumers, retailers, wholesalers and produers form the

major\players"inthemarket.

A onsumer may inquire with asupposedly appropriateretailer asto the

availabilityofertainproduts(ummerhandise): Theirprie,deliverytimes,

otherdeliveryonditions(inl.quantityrebates),andnaning(ie.,payment).

A retailer may respond to a onsumer inquiry with either of the following

responses: Aquoteoftherequestedinformation,ora(ourteous)delination,

oramessage that the inquirywas misdireted(refusals), orthe retailermay

deidetonot, orfail to, respond ! A onsumermaydeide toorder produts

with a supposedly appropriate retailer, whether suh an order has been or

has not been preeded by a related inquiry. The retailer may respond to a

onsumerorder with either of thefollowingresponses: Conrming, delining

or \no{response", with a onrmation being following either by a delivery,

or no delivery | or the retailer may just provide a delivery, or inform the

onsumer that a bak{order has been reorded: The desired produts may

not be in store, but has been (or will be) ordered from a wholesaler | for

subsequent delivery. A delivery may deliver the ordered or some other, not

ordered, produts ! The onsumermay deide to not aept, orto aepta

delivery. Theretailer may invoie theonsumer before, at thesame timeas,

or after delivery. The onsumer may pay, or not pay an invoie, inluding

performing a payment basedon no invoie, for exampleat the same timeas

(7)

ndfaultswithapreviouslyaepteddeliveryandreturnthat(or,bymistake,

another)delivery. Theretailermayrefund,ornotrefundsuhareturn.

Analysis: Basedonananalysisoftheaboveroughskethwesuggesttotreat

marketinterationsbetweenretailersandwholesalers,andbetweenwholesalers

andproduersinexatlythesamewayasinterationsbetweenonsumersand

retailers. That is: we observethat retailers ats as(a kindof)\onsumers"

vis-a{viswholesalers(who,similarlyatsasretailers).

We thus summarise the interations into the following enumeration: in-

quieries,quotes,delinations,refusals,orders,onrmations,deliveries,aep-

tanes,invoiings,payments,aknowledgements,returns,andrefunds.

Figure 11.1attemptsto illustratepossibletransation transitionsbetween

buyersandsellers.

Figure11.1: Buyer/SellerProtool

Inquiry Quote,Decline,Wrong

Order, Decline, Wrong

Delivery,Sorry Confirm,Decline,Wrong

Accept,Reject,Wrong Invoice, Wrong Payment,Wrong Acknowledgement

Return Refund

BUYER SELLER

Buyer initiative Seller initiative

"Follows, as a consequence of"

Traders: As a onsequene of the analysis we shall \lift" the labels `on-

sumer',`retailer',`wholesaler'and`produer'intothelabels`buyer'and`seller'.

Andweshall use theterm `trader' to overbotha buyerand aseller. Sine

theonsumers and produers mentionedin therough sketh abovemay also

atasanyoftheotherkindsoftraders,allwillbelabelledtraders.

Figure11.2onthenextpageattemptstoshowthatatraderanbebotha

buyerand aseller. Thustraders\alternate" betweenbuying andselling,that

is: Betweenperforming`buy'andperforming`sell'transations.

Supply Chains: Figure 11.3 on the following page attempts to show \an

(8)

Figure11.2: Trader=Buyer+Seller

TRADER TRADER TRADER

SELLER BUYER

BUYER SELLER inquiry

order accept payment

return ...

quote confirm

...

quote confirm deliver invoice acknow.

refund ...

refund acknow. invoice deliver

inquiry order accept payment

return ...

Atomic Transactions, One way or the Other !

hains. Eahhain,inthisexample,onsists,inthisexample,ofa\onsumer",

aretailer,awholesaler,andaproduer.

Figure11.3: ANetworkofTradersandSupplyChains

A B

D C

H

(Example Supply Chains: ABCG, HDBF, BGAE, ...) G

E

F

A olletion,aset, of traders may thus giveriseto any set of supplyhains,

witheahsupplyhainonsistingofasequeneoftwoormoretraders. Supply

hainsarenotstati: Theyform,atanddissolve. Theyarearesultofpositive

inquieries,orders,deliveries,et.

`Likeness', `Kinds', `Adjaeny', and `Supply Chain Instanes': As

aresult of analysis we identify aneed for some abstrat onepts: `likeness',

`kinds',and`supply[hain℄ instanes'(where[...℄ expressesthatweanomit

the...).

(9)

onsumer,retailer,wholesaler,orproduer.

Weanalsospeakofthe`kind'ofatransation.

The `kind' of a transation is either than of inquiery, quote, delination,

refusal, order, onrmation,delivery, aeptane, invoie, payment, aknowl-

edgement,return,orrefund.

There may be hains of one or more wholesalers: Global, regional, na-

tional,or,withinastate,areawholesalers. Wethereforeallowforthefollowing

kinds of adjaent traders: (onsumer,retailer), (retailer,wholesaler), (whole-

saler,wholesaler),and(wholesaler,produer).

A supply [hain℄ instane is a spei and related ourrene of two or

more transations. The following is an elaborate supply hain instanes |

where we omit referene to the speis by only mentioning the transation

kinds: (i)inquiry(onsumertoretailer),!inquiry(retailertowholesaler),!

quote (wholesalerto retailer),!quote (retailertoonsumer),!order (on-

sumer to retailer), ! order (retailer to wholesaler), ! order (wholesaler to

produer),! onrm(produer towholesaler),! onrm (wholesaler tore-

tailer),!onrm(retailertoonsumer),!delivery(produertowholesaler),

!aeptane(wholesalertoproduer),!delivery (wholesalertoretailer),!

aeptane (retailerto wholesaler),! delivery (retailerto onsumer),! a-

eptane(onsumertoretailer),!invoie (retailertoonsumer),!payment

(et.,thereaderllsinpossibledetails),!aknowledge,!invoie,!invoie,

!payment,!payment,! aknowledge,! aknowledge,! return,and !

refund.

Agentsand Brokers: Althoughnotformalisedexpliitlyinthepresentpa-

perwedisusstheoneptsofbrokersandtraders. Wethen,lateron,\redue"

agentsandbrokersto beomeliketradersare.

Agents: An agent, 8

, in the domain, is any human orany enterprise, in-

luding mediaadvertisement,who,orwhih, atsonbehalfof onetrader, t

1 ,

in order tomediate possiblepurhase (or sale) ofgoodsfrom another trader,

t

2 . So t

1

may be a onsumer, ora retailer, or a wholesalerwho, through

aquiresgoodsfrom t

2

who,respetively,isaretailer,awholesalerandapro-

duer. Ort

1

maybearetailer,orawholesaler,oraproduerwho,through

sellsto t

2

who,respetively,is aonsumer, aretailer,and awholesaler. One

angeneralisethe notion of agents to suh who (or whih) ats on behalf of

agroupoflike tradersto \reah"aorresponding groupoflikeand adjaent

traders.

Figure11.4onthenextpageattemptstoshowabuyer{agent(lefthandg-

ure),respetivelyaseller{agent(righthandgure). Thebuyer{agent\searhes"

themarketfor suitablesellersofaspei produt. Theseller{agentsearhes

themarketforsuitablebuyersofaspeiprodut.

8

(10)

Buyer

Buyer

Buyer

Buyer

Seller

Seller

Seller

Seller

Seller

Seller Buyer

Agent

...

...

...

...

...

...

Buyer

Buyer

Seller

Seller

Seller

Seller Agent

Buyer

Buyer Buyer

Seller

...

...

...

... ...

...

Figure11.4: BuyerandSellerAgents

Theidea is that thetwokinds of agents behavelikebuyers,respetivelylike

sellers:Thebuyer{agent\learns"fromthebuyer 9

aboutwhatistobeinquired,

isinstruted when to order,et. The buyer{agentthen iterates overa set of

sellersknowntomeet inquiredexpetattion 10

Similarlyforseller{agents(the right{handsideofFigure11.4).

Brokers: A broker, , in the domain, is any human orany enterprise, in-

luding media advertisement, who, orwhih, atson behalf of two(or more,

respetively) adjaentgroupsof liketraders, bringing them together in order

toeetinstanesofsupplies.

Figure 11.5 on the faing page attempts to diagram a broker mediating

betweenmbuyersandn(adjaentkind) sellers.

The idea is that a ombination of buyer and seller searhes, and henea

ombinationofthebuyer{andseller{agentbehavioursareneeded.

Brokersanspanmorethanonestage.

Figure 11.6 on page 12 attempts to diagram a brokermediating between

m

1

onsumers,m

2

retailers,m

3

wholesalersandm

4

produers|subsetsofall

theknownsuh.

The three sets of dashed lines in the three vertial \stems" of thebroker

shalldesignate\loal"brokeragebetweenadjaentpairsofbuyersand sellers.

Theset of dashedlines in thehorisontalbranhof thebrokershalldesignate

overall,\global"brokeragebetweenallparties.

9

Thisisdesignatedbythesingleline(betweentheBuyerandtheBuyerAgentretangles)

oftheleft{handsideofFigure11.4.

10

Thisisdesignatedbythe mostlyslatedlines(betweenthe BuyerAgentandtheSeller

(11)

Figure11.5: ASimple(\OneStage")Broker

Buyer

Seller

Seller

Seller

Seller

Seller

Seller

...

...

...

...

...

...

Buyer Buyer Buyer

Buyer

...

...

Broker

Buyer

Theaimofthemediationistoreateaonsortiumofsubsetsofonsumers,

retailers,wholesalersandproduers. Theobjetiveoftheonsortiumis,likea

\BookoftheMonthClub",toreateastablesetofompletesupplyhainsfor

agivensetofproduts.

As for simple brokers we shall (ever sobriey) argue that the sameiter-

atedsearhingofresolutionprotoolsandmehanismsasforagentsaretobe

deployed, and that these are based on the all the transation kinds as rst

skethed.

Catalogues: An importantoneptof themarket isthat of aatalogue. It

may beimpliit, orit mayexist expliitly. A atalogue,in awidest sense of

that term, is any form of reording that lists what merhandise is for sale,

itsprie,onditionsofdelivery,payment,refund,et. Anordinaryretailer|

yoursmallneigbourhood\Mom&Pop"store|maynotbeabletodisplaya

atalogueintheformof,forexample,aringbindereahofwhosepageslists,in

someorder,themerhandisebyname,ordernumber,produer,et.,andwhih

reords theabove mentioned forms of information. But, from the shelves of

that storeonean \gather"that information. Forwholesalersand produers

weanprobably assumesuh moreformal atalogues. But, asaonept, we

aninanyasespeakofatalogues. Andheneweanspeakofsuhonepts

assearhing in aatalogue, markingentries asbeing outofstok, howmany

(12)

Figure 11.6: AMultiple(here: Three)StageBroker

...

...

...

...

...

... ...

...

... ...

...

...

S

B

B

B

B

B

B

B

B

B

B

B

B

B S

S

S

S S

S S S

S S

S

S

S

S B

B

Consumers Retailers Wholesalers Producers

Broker

TheTransations: Wehave,above,justhintedatthekindoftransations,

towit: inquiry,quote,delination,refusal,order,onrm,delivery,aeptane,

invoie, payment,aknowledge, return, andrefund. Insteadof treating them

inmoredetail|aspartofanarrative|werelegate,for thesakeofbrevity,

suh atreatment to the terminology setion, next, and to theformalisation,

following.

This ompletes our, lengthy, rough sketh of \The Market" domain. It was

made deliberatelylong in order to make the point: That rough skething is

animportantproess,and that roughskethesserveapurpose |asweshall

subsequentlysee.

Terminology

Inanydevelopment,in any (domain, requirementsorsoftware design)phase

ofsuhadevelopment,it isjudgedimportantto start, afterroughskething,

byestablishingaterminology,byadheringtoitthroughtthedevelpment,and,

wheneedarises, to update theterminology whileseuring that previoususes

(\adherenves")remainvalid. Failuretofollowthis`terminologyodex'usually

resultsin termonfusionandthusleadstolowqualitysoftware.

We sketh a ratherinformal terminology. That is: A properterminology

mustbefar morepedantiin its preision,onsisteny ofterm usage, andin

itsompleteness.

(13)

1. Aept: A delivered merhandise is in-

spetedbythebuyerandfoundaeptable.

2. Aknowledge: Reeipt of payment has

been reorded by a seller and thebuyer

(thepayee)isgivenanaknowledgement.

3. Agent: Asurrogatebuyerorasurrogate

sellerwhoatsonbehalfofeitherabuyer,

oraseller,andotherwiseperformsthefol-

lowingprotoolsoftransations:....

4. Bak{order: An order whose delivery

annotbeetedimmediately.

5. Broker: asurrogatebothbuyer& seller

whoatsonbehalfofbothbuyersandsell-

ers, andotherwiseperformsthefollowing

protoolsoftransations:...

6. Buy: Abuytransationisthesameasan

ordertransation.

7. Buyer: A buyer is any traderwho may

issueaninquiryoranordertransation.

8. Catalogue: Wheninquiringorordering,

an impliit refereneis made to a ata-

logue |somethingthatreordsproduts

boughtorsold,theirpries,deliveryonsi-

tions,et.|ie.,somethingthattheseller

issupposedtohaveandtobeabletoquote

from,orfromwhihruialinformationfor

aninvoieisulled,orwhihthebuyer...

et.

9. Conrm: Ifanorderanbeeeted,ei-

thernow,oraslater(asabak-order),then

aonrmationanbeissuedtothateet.

Etetera:

10. Consumer:...

11. Deline:...

12. Deliver:...

13. Inquire:...

14. Inventory:...

15. Invoie:...

16. Market:...

17. Merhandise:...

18. On{order:...

19. Order:...

20. Pay:...

21. Prie:...

22. Prie{list:...

23. Produer:...

24. Produt:...

25. Quantity:...

26. Refund:...

27. Rejet:...

28. Retailer:...

29. Return:...

30. Sell:...

31. Seller:...

32. Servie:...

33. Store:...

34. SupplyChain:...

35. Trader:...

36. Warehouse:...

37. Wholesaler:...

...

&. ...

Thisompletes ourrathershort terminology. It islargeenough, wethink, to

havepartially made ourpoint | asstated in the opening paragraph of this

setion. Afulljustiationfor`terminologisation'anonlybemadespmetime

aftertheendofaprojet.

Narrative and Formal Model

Weombine, into onedoument,the informaldesriptionand theformal de-

sriptionof the domain of traders. Wedesribe only the basiprotools for

inquiry,quote,order,onrmation,delivery,aeptane,invoie,payment,et.

transations. Wethus donotdesribeagentsandbrokers. Weleavethat toa

requirementsmodellingphase.

Pleaseobservetheextensiveneedforexpressing seletionofand responses

totransationsnon{deterministially. Intherealworld,ie.,inthedomain,all

ispossible: Dilligentstawillindeedfollow{uponinquiries,orders,payments,

et. Loyalonsumerswillindeedrespondlikewise. Butsloppysuhpeoplemay

not. And outright riminals may wish to heat, say on payments or rejets.

(14)

Se initial remarks on determination of undesirable non{determinisms in

Setion11.4on`Requirements'.

Formalisationof Syntax:

type

Trans==InqjOrdjAjPayjRej

jQoujConjDeljAjInvjRef

jNoRjDejMis

Thersttwolinesabovelistthe`buyer',respetivelythe`seller'initiatedtrans-

ationtypes. Thethirdlinelistsommontransationtypes.

In the domain we an speak of the uniqueness of a transation: \it was

issued at suh{and{suh time, by suh{and{suh person, and at suh{and{

suhloation,"etetera.

Ubelowstandfor(supposedly,orpossibly)uniqueidentiations,inluding

time,loation,person,et., stamps(T,P,L),Sui(wherei=1,2)standsforsur-

rogateinformation,and MQPalludes toMerhandiseidentiation, Quantity,

andPrie.

type

U,M,Q,P,T,Su1,Su2,Inf

Inq::MQPU

MQP==mk(m:M,q:Q,p:P,:::)

Quo:: ((InqjSu1)Inf)U

Ord:: QoujSu2U

Con:: OrdU

Del:: OrdU

A:: DelU

Inv:: DelU

Pay:: InvU

Rej:: DelU

Ref:: Pay U

NoR:: TransU

De:: TransU

Mis::TransU

value

obsT:U!T

Theabovedenesthesyntaxoflassesofdisjointtransationommands,ofthe

abstrat form mkName(kind,u) where Name is either of Inq, Quo, Ord, Con,

Del,... orMis.

Aninquiry:Inqonsistsofapair,some(desired)merhandise,(desired)quan-

tityand(desired)prieinformation,andasupposedlyuniqueidentiation(of

time,loation,person,et.) ofissue{this\mimis"aonsumerinquiryofthe

form\Iaminthemarketforsuh{and{suhmerhandise,insuh{and{suha

quantity,andat suh{and{suhpries. Whatanyouoer?"..

Anquote:Quoeitherreferstotheinquiryinwhihthequoteisaresponseor

presentssurrogateinformation|typially(wherethesellertakestheinitiative

toadvertisesomemerhandiseandthen)ofaformsimilartoaninquiry: \Ifyou

areinthemarketforsuh{and{suhmerhandise,insuh{and{suhaquantity,

andatsuh{and{suhpries,thenhereiswhat weoer".

(15)

Ingeneralwemodel,inthedomain,a\subsequent"transationbyreferring

toaompletetraeof(supposedly)uniquetime,loation,person,et.,stamped

transations. Thus,in general, atransation \embodies"thetransationit is

amanifestresponseto,andtime,loation,person,et. ofresponse.

Do not mistake this for a requirement. A requirement may or may not

imposeuniqueidentiationwrt.timeandloationandpersonet. Therefore

we do notdetail U. Nordo weatually say that no two transations anbe

issuedwiththesameuniqueness.

FormalisationofMarketInterations: \TheMarket"onsistofntraders,

whether buyers, or sellers, or both; whether additionally agents or brokers.

Eahtrader

i

isable,potentiallytoommuniatewithanyother trader:

f

1

;:::;

i 1

;

i+1

;:::;

n g:

Weomitformaltreatmentofhowtradersometoknowofoneanother. An

arbiterforsuhinformationisjustlikeatrader. Othertraderssellinformation

abouttheir existineto suh anarbiter. Thusno speial formal treatment is

neessary.

We fous on the internal and external non{determinism whih is always

there,inthedomain, whentransationsare seleted,sentandreeived.

OurmodelisexpressedinavariantofCSP,as\embedded"inRSL[GHH +

92℄.

type

[0℄ ,MSG

[1℄ Idx=fj1::njg

value

[2℄ sys: (Idx !

m

)!Unit

[3℄ sys(m)kftra(i)(m(i)) ji:Idxg

hannels ft[i,j℄:MSGji,j:Idx

i<jg

value

[4℄ tra: i:Idx!!inft[j,i℄jj:Idx

i6=jgoutft[i,j℄jj:Idx

i6=jgUnit

[5℄ tra(i)()tra(i)(nxt(i)())

[6℄ nxt: i:Idx!!in ft[j,i℄jj:Idx

i6=jgoutft[i,j℄jj:Idx

i6=jg

[7℄ nxt(i)()

[8℄ let hoie=rvdesndin

[9℄ aseshoieofrv!reeive(i)(),snd!send(i)()endend

(0) is the type spae that any trader may span. MSG is type spae of

(16)

detailneithernorMSG:Inthe\realworld",ie.,inthedomain,allispossible.

Determination of andMSG is usually donewhen \deriving"the funtional

requirementsfromthedomainmodel. (1)Idxisthesetofnindies,whereeah

traderhasauniqueindex. WedonotdetailIdx. Thatusuallyisdoneaslateas

possible,sayduringodeimplementation. (2)Thesysteminitialiseseahtrader

with apossibly unique loal state (from its only argument). (3) The system

is the parallel ombination of n traders. (4) A trader has aunique, onstant

index, i, and is, at any moment, in some state . (4) Traders ommuniate

(bothinputandoutput) overhannels: t[i,j℄|from traderito traderj. (5)

Eahtrader ismodelled asaproesswhih \goesonforever",(5)but insteps

of nextstatetransitions. (8)Thenext statetransitionnon|deterministially

(internal hoie, de) \alternates"between(9)expressingwillingnessto reeive,

respetivelydesiretosend.

In \real life", ie. in the domain, the hoie as to whih transations are

pursuedisnon{deterministi. Anditisaninternal hoie. That is: Thehoie

isnotinuenedbytheenvironment.

We model reeiving as something \passive": No immediate response is

made,but areeivestateomponentof thetraderstateisupdated. A trader

thathasdeided tosend(something), maynon{deterministialydeidetoin-

spet the reeive omponentof its state soasto asertain whether there are

reeivedtransationspendingthatoughtormayberespondedto.

Theupdatervstateinvokesfurther funtions.

reeive: i:Idx!!inft[j,i℄jj:Idx

i6=jg

reeive(i)()

de

bflet msg=t[j,i℄? in updatervstate(msg,j)()endjj:Idxg

One the internal non{deterministi hoie (de) has been made ((8) above):

Whether to reeive or send, the hoie as to whom to `reeive from' is also

non{deterministi,but nowexternal(dbe). That is: reeive expresseswillingness

to reeivefrom any other trader. But just one. As longas noother trader j

doesnotsendanythingtotrader ithat traderijust \sits"there, \waiting"|

potentially forever. This is indeed amodel of thereal world, the domain. A

subsequentrequirement may therefore, naturally, beto provide someform of

timeout. Are{speiationofreeivewithtimeoutisaorretimplementation

oftheabove.

[2℄ update rvstate: MSGi:Idx!!

[3℄ update rvstate(msg,j)()

[4℄ asesobsTrans(msg)of

[5℄ mk Del( , )

[6℄ !upd rv(msg,j)(upd del(msg,j)()),

[7℄ mk Ret( , )

(17)

[9℄ !updrv(msg,j)()

[10℄ end

(2)anymessagereievalleadstoanupdateofa'reeive'omponentoftheloal

traderstate(updre). (5{6)If thereeived\message"onstitutesa(physial

pakage)delivery, thena`Merhandise' omponentof theloal traderstateis

rstupdated(deposit delivery ). (7{8)Ifthereeived\message"onstitutesthe

return(ofaphysial pakage),thenthe`merhandise'omponentoftheloal

traderstateisrstupdated(removereturn).

[0℄ upd re(msg,j)()deposittrans((sU(msg),j),msg)(ond re(msg,j)())

[1℄ upd del(msg,j)()depositdelivery((sU(msg),j),msg)()

[2℄ upd ret(msg,j)()removereturn((sU(msg),j),msg)()

[3℄ ondrv(msg,j)()

[4℄ ifintialtrans(msg)()

[5℄ then

[6℄ elseremovepriortrans(sU(msg),j)()end

sU:Trans!U,sU( ,u)u

(0) The updre operation invokes the ondre operation and then extends

thepossiblynewstatebydepositing theargumentmessageunder theunique

identiation and message{sending trader identiation. (3{6) The ond re

operation examines ((4) initialtrans) whether the reeived message is a rst

suh, ie., \ontains" no prior transations, or whether it ontainssuh prior

transations.Inthislatterase(6)thepriortransationmaybeonditionally

removed (remove priortrans) |this is notshownhere, but ommentedupon

below.

[0℄ send: i:Idx!!inft[i,j℄jj:Idx

i6=jg

[1℄ send(i)()

[2℄ let hoie=inideresdenorin

[3℄ ases hoieof

[4℄ ini!sendinitial(i)(),

[5℄ res!sendresponse(i)(),

[6℄ nor!removereeivedmsg()endend

Eitheratrader,whenommuniatingatransationhooses(2,4)aninitial(ini)

one,orhooses(2,5)onewhihisinresponse(res)toamessagereeivedearlier,

orhooses(2,6) tonot respond (nor) to suh anearlier messageThehoie is

againnon{deterministiinternal(2). Inthelastase(6)thestateisthusnon{

deterministiallyinternalhoieupdatedbyremovingthe,oranearlierreeived

(18)

Note that the abovefuntions desribe the internal as well as the exter-

nalnon{determinism of protools. We omit thedetailed desription of those

funtionswhihanbelaimedtonotbeproperprotooldesriptionfuntions

|but are funtions whih desribeupdates to loal trader states. We shall,

below,explainmoreaboutthese state{hangingfuntions.

sendinitial: i:Idx!!outft[i,j℄jj:Idx

i6=jg

sendinitial(i)()

let hoie=buydesellin

aseshoieof

buy!sendinit buy(i)(),

sell!send init sell(i)()endend

sendresponse: i:Idx!!outft[i,j℄jj:Idx

i6=jg

sendresponse(i)()

let hoie=buydesellin

aseshoieof

buy!sendresbuy(i)(),

sell!send ressell(i)()endend

Intheabovefuntions wehave,perhapsarbitrarilyhosen,todistinguish be-

tween buy and selltransations. Both send initialandsend responsefuntions

|aswellasthefourauxiliaryfuntionstheyinvoke|desribeaspetsofthe

protool.

sendinit buy: i:Idx!!outft[i,j℄jj:Idx

i6=jg

sendinit buy(i)()

let hoie=inqdeorddepayderetde::: in

let (j,msg, 0

)=prepareinit buy(hoie)(i)()in

t[i,j℄!msg; 0

end end

sendinit sell: i:Idx!!outft[i,j℄jj:Idx

i6=jg

sendinit sell(i)()

let hoie= quodeondedeldeinvde:::in

let (j,msg, 0

)=prepareinit sell(hoie)(i)()in

t[i,j℄!msg; 0

end end

prepareinit buy is nota protool funtion, nor is prepareinit sell. Theyboth

assembleaninitial buy, respetivelysellmessage,msg, atargettrader, j, and

updateasendrepositorystateomponent.

sendresbuy: i:Idx!!outft[i,j℄jj:Idx

i6=jg

sendresbuy(i)()

0

(19)

let ( 00

,msg 0

)=response buy msg(msg)(

0

)in

t[i,j℄!msg 0

; 00

endend

sendressell: i:Idx!!outft[i,j℄jj:Idx

i6=jg

sendressell(i)()

let ( 0

,msg)=selupdate sellstate(),j=obstrader(msg)in

let ( 00

,msg 0

)=response sellmsg(msg)(

0

)in

t[i,j℄!msg 0

; 00

endend

selupdatebuy state is not aprotoolfuntion, neither is selupdate sellstate.

Theybothdesribetheseletionofapreviouslydeposited, buy,respetivelya

sellmessage,msg,(fromit)theindex,j,ofthetraderoriginatingthatmessage,

and desribesthe update of areeived messagesrepository stateomponent.

responsebuy msgand responsesellmsg botheet theassembly, frommsg, of

suitableresponse messages,msg 0

. As suh theyarepartlyprotoolfuntions.

Thus, if msg was an inquiry then msg 0

may be either a quote, deline, or a

misdiretedtransationmessage. Etetera.

OnOperationson Trader States: Wehaveleftanumberoftraderstate

operationsundened. Belowwegivertheir signatureand otherwiseomment

ontheminformally. Thereasonfornotformallydeningthemissimple: Sine

we are modelling the domain, and sine, in the domain, these updates are

typially performed by humans, and sine these humans are either dilligent,

orsloppy, ordelinquent, or outrightrominal in the despath of their duties

we really annot dene the operations as we would really like to see them

despathed|namelydiligently.

value

deposit trans: (UIdx)MSG!!

deposit delivery: (UIdx)MSG!!

removereturn: (UIdx)MSG!!

initialtrans: MSGIdx!!Bool

removepriortrans: UIdx!!

removereeivedmsg: !

Theaboveoperationshaveallbasiallybeenmotivatedearlier. Thedeposit trans

unonsditionallydepositsareeivedmessage,forexampleinapartoftheloal

trader statethat ould be haraterised as arepositoryfor reeivedtransa-

tions. That repository may have messages identied by the sender and the

uniqueidentiator. Tospeify sois not amatter of binding future require-

mentsandthereforealsonotfuture implementations. Itjust models thatone

(20)

Aninitialtransationisonewhihdoesnotontainpriortransations,that

is: Is onewhih is either an inquirytranationor ontainssurrogates (Sur1,

Sur2).

To remove a prior transation models that people may no longer keep a

reordofsuhatransation|sineitisembeddedinthemessageinresponse

towhih thisremovalis invoked. Wedonotshowthedetails ofremoval,but

expetamodeltoapturethatsuhpriortransationsneednotberemoved. In

otherwords: Theremovalmaybeinternalnon{deterministially\ontrolled".

removereeivedmsg unonditionallyremovesamessage: Thismodelsthat

people and institutions (internal non{deterministially) may hoose to ignore

inquieries,quotations,orders, onrmations,deliveries,et.

prepareinit buy: Choie!Idx!!IdxMSG

prepareinit sell: Choie!Idx!!IdxMSG

Theaboveoperationsinternalnon{deterministiallyhooseswhihpriortrans-

ationsto respondto.

obstrader: MSG!Idx

Nomatter whih transation (ie.,message)oneanalwaysidentify, sayfrom

the unique identiator, whih trader originated that message. We do not

speifyhowsinethatmightbiasanimplementation.

Forthesakeofompletenesswealsostatethesignaturesofremainingand

previouslydesribedoperations:

value

upd re: MSGIdx!!

upd del: MSGIdx!!

upd ret: MSGIdx!!

ondrv: MSGIdx!!

selupdate buystate: !MSG

selupdate sellstate: !MSG

response buy msg: MSG!!MSG

response sellmsg: MSG!!MSG

In summary: All operations on loal trader states are, in the domain, basi-

allyunder{speied. Itwill beataskforrequirementsto,asweshallallit,

(21)

Disussion

Asforloaltraderstateoperations,soitisforthepossiblesequenesoftrans-

ationsbetween\marketplayers"(ie.,thetraders): Theyareall,intheabove

model,left\grossly"non{deterministi.

Thosetraderwhoinitiatetransationstowardsothjertradersanbeviewd

as\lients", while those others are seenas\servers". Thus it is that we see

that\lients"areharaterisablebyinternalnon{determinism,while\servers"

areharaterisablebyexternalnon{determinism.

Itisnowataskforrequirementstodeterminetheextentofnon{determinisms

andthemorepreiser^olesof`lients'and`servers'.

11.3.3 Analyti Douments

We remind the reader that this main setion (Setion 11.3) of the urrent

paper is strutured and mostly presented in the form of atual development

douments: Theirsequene,interrelationsandontents.

Thereforeweshould,in thissetion bringanalytidouments. Spaeon-

siderationsmakethisimpossible. Insteadwebrieyommentastowhihkinds

ofdevelopmentstagesandsteps,andthustheirensuingdouments,wouldbe

neessaryfor a reasonablyprofessional phase of domain engineering to have

takenplae.

Validation

ParaphrasingBarry Boehm,[Boe81℄, for aprodutto be\the rightprodut"

wemustvalidatealsoitsdomainmodel.

11

The domain model has been \extrated" from all relevant stake{holders

of the domain: Owners, managers, workers, ustomers, regulatory agenies,

servieproviders(nanial institutions, logistisrms, et.) of \the market"

domain. Hene validation must be onduted with suh stake{holders. The

validation proessbasially \reads"theinformalterminologiesand narrative.

Heneitisutterlyimportantthattheyberelativelyompleteandonise.

Veriation

Again, paraphrasing Barry Boehm, [Boe81℄, for a \produt to be right" we

mustverifyimpliitlyexpressedpropertiesof adomainmodel.

12

11

Validationis\repeated", asweshallassumebelow,in\deriving"the produtrequire-

ments, and, fromrequirements,a, or the softwaredesign(s). Weshallnot oversoftware

designintheurrentpaper.

12

Veriationis\repeated"inallphasesofdevelopment(ie.,alsoforrequirementsdesign

andforsoftwaredesign):\Between"phases,stagesandstepsorretnessveriationisestab-

lished,and\within"stagesand/orsteps,impliitlyexpressed(ie.,derivativeor\assumed")

(22)

Theveriationproessis, in ontrastto thevalidation proess, basially

aformal one: Formallyexpressed prediates are laimed (ie., interpreted) to

represent\internal",respetivelyorretnessproperties. Thesearetheneither

provedormodelheked,aswellastheyortestedfor.

Towards TheoriesofMarketDomains

Just asphysiists keep studying \Mother Nature": The God{reated world,

so,undoubtedly we(or is it: us ?) mortals oughtstudy the man{reatedin-

frastrutureomponentssuhastransportation,logistis,\themarket",health

servies,et. The physiists keepomingupwith newdisoveries,sometimes

newlaws,sometimesfasinatingpropertiesthatfollowfromtheselaws,butare

hardtootherwiseasertain. Perhapswedomainengineersoulddisoverlaws,

properties,et., aboutthestudiedinfrastrutureomponents. Inotherwords:

Domainengineersshouldaim atestablishingtheoriesaboutthedomainsthey

model. Someofthesedomains,like\themarket",areabouttheowofpeople,

information,materials,andontrol.

11.3.4 Disussion

DomainFaets

In this short presentation of an example `development of a domain model'

wehavenotstruturedthat development,northe model, aswenormallydo.

Namelyaroundtheoneptsofdomainfaets: intrinsis,supporttehnologies,

management&organisation,rules&regulations,andhumanbehaviour.

Wendthat these \operators"that applyto theunanalyseddomain, and

whih, insequene,resultsinadomainmodel,arenovel.

Byintrinsis weunderstandtheverybasisofthestudieddomain. Whatis

basidependsonwhihstake{holderis\viewing"thedomain,what r^olethey

play.

The intrinsisof \the market" seemsto be (i) thenotions of traders and

theirinterationsequenes: Chainsaswellasprotools;and(ii)thenotionof

\inspetions"of,andupdatestoloaltraderstates.

Ourmodel,above,isbasiallyamodeloftheintrinsisfaetsof\themar-

ket". Wehaveonly representedthe views of onsumers, retailers,wholesaler

and produers. And we have, in fat, abstrated these in terms of traders.

Moreneedbedone.

Bysupport tehnologies weunderstandanytehnologythatsupportsa-

tivitiesin thedomain|asdistinguished(ie.,apart)fromthepeople faet|

whih wetreat separately (see below). Examples of support tehnologies for

(23)

telephone,faxes,ordinaryPC(inludingpossiblyordinaryE{Mail)and other

omputingforaounting,purhasing,personnel administration,et. Pls.ob-

servethat aslongas noE{Transationsupporthas been intriduedthat part

isnot(yet) asupportingtehnology. Itbeomespartofthedomain,andthen

has thefaet type `support tehnology' one it hasbeen installed and taken

intooperation.

Our model, above, abstrats from support tehnologies. Whenwemodel

thataonsumerdiretsaqueryataretailer,thenweabstrathowthatisdone.

Whetherbybeingpersonally,ie.,physially presentattheretailer'spremises,

orbyphoning,orfaxing,orsendinganE{Mail.

If wewere to model suh \ommuniation" failities, then we would also

haveto model their(un{)reliability, (in{)stability, et. That is: That,assup-

port tehnology theymay fail. Thatis: Wearenotmodelling howto ahieve

safetyorseurity,but thatsafetyorseuritymaybeompromisedbysupport

tehnologiesuponwhihweannotdepend. Modallogis,inludingtemporal

logis, in partiular those of the Duration Caluli [CH03℄, are presently our

favouriteformaltoolsin modellingsupporttehnologies.

By management& organisation weunderstandthewayinwhihdier-

ent stake{holderswithin an enterprise (ie., an infrastruture omponent) are

struturedand assumptionsaboutwhodoestakeswhih initiatives: Manager

$subordinate protools,et.

Inourmodel, above,wehavenotmodelledreal aspetsofmanagement&

organisation. Suhaspetsouldbe: Certainstainaretailermustapproveof

ertainquotes to onsumers;ertain staat awholesaler havetheobligation

to make sure that merhandise stores are kept \reasonably full", et. The

notionof agents and brokers, as well as the notionof learing house traders

forinformationabout\theplayers"in\themarket",thosenotionsalso,tous,

belongto themanagementandorganisationfaetof\themarket".

Byrules & regulations weunderstandtwokindsofstatements: Ruleslay

down guide{lines for humanbehaviour. Regulationsstipulate what remedial

ationsshould beinstituted shoulda rulebebroken. Thereare generalrules

andtherearerulespresribedbyspeistake{holders.

In our model, above, we havenot expressed any rules, letalone any reg-

ulations. So that remainsto be done. An exampleof a general ruleof \the

market" is: Thou shallpaythy bills! An example ofa spei ruleis: \We

give30daysredit". An exampleofaregulationould,in thisonnetion,be:

\If,upon thethird `Please pay'reminder youfail to do so,we shall invokea

debtolletingageny".

And by human behaviour wemeanwhat thenextsetionwill dealwith

(24)

\Inthe Domain AllisPossible"

Wehavepresentedsalientstagesofdevelopmentofadomainmodelfortrading

inthemarket.

Somereadersmaywelllaim: Well,havewereally\presentedsalientstages

ofdevelopmentofadomainmodelfortradinginthemarket"?

Those readers, typially, have expeted us to desribe \features" of \the

market"whihwewouldnowlaimarenotreallyproperlymanifestproperties

inthedomain. Weremindthereaderthat\inthedomainallispossible".

In the domain there are dilligent stake{holders: People who despath of

their work as expeted by others. But there are also sloppy stake{holders,

delinquent,yesoutrightriminalpeoplewhosetlowstandardsfortheirwork,

or,bydesign,desireriminal ondut. Andthedomain model must, insome

sense,model that.

We thus laim that the above model, to the extent that it really overs

transations, desribe suh a spetrum of behaviours. It does so by leaving

indeterminatewhetherproperlybeguntransationsequenes(frominquiryvia

quotationtoorder inganddelivery,et.) are atuallyproperlyonluded. And

itdoessobynotdetailinganyofthespeioperationsonthetraderstates.

11.4 E{Transation System Requirements

Fromnowon,in theurrentpaper,weshall bedisursive: Thereasonisrst

thattheoneptofdomainmaybewellunderstood,butthattheimportaneof

itspreiseinformalandformaldesriptionisfarfromsuÆientlyappreiated|

ertainlynottotheextentthatsoftwarelientsexpetsandsoftwaredevelopers

demandalear,suÆientlyextensivedomainmodel.

Weshallthereforeexaminethetransitionfromdomainsto requirements.

Wethuslaimthatinthepast,andstill,requirementsarebasiallyexprssed

withoutanytehniallysoundreferenetoanyformofdomainmodel.

Thus weneed to examinesuhnotions asneeds, goals,and requirements,

and,withinthese, ther^olesthat theoneptofdomain plays.

Alsoweobservethatpastandpresenttreatmentsoftheoneptofrequire-

ments have missed two, to us very important points: Namely, how might a

well{strutured set of requirementsbeformulaed; and what exatlyshould a

requirements doumentation ontain ? In muh of the urrent literature on

E{Market (et.) we ndthat very little, ifanythingis doneto really under-

stand\themarket",asadomain,andthatserious,ontemplativeonsideration

of orderly development of well{strutured requirements, asa onsequene, is

(25)

11.4.1 Needs, Goals and Requirements

\Inthebeginningtherewasthedomain!" Thenomputers&ommuniation

ame into being. Now needs 13

are \felt" for bringing about hanges whose

goal 14

it is (or whose goalsare) to ahieve ertain eets. \In theend there

is again the domain, but now with omputers, ommuniationand software

|suh that thesoftware satises requirements and, when used aordingto

assumptionsbeingmetbytheenvironment|atorsofthedomain|ahieve

thegoals,fulllstheneeds!"

In our example, \the market", examples of low{level needs may be: A

need for relieving humans from many hores of buying and selling, and/or

forsavingostson bureauratibusiness proessesin onnetion with hek-

inganddouble{hekingonorderdeliveries,invoiingandpayments,et.,has

been identied. A high{level need for a omputing system is settled upon

aordingly.

Commensuratewiththisidentiedhigh{levelneedsomegoalsfortheom-

puting systems are therefore enuniated: The omputing system shall help

bringaboutrelief,savings,et.

In Setion 11.2.1 we rst introdued the onept of `formulated needs'.

Therewelinked itto theformulation of`ideas' (by meansifwhih theneeds

ould possibly be implemented). Where do these `ideas' ome from ? Well,

thesimpleansweris: Thedomainandthepossible`mahine': Theomputing

systeminludingthedesiredsoftware! Fromwhereelse? Henedomainsand

softwareare\linked"byrequirements.

11.4.2 From Goals to Requirements

Goalsannot serve asa basisfor areasonably manageablesoftware develop-

ment: Theyare simply\toolofty",expressed,astheyare, intermsofhuman

sentiments, non{omputable soio|eonomi \values", et. So we need to

transliterate the goals into something that is omputable. It is this we all

requirements.

Requirementsare aset of statements, expressed in terms of someunder-

standingofwhatkindof,inoururrentexample,\amarketabstratmahine"

anbereatedinsidetheomputingsystem.

Thepurposeof requirementsisto express what themahine: Theombi-

nationofhardwareandsoftwarethat isdesired,shalloer.

Werefertothedisussion(\IntheDomainAllisPossible")presentedabove

(Setion11.3.4).

13

Need: (i)alakofsomethingrequisite,desirable,oruseful;(ii)aphysiologialorpsyho-

logialrequirementforthewell-beingofanorganism;(iii)aonditionrequiringsupplyorrelief,

(iv)lakofthemeansofsubsistene. Merriam{WebsterOn{Line: http://www.m-w.om/gi-

bin/ditionary

14

Goal: the end toward whih eort is direted. Merriam{Webster On{Line:

(26)

Theundesirable indeterminaiesof \themarket"maynowbe\remedied"

throughomputing &ommuniationssupport, orevenautomation. That is:

Thepurposeoftherequirementsengineeringphaseofomputingsystems(um

software)developmentistoensureproperbehavioursof\market"stake{holders

aswellasofitssupportingtehnology.

A set of requirements amount to a set of logial statements of the form:

\Providedtheenvironmentof(1) stake{holders,(2) support tehnology", (3)

managementandorganisation,behaveaslaiddownin thedomainmodel,and

provided that the (4) rules &regulations areonsistent (...), then aorret

implementation of these requirementswill leadto adesirable omputingsys-

tem. Failuresin ahievinggoodsoftwareoftentimesanbeblamed notonthe

requirements themselves, nor on their maybe not soorret implementation,

butanratherbeblamedontheassumptions(1{4)notholding. Itistherefore

ofutmostimportanetoseurethat domainmodellinghavelaidbareallsuh

possibleassumptions.

11.4.3 The Three Dimensions of Requirements

We distinguish between three kinds of requirements: Domain, interfae and

mahinerequirements.

DomainRequirements

Domainrequirementsaresuhwhihanbeexpresseds^olelybyusingtehnial

termsfrom thedomain. Belowweshalldisusssomepriniplesfor\deriving"

domainrequirementsfrom domain models. Sine dierent stake{holdersmay

giverise to dierent domain requirements, these need be onsolidated: They

mustbeonsistentandtogetherformarelativeompletesetofrequirements.

If two dierent providers of domain requirements from within the same

stake{holder group give rise to mutually inonsistent requirements, then we

haveaninonsisteny thatmustberesolvedwithinthepertinentstake{holder

group. If two providers of domain requirements from dierent stake{holder

groupsgiverisetomutuallyinonsistentrequirements,thenwehaveaonit

thatmustberesolvedatmanage,mentlevel.

Domainrequirements(aka.`funtionalrequirements')anthereforeonlybe

expressed(ie., written) using domainterms. Theserequirementsanonlybe

undersood,byaasualreader,ifthatpersonhasrst(readand)understoodthe

domain(desription). Thusitisthatwesay: Expressingdomainrequirements

islikestatinghowationsandevents,that is: Behaviours,anbeeeted by

anabstratmahine,andthat abstratmahineis aomputablepartof \the

domain". Domaindesriptionsmaybeonernedalso withfuntionsthat are

notomputable,butrequirementsneessarilyhavetodealwith omputation,

(27)

Interfae Requirements

Interfaerequirementsaresuhwhih fousonthesharedphenomena: Those

forwhihweandesignateanentity,oranevent,orotherinthedomainwhih

isalso,somehow,representedwithin themahine. Interfaerequirementsthus

dealwith theinterfaebetweenthemahineand itsenvironment: Thestake{

holdersandthesupportingtehnologies.

Thusinterfaerequirementsfousontheso{alleduserinterfae(tostake-

{holders),aswellas theonnetions betweenthemahine andthesupporting

tehnologies.

ExamplesofE{TransationuserinterfaesarebasiallythoseoftheGraphi

UserInterfaes(GUIs) and the userdialogues, Other examplesare the mass

inputofforexampleatalogues,andrulesandregulations(ifenforedthrough

omputing).

Weshallnotdealfurtherwithinterfaerequirements.

The\abstratmahine"ofinterfaerequirementsisthusomposedofphe-

nomenawhih belong both in the\abstrat mahine"of the domainand the

\abstratmahine"ofthedesiredomputingsystem|whih,inamorenarrow

sene,nownotusingdoublequotationmarks,weallthemahine.

Mahine Requirements

Mahinerequirementsaresuhwhihanbeexpresseds^olelybyusingtehnial

terms of the desired omputing system itself: Abstrat mahine properties

of the appliation software to be developed as well as of the platform (the

hardwareandsupportingsystemssoftware)uponwhoseserviestheappliation

softwaredepends.

Examplesofmahinerequirementsaresuhwhihdealwithtimeandspae

performane, dependabilities (suh a the reliability, fault tolerane, seurity,

safety, availability, aessability, et., \ilities". No referene is made to any

spei domain onepts when stating mahine requirements, only at an ab-

stratlevel: Thefollowingoperationsmustexeutewithinsuhandsuhtime-

{bounds: ...,et.

Weshallnotdealfurtherwithmahine requirements.

11.4.4 Domain Requirements Development

When establishing domain requirements the requirements engineer is well{

adviedin struturing the requirementsmodelling proess and in presenting

therequirementsmodelsalongthelinesgivennext: Projetion,determination,

instantiation,extension, ttingand initialisation.

We nd that these \operators" that apply to domain requirements, and

(28)

Projetion

Inprojetionwestartwithadomaindesription. usuallywitharatherenom-

passingone. Fromthat we\ut down"to fous onlyon thoseaspetsof the

domain with whih the remaining requirementsare to be onerned. We go,

so{to{speak,from thesopeto thespanoftheproblemto besolved|using

oneptslearlyenuniatedbyMihaelJakson[Ja95℄.

Inourexampleof\themarket",wemighthavedesribedandmodelledhow

realagentsand realbrokersbehave. Butwemightsettle onanE{Transation

System that does not extend to agents and brokers. Thus we ut that part

of the domain desription out: It is no longer part of the requirements. It

maystillbepartoftheenvironmentinwhihthedesiredomputingsystemsis

toperform,and henetheassumptionslaid downin thedomainmodelabout

agent or brokertraders are still valid | and may have to be referred to in

reasoningabouttheorretnessofsomeE{TransationSystemfuntions.

Wedonotshow`formalprojetion'in theurrentpaper.

Removing Undesirable Non{Determinay

Usually\thedomainiskle": Humanbehaviouraswellasthatofsupporting

tehnologies. Desiredomputingsupport,orevenautomation,normallywishes

toavoidanumberofin{determinaies.

Onepurpose ofrequirements,amongstothers, is todetermine whatis in{

determinateinthedomain: Torenderhumanbehaviourpreditable,toguard

againstsloppy,delinquent,evenriminalations,et.

Inourdomainmodelof\themarket"weleftopenverymanypossibilitiesof

market transations: (i)Inquirieswere notguaranteedto bealwaysfollowed{

upbyquotations, (ii)aknowledged orders were notguaranteedto bealways

followed{upbydeliverriesandinvoies,(iii)invoieswerenotguaranteedtobe

alwaysfollowed{upbypayments,etetera. With omputing&ommuniation

muhof thisanbe\followed{up"morestrigently.

Thus requirements an be expressed that \removes" unertainties. In{

determinatebehavioursanbemadeintodeterminatetransationprotools.

Arequirementsmodelanthusbederivedfromtheprojetedmodel,onein

whihtheinternalnon{deterministihoieshavebeenreplaedbydeterminate

ones.

Wedonotshow`formaldetermination'intheurrentpaper.

Extension

With omputing &ommuniation ertainfuntions arepossible |funtion

that it was simply not feasible to do, in the domain, without for example

omputers. Brokering \aross" any number of levels of wholesalers et. is

(29)

(purhases)begivernedbyoneoranotherformofauxtioningisnowfeasible|

butwasbasiallyunthinkableofinsupporttehnology{weakdomains. Making

morevisibleompletesupplyhainssothatall\players"aremademoreaware

ofwhatisgoingon,\towardsanopen[market℄soiety,"isalsonowpossible.

All are examples of extensions: Of the domain but only made believable

throughomputing.

Aspeialformofextensionwill bementionednext.

Government,Businesses,and Citizens: TraditionallywehaveviewedE{

Transationsassomethingonlyinvolvingonsumersand retailers. Then \ex-

tensions"weremade tothe traditionalC2B paradigm. Ingeneralany \dire-

tionofrstinitiative" isworthonsidering. Simpleredenitions ofinquieries,

quotes,orders,deliveries,et.,an bereadilyput forward.

Figure11.7: TheGovernmentBusinessCitizen\MarketTriangle"

Enterprises (E) Citizens (C)

Institutions (G) Government

Offer Consume Offer

Consume

Consume Offer Offer

Consume

Offer Offer

Consume Consume

G2G: Speedingupinternal, loal and/orstate governmenttransations,

onebranhoggovernmentbuying serviesfrom anotherbranh,et.

G2B: Government serviing business better: Governmentbuying taxes

frombusiness inreturnforguaranteeringstableeonomies,et.

G2C: Governmentbuying taxesfromitizens inreturnforoeringsoial

welfare,publieduation,et.

B2G: Businesses buying for example areditation orertiation from

governmentpayingwithrealmonies.

B2B: Yes,Yougues what!

(30)

C2C: Enablinggrass{rootmovements,andwhatnot.

C2B: Citizens sellingtheirskillsto businesses.

AndC2G: Citizensoeringtheirvotestoloalandstatepolitiians.

Disussion

Intheurrentpaperwearenotoveringsuhotherdomainrequirementsteh-

niquesasinstantiation,tting,andinitialisation.

The disussion of the Government Business Citizen \Market Triangle" is

ratherindiative. Ithintsat,but doesnotreallysubstantiatespei require-

ments. WehopethatthehintsaresuÆienttojustifythelaim,thatonlywhen

wehavereasonablyonise domain models, suhasthe formalmodel ofSe-

tion11.3|thatonlythen|anwehopetoonqueranemergingompleity

of\FullsaleE{TransationSystems".

11.4.5 Disussion

We have overed someissues of requirements development based on domain

models. May other requirements issues have not been overed, but are, of

ourse, equallyrelevant: The proesses, astheywere fordomain aquisition,

for eleiting requirements; the issues of disivering inonsistenies, onits,

andunwantedinompleteness.

Sine E{Transation Systems typially involve many more, and in many

ases, new kindsof, stake{holdergroups than are usually enountered in re-

quirementsaquisition,speialareneedbetaken|andalsowrt.validation.

11.5 Conlusion

Itistimetoonlude. Wedoso,but onlypartially,andinthreeparts.

11.5.1 Summary: What has been Ahieved ?

Two\ahievements"standout: Oneismethodologial,theotherisinstantial.

Methdologially wehave surveyedtwo major phases of omputing, no-

tably software systems development: Domain desription and requirements

presription. Welaimthat ourapproahto domainmodelling: Detailed,and

bothinformalnarrationandformalisedmodels,isnovel. Welaim,further,but

donot show tehnial onsequenesof the laim, that the speial tehniques

for domain faet modelling: Intrinsis, support tehnologies, management &

organisation,rules&regulations,andhumanbehaviour arenew. Likewisewe

laimthat thespeial tehniquesfor domain requiremensmodelling: Proje-

(31)

itexpliitly,itisthepossibilityofstrong,formalrelationsbetweendomainde-

sriptionsandrequirementspresriptionsthat isnovel.

These (emphasized)tehniqueshavethenbeenexemplied onaninstane

of a domain model: That of\The Market". Wehaveyetto see suh lear

models of \the market" being even related to in the expandingliterature on

E{Business(et.).

11.5.2 InsuÆeny of Current Modelling Tehniques

Wewillonlypointout,in thissetion,that thenotionsofagentsandbrokers

asrstintroduedwasoneof\themarket". Infurtherspeifyingthosekindsof

agentsandbrokerswerstndthataneedforformalisedmodallogioriented

[Che80,Pop94,CZ97,Kra99,BdRV01℄speiationlanguagesarise,languages

in whih wean then desribe,respetivelypresribehowagentsandbrokers

behave\intherealdomain",respetivelyhowwemightrequirethem tooer

theirservies. We then extendthat need to also inlude possibilities of pro-

vidingimplementedtrader agentsand brokers,ie.autonomous agents (asthe

termisused nowintheAIliterature)withspeehat apabilities[Pet02℄.

11.5.3 Who Should be doing Domain Engineering ?

Isitreallytheideathatomputingsientistumsoftwareengineersumknowl-

edgeengineers should betheones who reatedomain models ? Well, forthe

time being, yes ! In ollaboration | as wasalwaysassumed above | with

domain stake{holders. But weforesee that gradually professionals of respe-

tive domainswill havelearnedbasitehniques of abstration and modelling

aspart of their domain spei aademieduation, but in ourses that ba-

siallypropagateomputing siene onepts and tehniques. And graudally

theywill takeovertheontinued modelling oftheir domain. Just like physi-

ists, after enturies of studying \Mother Nature", still study that domain,

intensely, sowe expet the man{made domains to be studied for as longas

mansustainthese domains. And: Justasmostsiene{based disiplines: Bi-

ology, eonomy, mehanialengineering, et., now\feature" asigniantown

(applied)mathematisstudy,soitisthatweforeseethataademisaswellas

professional pratitionerswithin the kindof infrastruture omponents listed

earlier (transport, health{are, et.) will feature their own, domain{spei,

ie.,appliedomputingsienestudiesandpraties.

11.5.4 Aknowledgements

Disussions and serious work with olleagues, espeially at UNU/IIST, the

UNUniversity'sInternationalInstitute forSoftwareTehnology,Maau,SAR

China,andespeiallyMessrsChrisGeorgeandSrenPrehn,ismuh apprei-

(32)

11.6 Bibliographial Notes

We apologize for the rather extensive set of referenes to own publiations.

Wejustifythis bythepereivedneedtosupport laimsmadebyreferenesto

supportingandsubstantiatingliterature.

Referenes

[BdRV01℄ PatrikBlakburn,MaartendeRijke,andYdeVenema.ModalLogi.Number53.

CambridgeUniversityPress,June282001. 554pages.

[BGP99℄ Dines Bjrner, C.W. George, and S. Prehn. Sheduling and Resheduling of

Trains,hapter8,pages157{184. IndustrialStrengthFormalMethodsinPra-

tie,Eds.:MihaelG.HinheyandJonathanP.Bowen.FACIT,Springer{Verlag,

London,England,1999.

15

.

[Bj94℄ DinesBjrner. Prospetsfora ViableSoftwareIndustry |EnterpriseModels,

DesignCaluli,andReusableModules.InFirstACMJapanChapterConferene,

Singapore,Marh 7{91994. World Sienti Publ. Appendix inollaboration

withSrenPrehnandDongYulin.

[Bj95℄ DinesBjrner.SoftwareSupportforInfrastrutureSystems.TehnialReport47,

UNU/IIST,P.O.Box3058, Maau,November1995. Position statement forthe

FirstMalaysiaInformationTehnologyDays: 1{3November1995.

[Bj96℄ DinesBjrner.NewSoftwareDevelopment.Administrative/TehnialReport59,

UNU/IIST,P.O.Box3058,Maau,January1996.SpeialThemepaper:NewSoft-

wareTehnologyDevelopment.InternationalSymposium: NewITAppliations

forGovernaneandPubliAdministration,UNDDSMS,Beijing,June1996.

[Bj98℄ DinesBjrner.FISH:AFisheriesInfrastruture|Hardware/SoftwareConept.

Tehnialreport,InformatisandMathematialModelling,TehnialUniversity

of Denmark,DK{2800 Kgs.Lyngby,Denmark, 1998. hisdoumentprovidesa

basisforanM.S.ThesisprojetarriedoutbyAudurThorunRognvaldsdottir,

Sept.1998|Aug.1999.

[Bj99a℄ DinesBjrner. ATriptyhSoftwareDevelopmentParadigm: Domain,Require-

mentsandSoftware.TowardsaModelDevelopmentofADeisionSupportSys-

temforSustainableDevelopment. InErnstRudigerOlderog,editor,Festshrift

toHans Langmaak.UniversityofKiel,Germany,Otober1999.

16

.

[Bj99b℄ DinesBjrner. ProjetInformation,MonitoringandControlSystems|ADo-

mainAnalysis.Tehnialreport,InformatisandMathematialModelling,Build-

ing322, Rihard PetersensPlads, Tehnial Universityof Denmark, DK{2800

Kgs.Lyngby,Denmark,1999.

[Bj00a℄ Dines Bjrner. Domain Modelling: ResoureManagementStrategis, Tatis

&Operations,DeisionSupportandAlgorithmiSoftware. InJimDavies,Bill

Rosoe,andJimWoodok,editors,MillenialPerspetivesinComputerSiene,

Cornerstones of Computing (Ed.: Rihard Bird and Tony Hoare), pages 23{

40, Houndmills, Basingstoke, Hampshire,RG216XS, UK, 2000.Palgrave(St.

Martin'sPress). AnOxfordUniversityand MirosoftSymposiuminHonourof

SirAnthonyHoare,September13{14,1999.

17

.

15

PostsriptdoumentatURL:http://www.it.dtu.dk/db/raosy/sheduling.ps

16

PostsriptdoumentatURL:http://www.imm.dtu.dk/db/langmaak/hans.ps

17

Referencer

RELATEREDE DOKUMENTER

Domain Engineering versus Requirements Engineering Stages: The domain engineering phase involves the stages of (D1.) identification of and regular interaction with stakeholders,

Characterisation 106 (Documentation Requirements) By documenta- tion requirements we mean requirements of any of the software documents that together make up software (cf. the very

Definition 8 Checking: By ′ checking ′ [a domain description (or a requirements prescription)] we shall understand the process of subjecting a domain description (or the

By domain instantiation we mean a refinement of the partial domain requirements prescription, resulting from the projection step, in which the refinements aim at rendering the

⋄⋄ in all there phases of development: domains, requirements and design. • By formal techniques software development

Domain Engineering: Technology Management, Research and Engineer- ing [9], chapter 1: On Domains and On Domain Engineering – Prerequisites for Trust- worthy Software – A Necessity

(Haxthausen and Peleska, 2000) con- cerns the formal development and verifica- tion of a distributed railway control system using RAISE?. The idea is to start with a domain model

Embedded systems kernel development and implementation, single address space operating systems, generalized bootstrapping.... 2.2 Introduction to