280 likes | 417 Views
On the architecture and form of flexible process support. R.A. Snowdon, B.C. Warboys, C. Holland, P. Kawalek and D.Shaw * University of Manchester, UK * Nottingham University, UK. Overview. The problem What are the structures and properties of ICT systems supporting sustainable businesses?
E N D
On the architecture and form of flexible process support R.A. Snowdon, B.C. Warboys, C. Holland, P. Kawalek and D.Shaw* University of Manchester, UK *Nottingham University, UK BPMDS'05, Porto
Overview • The problem • What are the structures and properties of ICT systems supporting sustainable businesses? • Approach • Systemic, cybernetic • Active models • Experimentation • The Flexible Business Integration (FBI) project • An example • Issues and Discussion BPMDS'05, Porto
Flexibility • “…the ability of a firm's processes and systems to respond quickly to changes in the business environment. It includes the capacity to accommodate shifts in consumer demand, in competitors' strategies, in rate of growth, and in suppliers' deals and shipment problems…” • A property of a business (system) which allows it be sustainable in a changing world • How is this property manifest in a business and how can ICT be formed to support such a property? BPMDS'05, Porto
Business is a system Environment Environment Business as a system Environment Environment Environment • To be sustainable the business must be effective not only in fulfilling its function but in its development in the environment • How can ICT support this need? BPMDS'05, Porto
ICT as an active model Non ICT system Reaction and proactionrelationships ICT system • The business system is a set of interacting processes. • The ICT system is a set of interacting processes modelling the business system, linked by react and proact relationships. • The systems co-evolve • What are the form and characteristics that support this? BPMDS'05, Porto
The Viable System Model (VSM) 5 4 • The VSM is a cybernetic process model. • Distinguishes meta and operational processes. • Apply it to the non ICT and the ICT systems as an architecture. 3 3* Environment 2 2 1 BPMDS'05, Porto
Modelling - POSD • POSD (Process Oriented Systems Design) models systems as interacting processes A C B • A is a system (process) composed of the interaction of processes B and C • Interaction is shown by “touch” (or equivalently a line) • Interaction is fulfilled by shared component processes BPMDS'05, Porto
VSM POSD “icon” S5 S3 S4 S2 S3* S1 BPMDS'05, Porto
Supply chain scenario • Muzak.com, Eshop.com use B2b.com to arrange partnership. • Partnership operates • Partners break apart again. • Arrange new partnership • Etc. • POSD models with narrative can describe the activity. BPMDS'05, Porto
S5 S3 S4 S2 S3* S1 Starting position B2b.com S5 S3 S4 S2 S3* S1 Muzak.com Eshop.com S5 S5 S3 S3 S4 S4 S2 S2 S3* S3* S1 S1 Customer BPMDS'05, Porto
Decide to form partnership B2b.com S5 S3 S4 S2 S3* S1 Muzak.com Eshop.com S5 S5 S4 S3 S3 S4 S2 S2 S3* S3* S1 S1 Customer S5 S3 S4 S2 S3* S1 BPMDS'05, Porto
Do business B2b.com S5 S3 S4 S2 S3* S1 Muzak.com Eshop.com S5 S5 S3 S3 S4 S4 S2 S2 S3* S3* S1 S1 Customer S5 S3 S4 S2 S3* S1 BPMDS'05, Porto
S5 S3 S4 S2 S3* S1 Break apart S5 S3 S4 S2 S3* S1 Muzak.com Eshop.com S5 S5 S3 S3 S4 S4 S2 S2 S3* S3* S1 S1 Customer BPMDS'05, Porto
S5 S3 S4 S2 S3* S1 Map to BPS – the active model • Both systems are structured as VSM arranged sets of interacting processes. Non ICT (social) system standard browsers internet active model as PML enacted using Process Web BPMDS'05, Porto
PML-Process Modelling Language • Class based concurrent language with inheritance • Principal classes • Role, Interaction, Entity, Action • Each class is an aggregation of properties arranged by distinguishing categories. • Reflexive – callable compiler, run time examination of execution objects. • Persistent. BPMDS'05, Porto
S3 S1 E P E P Mapping of VSM architecture • Almost direct mapping of major VSM behaviours to PML Roles. • The E (volution) – P (roduction) pairs. • Each behaviour has a “do” component (P) and an “evolve” component (E). • Each P (generally) has partner in non-ICT system. BPMDS'05, Porto
Change process - S3 on S1 and S3 S3 Apply changes to S1_P via S1_E Apply changes to S3_P via S3_E Decide changes to S1 and S3 Formulate changes as PML Operating normally (revised) S1 Operating normally (revised) Operating normally Stopped (frozen) BPMDS'05, Porto
social system internet active model as PML enacted using Process Web Enacting the model (change) BPMDS'05, Porto
Changing values BPMDS'05, Porto
And so on … • Can explore at ProcessWeb BPMDS'05, Porto
Architectural points • Sound basis of VSM coupled with BPS non IT IT time • Architecture for change BPMDS'05, Porto
Architectural Points • There is much more to VSM • Monitoring and interpretation S3 domain (“values”) (e.g. comfort) S3 S1 S1 domain (“widgets”) (e.g. temperature) • Visualisation • Decisioning (the 3-4-5 homeostat) BPMDS'05, Porto
Architectural points • Scenarios –S4 • Embedded use of architecture for potential futures • Higher level systems, system composition • Herring and Kaplan B2B Eshop Muzak • Recursion BPMDS'05, Porto
Mapping on to “real software” Business system • Passive, design time • Active, run time • Co-ordination layer, orchestration Architecture Corporate IT – databases, apps., tools BPMDS'05, Porto
Technology points • Reflection • S3 code which changes code of S1 and S3 • Hypercode R E reification reflection edit eval • Need for completeness in E-R relationship BPMDS'05, Porto
Technology points • Inheritance • Appealing because of incremental change • Limited to subclassing • Granularity issues (example) • Open systems • Some state external to system • Development support • S3 develops S1 • May get it wrong • What if?/simulation • Checking/proof/analysis tools • Real time development BPMDS'05, Porto
Summary • The process is the development process. BPMDS'05, Porto
Code example receive_selection : { ! when sv='receive' etc Take(gram=cgi_data, interaction=userRolePorts.userTakeport); .. if cgi_data('formid')='genericS3_P_01' then sv:=cgi_data('selection') elsif cgi_data('formid')='genericS3_P_02' then if cgi_data('selection')='compile' then classcode:=cgi_data('code'); sv:='compile_p' elsif cgi_data('selection')='install' then sv:='install_p' elsif cgi_data('selection')='bindings' then sv:='extractvalues' elsif cgi_data('selection')='abort' then sv:='abort_p' end if elsif cgi_data('formid')='genericS3_P_02F' then .. elsif cgi_data('formid')='genericS3_P_03' then .. end if } when sv='receive' & userRolePorts ~= nil & userRolePorts.userTakeport ~= nil Back BPMDS'05, Porto