Aggregation and Modeling Organizations Bahadır Kaan Özütam.

25
Aggregat Aggregat ion and ion and Modeling Modeling Organizations Organizations Bahadır Kaan Özütam Bahadır Kaan Özütam
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    0

Transcript of Aggregation and Modeling Organizations Bahadır Kaan Özütam.

AggregatAggregation andion and Modeling Modeling OrganizationsOrganizations

Bahadır Kaan ÖzütamBahadır Kaan Özütam

• Two fundamentally different models of change;Two fundamentally different models of change;discrete and continuous.discrete and continuous.

• The important characteristic of a discrete model is that actions are atomic. The important characteristic of a discrete model is that actions are atomic.

• CCausal simulation ausal simulation maintains maintains dependency links dependency links called a history structure called a history structure

• Aggregation recognizes the repeating cycles of processes Aggregation recognizes the repeating cycles of processes and generates a higher level abstraction of the system’s and generates a higher level abstraction of the system’s behavior using the history structure.behavior using the history structure. It replaces cycles of It replaces cycles of discrete processes with higher level continuous processes.discrete processes with higher level continuous processes.

– Initially Initially • RNA has length 1RNA has length 1• DNA has an unspecified lengthDNA has an unspecified length• Duplicase has two sites ; dna-site and rna-siteDuplicase has two sites ; dna-site and rna-site• There are many RNA molecules, one DNA molecule There are many RNA molecules, one DNA molecule

and one duplicaseand one duplicase

• An example;An example; The process by which cells create RNA copies of their DNA genes.The process by which cells create RNA copies of their DNA genes.

– Three types of molecules are involved; DNA, RNA Three types of molecules are involved; DNA, RNA and a duplicase.and a duplicase.

Four discrete processes are defined; Four discrete processes are defined;

Grow Grow Preconditions: DNA is bound Preconditions: DNA is bound

left of its right endleft of its right end∩ ∩ RNA is bound at its right RNA is bound at its right endend

Changes : Increment Changes : Increment RNA.length at its right end RNA.length at its right end

DropDropPreconditions: DNA is bound Preconditions: DNA is bound at its right endat its right end

∩ ∩ RNA is RNA is boundboundChanges :Changes : Set Set duplicase.dna-site to 0duplicase.dna-site to 0

∩ ∩ Set Set duplicase.rna-site to 0duplicase.rna-site to 0

Slide Slide Preconditions: Both DNA and RNA are Preconditions: Both DNA and RNA are

bound at a position left of the right bound at a position left of the right endend

Changes : Increment the position of Changes : Increment the position of the DNA at duplicase.dna-sitethe DNA at duplicase.dna-site∩ ∩ Increment the position of the Increment the position of the RNA at duplicase.rna-siteRNA at duplicase.rna-site

BindBindPreconditions: Both sites of duplicase Preconditions: Both sites of duplicase

are empty are empty ∩ ∩ nothing is bind to the left end of nothing is bind to the left end of DNADNA∩ ∩ there is a free piece of short there is a free piece of short RNA availableRNA available

Changes :Set duplicase.dna-site = Changes :Set duplicase.dna-site = the left end of DNAthe left end of DNA∩ ∩ Set duplicase.rna-site = the Set duplicase.rna-site = the right end of RNAright end of RNA

• History History – BindBind– Grow Grow – Slide Slide – Grow Grow – Slide Slide – Grow Grow – Slide Slide – …….. .. – DropDrop

– ““Grow - Slide” is a Grow - Slide” is a repetitive cycle.repetitive cycle.

RNA

DNA

RNA

RNA

RNARNA

RNA

DNA

DNA

DNA

RNA

Initiallyy

Bind

Grow

Slide

RNA

DNA

DNA

RNADrop

RNARNA

RNA

RNA

RNA

RNA

RNARNA

RNA

RNARNA

RNARNA

RNARNA

The aggregation replaces this cycle with the The aggregation replaces this cycle with the continuous process; continuous process;

CP1CP1

Changes : Increment RNA.length at its right Changes : Increment RNA.length at its right end end

∩ ∩ Increment the position of the DNA at Increment the position of the DNA at duplicase.dna-siteduplicase.dna-site

