32
Capability Driven Development of Contextaware Enterprise Applica9ons – Challenges, Approach and Experiences Janis S9rna based on FP7 project CaaS:

Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Capability  Driven  Development  of  Context-­‐aware  Enterprise  Applica9ons  –  Challenges,  Approach  and  Experiences  

 Janis  S9rna  

 based  on  FP7  project  CaaS:

Page 2: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Short  info  about  Janis    

•  PhD  from  KTH,  2001  •  Prof  at  SU,  2015  •  Teaching  UML  to  500  students  

•  Research  interests:  EM,  EA,  EE,  RE  

 

Page 3: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Outline  The  general  need  for  capability  Overview  of  the  CaaS  project  Overview  of  the  applica9on  cases  at  SIV  (Germany)  and  Everis  (Spain)  

Overview  of  the  CaaS  methodology  and  development  environment  

Other  work  done  Reflec9on  on  challenges  and  the  work  ahead    

Page 4: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Mo3va3on:  context  changes,  businesses  need  to  adapt  

Bakery  

Factory  

Stockholm Arlanda has a goal not to shut down the flight operations due to snow ….but

Page 5: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Capability  as  a  Concept  •  Enterprises  must  focus  on  their  capabili9es:  the  ability  

and  capacity  that  enables  an  enterprise  to  achieve  a  business  goal  in  a  certain  opera=onal  context  

•  What  is  a  Capability?    

The  goal  to  accomplish  

The  ability  to  engineer  a  bridge,  e.g  skills,  

experience  

The  capacity  such  as  money  or  tools  to  build  a  bridge    

The  context  in  which  the  bridge  must  be  built  and  used  (loca9on,  weather,  etc.)    

? Capability

Page 6: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Key Concepts: Capability & Context

•  Capability is the ability and capacity that enable an enterprise to achieve a business goal in a certain context.

•  Context refers to situational properties relevant to capability delivery.

•  The company wants to sell ice creams on streets as long as it is sunny and the temperature is within a given range.

•  Context influences: rain, public events, season

Page 7: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Solu3on  •  Capability  as  a  Service  •  A  (reasonably)  novel  paradigm  supported  by  four  

cornerstones  

Defined  Best  Enterprise  Prac3ces  as  

PaBerns  

Capability-­‐driven  Development  (CDD)  Methodology  

Capability  Delivery  Adjustments  According  

to  Context  

Capability  Design  and  Delivery  Environment  

Page 8: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

The  overall  approach    Use  case  driven    

WP2  Use  case    (SIV)  

WP3  Use  case  (CLMS)  

WP4  Use  case  (Everis)  

WP5  Methodology  

(UR)  

WP6  Environment  

(Croz)  

WP7  Exploita9on  (Everis)  

WP8  Dissemina9on  (UPVLC)  

WP9  Management  (SU)  

WP1  Requirements  

(RTU)  

CaaS Project Deliverable D3.1

Page 52

Table 11: Medical compliance pattern

Name Rule Compliance Pattern for medical issues (BPM)

Problem To deal with the need of automated rule compliance of vessels approaching different ports with different legislations regarding medical issues

Context ! Vessel approaching a new port ! Compliance with local regulations regarding the crew medical status required

Solution BPM Pattern

Guidelines User can exploit this set of processes for the overall business process of the rule compliance system regarding medical status of the vessel’s crew

Keywords Rule compliance, Port authorities, Maritime, Business process

5.4.3.2 The Cargo Compliance Pattern (Business Process View)

This pattern is a business process model applicable in the cases where a vessel, approaching a port, is required to ensure compliance regarding its cargo. Table 12 summarizes all the basic characteristics of the proposed pattern.

Page 9: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Capability Driven Development - overall meta-model -

Enterprise Modeling

Reuse and Variability

Context

Page 10: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Capability Driven Development - life-cycle process -

Page 11: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

CDD Development Environment Architecture Overview

11

Page 12: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Architecture Overview of Capability Context Platform (CCP)

12

Page 13: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Capability Driven Development life-cycle process, navigation and adjustment at run-time

Page 14: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Capability Elicitation

Capability elicitation, starting perspective: –  Goal-first: business strategy –  Service-first customer needs –  Context-first: business conditions

Page 15: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Elicitation – A Case at SIV

•  The CaaS partner SIV is a Germany-based independent software vendor (ISV) and a business process outsourcing (BPO) provider for the utilities industry.

•  SIV has developed a domain-specific ERP platform kVASy® that supports all relevant value-added processes of market players.

•  All BPO services offered to SIV’s customers – mostly grid access providers and balance suppliers – are based on the functionalities of kVASy®.

•  SIV’s business goal is to deliver a maximum of business value to its customers by to combining best practice business processes with compliance to the market’s ever changing business rules and regulatory requirements.

Page 16: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Elicitation – A Case at SIV

Goal 1To constantly deliver business

value to its customers

Goal 9To increase the degree of

automation of case handlingsupports

Goal 5To support any

communication protocol between market partners

supports

Goal 1.1To implement change

requirements for the kVASy® platform in an agile way