∩ ∩ Increment the position of the RNA at Increment the position of the RNA at duplicase.rna-siteduplicase.rna-site

Preconditions: DNA is bound left of its right endPreconditions: DNA is bound left of its right end∩ ∩ RNA is bound at its right endRNA is bound at its right end∩ ∩ Both DNA and RNA are bound at a Both DNA and RNA are bound at a

position left of the right endposition left of the right end

• History History Bind - CP1 - Drop - Bind - CP1 - Drop - Bind - CP1 - Drop …Bind - CP1 - Drop - Bind - CP1 - Drop - Bind - CP1 - Drop …

““Bind - CP1 - Drop” is a repetitive cycle.Bind - CP1 - Drop” is a repetitive cycle.

• Now, it can be replaced with a new continous process Now, it can be replaced with a new continous process CP2 CP2 : : replaces the one-length RNA’s with RNA’ which have equal length as the DNA. replaces the one-length RNA’s with RNA’ which have equal length as the DNA.

• History History CPCP22 - CP - CP22 - CP - CP22 - CP - CP22 - CP - CP22 - … - …

• Possible types of cycles;Possible types of cycles;– Serial : Serial :

A single object does the same action A single object does the same action time after timetime after time

– Parallel; Parallel; A group of similar objects all do the A group of similar objects all do the

action once.action once.

– Mixed; Mixed; has both serial and parallel elements.has both serial and parallel elements.

• Cycle detection has three distinct phases; Cycle detection has three distinct phases;

– The repetition recognition phaseThe repetition recognition phaseFind two similar endpointsFind two similar endpoints

– The candidate cycle extraction phaseThe candidate cycle extraction phaseFind the sequences which connect the endpointsFind the sequences which connect the endpoints

– The cycle verification phaseThe cycle verification phaseCheck to ensure that all the process instances can Check to ensure that all the process instances can

repeatrepeat

• Human brain makes aggregation naturally, Human brain makes aggregation naturally, and human life is aggregated naturally in and human life is aggregated naturally in many ways. many ways.

• Simulation Simulation = = trying to artificially simulate trying to artificially simulate what is naturally happening. what is naturally happening.

• TThe effects, capabilities and limitations of he effects, capabilities and limitations of aggregation in simulating social life. aggregation in simulating social life.

• The working area preferred is the The working area preferred is the simulation simulation of organizations.of organizations.

• Everything that we can see as Everything that we can see as “the combination of some components and “the combination of some components and the coordination among them” the coordination among them” is an organization. is an organization.

What can aggregation be used for in a simulation? What can aggregation be used for in a simulation?

– Different levels of an organization Different levels of an organization different aggregation different aggregation levels. levels.

– The information seems the way the level sees the information. The information seems the way the level sees the information.

– Different levels have different vocabularies although they talk Different levels have different vocabularies although they talk about the same thing. about the same thing.

– DDetails don’t interest someone in the upper leveletails don’t interest someone in the upper level and he only and he only wants to see the aggregated results. wants to see the aggregated results.

Lower levelLower level Upper levelUpper level

Processes Processes Aggregated processesAggregated processes

DecisionsDecisions Results of these decisionsResults of these decisions

Variables Variables Aggregated resultsAggregated results

Individuals Individuals GroupsGroups

An organization model for aggregation.An organization model for aggregation.

• Aggregate and see ...Aggregate and see ...

– ...if the upper level vocabularies suggested by the program ...if the upper level vocabularies suggested by the program are indeed the ones seen in real-life multi-level organizations.are indeed the ones seen in real-life multi-level organizations.

– ...if the results differ, how they differ, meaning ?...if the results differ, how they differ, meaning ?

– ... reverse aggregation ?... reverse aggregation ?

– ... partial aggregation ?... partial aggregation ?

– ...in which way discrete and continuous simulations differ? ...in which way discrete and continuous simulations differ? Aggregated, disaggregated and partially aggregated Aggregated, disaggregated and partially aggregated processes.processes.

Purchasing (FindRawMaterials + PurchaseRawMaterial)Purchasing (FindRawMaterials + PurchaseRawMaterial)Prerequisites : rawMaterialOrder>0Prerequisites : rawMaterialOrder>0Changes : rawMaterialStock++ , rawMaterialOrder –Changes : rawMaterialStock++ , rawMaterialOrder –

FindRawMaterialsFindRawMaterialsPrerequisites : rawMaterialorder>0Prerequisites : rawMaterialorder>0Changes : rawMaterialAlternatives++Changes : rawMaterialAlternatives++

PurchaseRawMaterialPurchaseRawMaterialPrerequisites : rawMaterialAlternatives>0Prerequisites : rawMaterialAlternatives>0Changes : rawMaterialStock++ , rawMaterialorder -- , Changes : rawMaterialStock++ , rawMaterialorder -- ,

dept++, rawMaterialAlternatives--dept++, rawMaterialAlternatives--Marketing (SearchForCustomer + ReportOrderRequest)Marketing (SearchForCustomer + ReportOrderRequest)

Prerequisites : marketingBudget>0Prerequisites : marketingBudget>0Changes : committedRequests++Changes : committedRequests++

SearchForCustomerSearchForCustomerPrerequisites : marketingBudget>0Prerequisites : marketingBudget>0Changes : requestingCustomers++Changes : requestingCustomers++

NegotiateWithCustomerNegotiateWithCustomerPrerequisites : requestingCustomers>0Prerequisites : requestingCustomers>0Changes : requestingCustomers--, committedRequests++, Changes : requestingCustomers--, committedRequests++,

marketingBudget--marketingBudget--AcceptBestOrderAcceptBestOrder

Prerequisites : committedRequests>0Prerequisites : committedRequests>0Changes : productionOrder++, rawMaterialOrder++, Changes : productionOrder++, rawMaterialOrder++,

committedRequests—committedRequests—Production (SeizeMachine1 + ProduceHalfProducts + SeizeMachine2 + Production (SeizeMachine1 + ProduceHalfProducts + SeizeMachine2 +

ProduceProducts + Deliver)ProduceProducts + Deliver)Prerequisites : machine1.owner=””, machine2.owner=”” , Prerequisites : machine1.owner=””, machine2.owner=”” ,

rawMaterialStockrawMaterialStock >0 , productionOrder>0 >0 , productionOrder>0Changes : Changes : rawMaterialStockrawMaterialStock-- , productionOrder--, -- , productionOrder--,

loan++, loan++, SeizeMachine1SeizeMachine1

Prerequisites : Prerequisites : machine1.owner = “”, productionOrdermachine1.owner = “”, productionOrder>0, >0, rawMaterialStockrawMaterialStock>0, >0, productStockproductStock=0=0

Changes : Changes : machine1.owner = thismachine1.owner = thisProduceHalfProductsProduceHalfProducts

Prerequisites : Prerequisites : machine1.owner = this, machine1.owner = this, rawMaterialStockrawMaterialStock>0, >0, halfProductStockhalfProductStock =0 =0

Changes : Changes : halfProductStockhalfProductStock ++, ++, rawMaterialStockrawMaterialStock --, --,

SeizeMachine2SeizeMachine2Prerequisites : Prerequisites : machine2.owner = “”, machine2.owner = “”,

halfProductStockhalfProductStock >0 >0Changes : Changes : machine2.owner = thismachine2.owner = this

ProduceProductsProduceProductsPrerequisites : Prerequisites : halfProductStockhalfProductStock >0, >0,

machine2.owner = thismachine2.owner = thisChanges : Changes : halfProductStockhalfProductStock --, --, productStockproductStock

++, ++, machine1.owner = “”, machine1.owner = “”, machine2.owner = “”machine2.owner = “”

DeliverDeliverPrerequisites : Prerequisites : productStockproductStock >=5, >=5,

productionOrderproductionOrder >0 >0Changes : Changes : productStockproductStock = = productStockproductStock – 5, – 5,

productionOrderproductionOrder = = productionOrderproductionOrder – 5, – 5, loanloan ++ ++

Accounting (CollectMoney + PayMoney + PaySalaries)Accounting (CollectMoney + PayMoney + PaySalaries)Prerequisites : loan>0 , dept >0Prerequisites : loan>0 , dept >0Changes : loan=0, dept=0, money = Changes : loan=0, dept=0, money =