Goal 1.2To run the kVASy® platform as a cloud

based service

Goal 1.3To significantly reduce the

complexisty of the kVASy® platform

Goal 6To support new

market roles

supports

Goal 3To implement customer change requests in an

agile way

supports

Goal 4To quckly adapt to

regulatory changes that affect market communication

supports

Goal 8To transform kVASy®

into a SOA based platform

supports

Goal 7To reduce time-to-market of product

enhancements

supports supports

Goal 2To efficiently control the

business processes

Goal 2.1To optimize

case throughput

Goal 2.2To achieve

high process quality

supports

Goal 10 To reduce

process costs

supports

Iteration

Page 17: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Elicitation – A Case at SIV “Message Validation” business process: …the recipient is supposed to validate each message (such as “energy consumption data”) against the underlying message specification. The sender is to be notified about any invalid message within a deadline specified by the regulatory authority

Given the large number of messages to be processed, there are usually many concurrent cases that need some clearing. Hence, the size of the backlog can grow considerably over time leading to missed deadlines and/or overtime work. Thus - customer’s workload, the current backlog size, message type, exception types, and other, are represented by (different) context models, and (different) capabilities are elicited to handle those contexts.

Page 18: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Elicitation – A case at SIV

Depending on the concrete context situation, the task “Remedy case” can be dynamically routed to the external business service provider (BSP), or left with the customer.

Page 19: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Documentation in the CDT •  Model-oriented, with natural language for annotations •  Open to different modeling languages •  Intra- and inter-model links can be defined for traceability

Page 20: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Summary of experiences at SIV

•  The main objective of the process is to facilitate the specification for capability requirements in an integrated way following the multi-perspective views defined in the CMM to facilitate further application development.

•  Where to start - from business goals, services, or from relevant business contexts. In any of these strategies, both the functionality and the quality aspects of capability are captured, where the first are dictated by the CM, and latter by the setting of the goals and KPIs.

Page 21: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

eGovernment SOA Platform at Everis

CaaS EC FP7 Project 611351

!"#

#

F igure 3: Situation before the SO A platform

After the adoption to the new law requirements, it was decided to create a common infrastructure (the SOA platform) for the whole network of councils to share common services. In this way, all the councils could accessed to the services offered by the platform, even though they could customized some aspects depending on each one needs. It is shown in Figure 4:

F igure 4: Situation after SO A platform

Next table (Table 2) describes the main functions carried out by the SOA platform:

Ca 100 municipalities Varying contexts Ca 10000 services running Many external providers Manual activation and maintenance

Page 22: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Capability Design Model for Dynamic Service Registration

CaaS EC FP7 Project 611351

F igure 37: Context model for the Dynamic Service Registration capability

Process Variants:

Capability:

Pattern:

Context model fragment: Goal: Goal:

KPI:

Page 23: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Service Promotion Goals Model CaaS EC FP7 Project 611351

F igure 42: Service promotion goal model

CaaS EC FP7 Project 611351

Process with C DD approach applied: Service promotion process manually/automatically - .

Service promotion general process model is represented in Figure 45. Process model includes two main process variants:

1) service highlighting ability, then automatic service highlighting procedure can be run.

2) information about services with the highest ranks can be automatically sent to the municipality, thus municipality can highlight the services manually or to PMO.

F igure 45: Service promotion main process model

Main service promotion process model is shown in Figure 45. Process contains two sub processes: (1) Services rank calculation and (2) Run highlighting procedure which is further elaborated in separate sub-process models (Figure 46 and Figure 47).

F igure 46: Services ranks calculation sub-process model

Public servants who are managing the service catalogue in the page are responsible for defining context dependencies for each service in a municipality. These dependencies can be defined in form of rules which indicates how services ranks should be changed according to monitored and/or predicted context data. If context data are received, promotion rules can be applied (e.g. if rule says that

20 (°C) THEN rank(service_a)+1). If municipality decides to recalculate its services ranks if they are recalculated in similar municipalities, then

Page 24: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Capability design for automatic service promotion

CaaS EC FP7 Project 611351

F igure 52: Context model for the Service Promotion capability

CaaS EC FP7 Project 611351

!!"

"

F igure 48: Service promotion main process model with context elements

The sub process of services ranks calculation was described in Section 5.2. The context elements that influence this process are in Table 32.

The influence becomes as outputs of the adjustment algorithms execution. They influence the following activities: monitor context data, predict context data and calculate similar municipalities.

F igure 49: Services ranks calculation sub-process model with context elements

The sub process of run highlighting procedures was described in Section 5.2. The context element that influences this process is the number of maximum highlight services. It must be taken into account when deciding the services to be highlighted.

Page 25: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Meta-model (current version)

Capability

GoalIndicator

Context Indicator KPI

ContextSet

Process

ProcessVariantCapability Deliv ery Pattern

ContextElementRange

Measurable Property

ContextElement

ContextType

Resource

Context Situation

Context Element Value

Variation Point

Capability Deliv ery Variation Point

Process Variant Variation Point

Variation Aspect

Adjustment

ContextCalculation CapabilityAdjustment

AdjustmentConstant

Ev entBasedAdjustment

ScheduledAdjustment

KPIValue

Calculation

KPICalculation

1

uses instancespecific valuesfor calculation

0..*

1..*

requires

1..*

1

calculates

1

0..* uses forcalculation

0..*

1..*

motivates

1..*1..*defined in

0..*

1..*requires

0..1

0..*

uses forcalculation

1..*

1..*consists of

1

*influences

*

uses forcalculation

0..*

0..*

supportsimplementing

1

11..*

1calculates value for

1

*measured by0..1

1

has

*

1

supportsdecisionmakingat

0..*

*

requires1

1

hasvalue

1..*

0..1

requires

1..*

1..*

0..*

1

requires

0..1

1

1..*

1..*

1

defines *

0..*

1..*

0..1

supported by

1

0..*defined in

1..*

0..*

uses forcalculation

0..*

1

consists of

1..*

1..*

related to

0..1

1has value

1..*

0..*

use forcalculation

0..*

1

requires

0..1

1

depends on

0..*

0..*

supportsdecisionmakingfor

1

1 1..*

For capability design, incl. goals, KPIs, context, measurable properties, etc.

For variability design

For specifying adjustment algorithms

Page 26: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

How should this work? Elements of a Capability Model

Patterns

Enterprise Model

Business Service Model

Context Model

Capability Model

26

Page 27: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

27

Business Service (Example: Process + Variants)

Policy Type = advanced forward = specific to size = ….

Context Model

Weather = long cold period = ….

Removal  of  Meter

Installation  of  Meter

Change  of  Meter

Period  Meter  Reading

Archive  messages

Determine  „reading  reason“

Period  meter  reading

Determine  metering  point  master  data

Write  meter  reading

Determine  and  check  register  master  data

Loop  over  all  „Registers“

A B CValidate  meter  reading

Write  meter  reading

Removal  of  Meter

Installation  of  Meter

Change  of  Meter

Period  Meter  Reading

Archive  messages

Determine  „reading  reason“

Period  meter  reading

Determine  metering  point  master  data

Write  meter  reading

Determine  and  check  register  master  data

Loop  over  all  „Registers“

A B CValidate  meter  reading

Write  meter  reading

Removal  of  Meter

Installation  of  Meter

Change  of  Meter

Period  Meter  Reading

Archive  messages

Determine  „reading  reason“

Period  meter  reading

Determine  metering  point  master  data

Write  meter  reading

Determine  and  check  register  master  data

Loop  over  all  „Registers“

A B CValidate  meter  reading

Write  meter  reading

Patterns

Policy Type

Specific Advanced

Enterprise Model (Concepts/Goals)

Variation depending on

Joint meta-model same modeling tool

How should this work? Elements of a Capability Model

Capability Model

27

Page 28: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

The third use case: Model Driven Development of CDAs

CNA

CDT

CCP

Data providers

MP value push

CDA

MP value push

MP information

Model and implementations

Adjustment information

zAppDev tool by CLMS, UK

Page 29: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Other work done

• Requirements for the CDD methodology and CDD environment

• Pattern repository • CDD methodology for designing capabilities and

solutions (1st version) • Application of the CDD methodology at three

industrial companies • CDD environment (two releases) • Market and exploitation plan • Dissemination: (1 journal paper, 10+ conference and

workshop papers, 2 workshops organized)

Page 30: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Where would we use this approach?

• Strategic planning and organizational design •  Assessing the impact of context on the business design

• Operational running of business

•  Monitoring the KPIs, adjusting the business delivery

• Making use of emerging theories and technologies •  E.g. consumer values and preferences, sensors, and

big data

• Addressing cross-sectorial challenges •  E.g. energy efficiency, sustainability, cyber resilience

Capability

Goal V Context V Capacity V Ability V Best practice V

Page 31: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Plan: CaaS

to market

Year 3: Business feasibility

Year 2: Technological

feasibility

Year 1: Conceptual feasibility

current state:

Page 32: Capability)Driven)Development) of Contextaware )Enterprise ...su.diva-portal.org/smash/get/diva2:891925/FULLTEXT01.pdf · Capability)Driven)Development) of Contextaware )Enterprise)

Contacts

• http://caas-project.eu/

•  Papers (among many): •  Solvita Berzisa, George Bravos, Tania Cardona González, Ulrich Czubayko, Sergio España, Janis Grabis, Martin

Henkel, Lauma Jokste, Janis Kampars, Hasan Koç, Jan-Christian Kuhr, Carlos Llorca, Pericles Loucopoulos, Raúl Juanes Pascual, Oscar Pastor, Kurt Sandkuhl, Hrvoje Simic, Janis Stirna, Francisco Giromé Valverde, Jelena Zdravkovic: Capability Driven Development: An Approach to Designing Digital Enterprises. Business & Information Systems Engineering 57(1): 15-25 (2015)

•  Workshops: ASDENCA 2014, CoBI 2014, ASDENCA 2015, CoBI 2015, ASDENCA 2016

•  PoEM 2015 in Valencia, paper deadline July 17

•  Janis Stirna, [email protected]