money+loan-money+loan- dept-salariesdept-salariesCollectMoneyCollectMoney

Prerequisites : loan>0Prerequisites : loan>0Changes : loan=0, money++Changes : loan=0, money++

PayMoneyPayMoneyPrerequisites : dept>0, money>0Prerequisites : dept>0, money>0Changes : dept=0, money--Changes : dept=0, money--

PaySalariesPaySalariesPrerequisites : money>0, date = Prerequisites : money>0, date =

firstDayOfMonthfirstDayOfMonthChanges : money--Changes : money--

R&DR&DResearchResearch

Prerequisites : money>0, Prerequisites : money>0, researchBudget>0researchBudget>0

Changes : researchDone++Changes : researchDone++ProposeNewProductProposeNewProduct

Prerequisites : researchDone > XPrerequisites : researchDone > XChanges : productProposed++Changes : productProposed++

ProposeNewTechnologyProposeNewTechnologyPrerequisites : researchDone > YPrerequisites : researchDone > YChanges : resourceTechnologyProposed++Changes : resourceTechnologyProposed++

Operation (Marketing + AcceptBestOrder + Purchasing + Operation (Marketing + AcceptBestOrder + Purchasing + Production + Accounting)Production + Accounting)

DetermineBudgetsDetermineBudgets

• FindRawMaterialsFindRawMaterials• PurchaseRawMaterialPurchaseRawMaterial

• SearchForCustomerSearchForCustomer• ReportOrderRequestReportOrderRequest• AcceptBestOrderAcceptBestOrder

• SeizeResourcesSeizeResources• ProduceHalfProductsProduceHalfProducts• ProduceProductsProduceProducts• DeliverDeliver

• CollectMoneyCollectMoney• PayMoneyPayMoney• PaySalariesPaySalaries

• ResearchResearch• ProposeNewProductProposeNewProduct• ProposeNewTechnologyProposeNewTechnology

– PurchasingPurchasing

– Marketing Marketing

– ProductionProduction

– AccountingAccounting

– R&DR&D

• OperationOperation

• DetermineBudgetsDetermineBudgets

• ProductionProduction– SeizeMachine1SeizeMachine1

• Prerequisites : Prerequisites : machine1.owner = “”, productionOrdermachine1.owner = “”, productionOrder>0, >0, rawMaterialStockrawMaterialStock>0, >0, productStockproductStock=0=0

• Changes : Changes : machine1.owner = thismachine1.owner = this– ProduceHalfProductsProduceHalfProducts

• Prerequisites : Prerequisites : machine1.owner = this, rawMaterialStockmachine1.owner = this, rawMaterialStock>0, >0, halfProductStockhalfProductStock =0 =0

• Changes : Changes : halfProductStockhalfProductStock ++, ++, rawMaterialStockrawMaterialStock --, --, – SeizeMachine2SeizeMachine2

• Prerequisites : Prerequisites : machine2.owner = “”, halfProductStockmachine2.owner = “”, halfProductStock >0 >0• Changes : Changes : machine2.owner = thismachine2.owner = this

– ProduceProductsProduceProducts• Prerequisites : Prerequisites : halfProductStockhalfProductStock >0, >0, machine2.owner = thismachine2.owner = this• Changes : Changes : halfProductStockhalfProductStock --, --, productStockproductStock ++, ++,

machine1.owner = “”, machine2.owner = “”machine1.owner = “”, machine2.owner = “”– DeliverDeliver

• Prerequisites : Prerequisites : productStockproductStock >=5, >=5, productionOrderproductionOrder >0 >0• Changes : Changes : productStockproductStock = = productStockproductStock – 5, – 5, productionOrderproductionOrder

= = productionOrderproductionOrder – 5, – 5, loanloan ++ ++

History : History :

SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts DeliverDeliverSeizeMachine1 SeizeMachine1 ……

……ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts DeliverDeliver

• Designing preconditions ;Designing preconditions ;– The changes of the prevThe changes of the previious process may change the ous process may change the

result of the preconditions.result of the preconditions.

• A adds 1 to xA adds 1 to x

• B checks x > 5B checks x > 5

• Aggregated process for A + B checks if x + 1 > 5Aggregated process for A + B checks if x + 1 > 5

• Designing changes : Designing changes : – Transition analyses ;Transition analyses ;

• Which variable will reach its limitWhich variable will reach its limit??

• The limits are the preconditions of the processes The limits are the preconditions of the processes ininccluded or not included in the cycle.luded or not included in the cycle.

SeizeMachine1SeizeMachine1ProduceHalfProductsProduceHalfProductsSeizeMachine2SeizeMachine2ProduceProductsProduceProducts

→ → CP1CP1

• CP1CP1– Prerequisites : Prerequisites :

• machine1.owner=”machine1.owner=”””

• machine2.owner=”” machine2.owner=””

• rawMaterialStockrawMaterialStock >0 >0

• productionOrder>0productionOrder>0

– Changes : Changes : • rawMaterialStockrawMaterialStock-- --

• productproductStock++Stock++

• History ;History ;CP1 - Deliver - CP1 - DeliverCP1 - Deliver - CP1 - Deliver

CPCP11DeliverDeliver → → CP2CP2

– Prerequisites : Prerequisites : • machine1.owner=”machine1.owner=”””

• machine2.owner=”” machine2.owner=””

• rawMaterialStockrawMaterialStock >0 >0

• productionOrder>0productionOrder>0

– Changes : Changes : • rawMaterialStockrawMaterialStock-- --

• productionOrder--productionOrder--

• loan++loan++

• History ;History ;CP2 - CP2- CP2 - CP2 - …CP2 - CP2- CP2 - CP2 - …

CP2 = The Production DepartmentCP2 = The Production Department

What if the history is...What if the history is...

SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts

SeizeMachine1 SeizeMachine1 ProduceHalfProducts ProduceHalfProducts

DeliverDeliver........

Whether to accept these Whether to accept these two as included in the two as included in the cycle or not ?cycle or not ?

}}If not...• CP1 will not replace the processes

A and B• The changes of CP1 won’t include

the changes at these instances

What if the history is...What if the history is...

SeizeMachine1 SeizeMachine1 FindRawMaterialsFindRawMaterials

ProduceHalfProducts ProduceHalfProducts PurchaseRawMaterialPurchaseRawMaterial

SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts

SeizeMachine1 SeizeMachine1 FindRawMaterialsFindRawMaterials

ProduceHalfProducts ProduceHalfProducts PurchaseRawMaterialPurchaseRawMaterial

SeizeMachine2 SeizeMachine2 ProduceProducts ProduceProducts ........

The aggregator will The aggregator will replace 6 of them replace 6 of them although although FindRawMaterials and FindRawMaterials and PurchaseRawMaterial PurchaseRawMaterial are totally irrelevant are totally irrelevant with the other with the other processes.processes.

}}

Further criteria for a good cycle;Further criteria for a good cycle;

Definition : An instance of a process A is time predecessor of an instance of another process B, if the instance of B starts just when the instance of A terminates.

Definition : A process A is change predecessor of a process B if at least one of the changes of A changes a variables referenced in the preconditions of B.

Definition : An instance of a process A triggers an instance of another process B, if A is change predecessor of B and the instance of A is time predecessor of the instance of B.

The aggregator only accepts the instances of processes which trigger each other

ConclusionConclusion– Aggregation has an important role in our life inherently.Aggregation has an important role in our life inherently.

– In which ways continuous and discrete components of a In which ways continuous and discrete components of a simulation differ? simulation differ?

– Simulation of Organizations needSimulation of Organizations needss its own methods. its own methods. Aggregation has a potential.Aggregation has a potential.

– Viewing an organization as the combination of different Viewing an organization as the combination of different aggregation levels may give a realistic insight. aggregation levels may give a realistic insight.

– But the use of aggregation in simulation needs But the use of aggregation in simulation needs investigation. Its capabilities, limits, advantages and investigation. Its capabilities, limits, advantages and disadvantages, reverse aggregation, partial disadvantages, reverse aggregation, partial aggregation etc.. aggregation etc..

Thank you …Thank you …