Mahsa H. Sadi and Eric Yu
1
Department of Computer Science
University of Toronto
Modeling and Analyzing Openness
Trade-Offs in Software Platforms
A Goal-Oriented Approach
Feb 28th, REFSQ 2017, Germany
Open Innovation
Software organizations open up their processes and
platforms to external developers
To use external ideas and paths to market
External developers
A part of a software ecosystem offering applications
2
Background
Chesbrough, H. W. (2006). Open innovation: The new imperative for creating
and profiting from technology. Harvard Business Press.
Fitzgerald, B. (2006). The transformation of open source software. MIS
Quarterly, 587-598.
Open Platforms
A platform on top of which 3rd party applications
can be built
The source code is not necessarily available
Extension mechanisms allow sufficient access
3
Background
Boudreau, K. (2010). Open platform strategies and innovation: Granting
access vs. devolving control. Management Science, 56(10), 1849-1872.
Fitzgerald, B. (2006). The transformation of open source software. MIS
Quarterly, 587-598.
Bosch, J., & Bosch-Sijtsema, P. (2010). From integration to composition: On
the impact of software product lines, global development and ecosystems.
Journal of Systems and Software, 83(1), 67-76.
4
Example – Mobile Platforms
5
Other Examples of Open Platforms
6
Problem Statement
Opening up platforms is a non-trivial problem
Openness requirements are in competition with
security, performance, controllability
e.g. Distributing features versus maintainability
Boudreau, K. (2010). Open platform strategies and innovation: Granting access vs.
devolving control. Management Science, 56(10), 1849-1872.
Ghazawneh, A., & Henfridsson, O. (2013). Balancing platform control and external
contribution in third‐party development: the boundary resources model.
Information Systems Journal, 23(2), 173-192.
West, J. (2003). How open is open enough?: Melding proprietary and open source
plat-form strategies. Research policy, 32(7), 1259-1285.
7
Research Objective
To help identify suitable design strategies for
opening up a software platform
8
Contributions of this Study
1. Requirements and Concerns in Open
Software Platforms
2. Modeling and Analysis of Requirements in
Open Software Platforms
9
Requirements and Concerns in Open
Software Platforms
Requirements in Open
Software Platforms
Openness
Requirements
General Platform
Design Concerns
Business-Level
Openness
Requirements
System-Level
Openness
Requirements
The specific concerns and quality requirements
that openness introduces on platform designs
10
Openness Requirements
Openness Requirements
Business-level openness requirements
The motivations for opening up the platform
Non-technical, related to the social, business, and
organizational environment of the platform
System-level openness requirements
Technical, related to the quality of software design
11
Customer-Related Objectives
Stickiness of the Platform
Growing the network size of complementary
applications hardens switching to a different
platform
12
Business-Level
Openness Requirements – Example
Popp, K. M. (2010). Goals of Software Vendors for Partner Ecosystems–A
Practitioner´ s View. In Software Business (181-186). Springer Berlin
Heidelberg.
Bosch, J. (2012). Software ecosystems: Taking software development beyond
the boundaries of the organization. Journal of Systems and Software, 85(7),
1453-1454.
Extensibility
The ease of adding a new application to a platform
Can be further refined into:
Composability, Deployability, Stability, Configurability
13
System-Level
Openness Requirements – Example
Bosch, J., & Bosch-Sijtsema, P. (2010). From integration to composition: On
the impact of software product lines, global development and ecosystems.
Journal of Systems and Software, 83(1), 67-76.
Bosch, J. (2010). Architecture challenges for software ecosystems. In
Proceedings of the Fourth European Conference on Software Architecture:
Companion Volume (pp. 93-95).
The requirements possibly violated or at risk in
open platforms
14
General Concerns in Designing
Software Platforms
Security
Possible defective or malicious code in external
applications may disable the overall system
The integrity of platform services and data
The confidentiality and privacy of the end-users’ data
Correct operation of features developed by multiple parties
15
General Concerns in Designing
Software Platforms – Example
Scacchi, W., & Alspaugh, T. A. (2013). Processes in securing open
architecture soft-ware systems. In Proceedings of International Conference
on Software and System Pro-cess.
Knauss, E., Yussuf, A., Blincoe, K., Damian, D., & Knauss, A. (2016).
Continuous clarification and emergent requirements flows in open-
commercial software ecosystems. Requirements Engineering, 1-21
Two Characteristics of the Identified Requirements
Non-Functional, related to:
• Quality requirements (e.g. Accessibility, Extensibility)
• Business objectives (e.g. Stickiness, Ecosystem gravity)
Interacting with each other:
• Competition
• Synergy
16
Summary of the First Part
17
Contributions of this Study
1. Requirements and Concerns in Open
Software Platforms
2. Modeling and Analysis of Requirements in
Open Software Platforms
18
The Proposed Approach
Non-Functional Requirements Analysis Method
Chung, L., Nixon, B. A., Yu, E., & Mylopoulos, J. (2012). Non-functional
requirements in software engineering (Vol. 5). Springer Science & Business Media.
19
The Case Under Study - 1
AUTOSAR Platform
An Operating System for automotive platforms
Functionalities: Controlling the electronic
units of a vehicle
(e.g. the speed, the brakes, the windows)
Opened up to a variety of 3rd party applications
(Certified, uncertified)
Eklund, U., & Bosch, J. (2014). Architecture for embedded open
software ecosystems. Journal of Systems and Software, 92, 128-142.
20
The Case Under Study - 2
The Specific feature under study
The design of Data Provision Service
• How platform communicates data with 3rd party
apps
• How 3rd party applications communicate data with
each other
Objective: Revisit the Design of Data Provision
Service
Domain-Specific Design Requirements
21
Step 1: Identifying and Prioritizing
Requirements - 1
Eklund, U., & Bosch, J. (2014). Architecture for embedded open
software ecosystems. Journal of Systems and Software, 92, 128-142.
Domain-Specific Design Requirements
22
Step 1: Identifying and Prioritizing
Requirements - 2
Performance | High
Response Time
Access-Time
Security [Platform]|High
Integrity
Availability
Dependability
23
Step 1: Identifying and Prioritizing
Requirements - 3
Security
[Platform]
Consistency
[Data]
Accuracy
[Platform Data]
Integrity
[Platform Data]
Help
Help
Help
Dependendability
[Platform]
Help
Performance
[Platform]
Help
Response-
Time
[Platform]
Access Time
[Data]
Help
Help
!!
Help
Availability
[TP App Data]
Help
!!
Operational
Security
[Platform]
24
Step 1: Identifying and Prioritizing
Requirements - 6
HelpComposability
[Platform]
Decoupling
[TP App]
Help
Deployability
[TP App]
Help Help
Development
Asynchronization
[TP App]
Independent
Behaviour
[TP App]
Openness
[Platform]
Extensibility
[Platform]
Help
!! !!
Decoupling
[Platform]
Help
Help
Independent
Deployment
[TP App]
Help
25
Step 2: Identifying the Design Objective
and Alternative Design Options
Design Objective: To provide data service to 3rd Party
applications
Eklund, U., & Bosch, J. (2014). Architecture for embedded open
software ecosystems. Journal of Systems and Software, 92, 128-142.
Alternative Design 1: Centralized Data Provision
26
Step 2: Identifying Alternative Design
Options
Platform
3rd
Party
App
3rd
Party
App
3rd
Party
App
27
Step 3: Evaluating design options
against the design requirements
Design Requirement: Response Time
[Platform]: Access Time [Data]
Evaluation: (-)
All data operation requests should pass
through a central gateway and a queue
controlled by the platform.
Platform
3rd
Party
App
3rd
Party
App
3rd
Party
App
Centralized Data Provision
28
Analyzing the Fulfillment of Design
Requirements in Centralized Data Provision
Centralized
data provision
HelpComposability
[Platform]
Decoupling
[TP App]
Help
Deployability
[TP App]
Help Help
Development
Asynchronization
[TP App]
Independent
Behaviour
[TP App]
Security
[Platform]
Consistency
[Data]
Openness
[Platform]
Extensibility
[Platform]
Accuracy
[Platform Data]
Integrity
[Platform Data]
Help
Help
Help
Help
Help
Help
Help
T1
!! !!
Dependendability
[Platform]
Help
Performance
[Platform]Help
Response-Time
[Platform]
Access Time
[Data]
Help
Help
Help
!!
Decoupling
[Platform]
Help
Hurt
Operational
Security
[Platform] Help
Availability
[TP App Data]
Help
Hurt
Help
Independent
Deployment
[TP App]
Help
Help
✔
!!
Help
G: Provide Data
[To third-party applications]
✔
✔
✔
✔
✔
✔✔✔
✔
✔
✔
✔✔ ×
×
×
×
Openness Requirement
Composability [Platform]
Priority: High
Openness Requirement
Deployability
[Third-Party Applications]
Priority: High
Security Requirement
Availability [Third-Party Applications]
Priority: High
Security Requirement
Integrity [Platform Data]
Priority: High
Performance Requirement
Response Time
[Platform]
Priority: High
Denied
Partially Denied
Conflict
Partially Satsificed
Satsificed
29
Analysis of Centralized Data Provision
Performance is sacrificed for Openness.
Alternative 1:
Centralized Data
Provision 30
Step 2: Identifying the Alternative
Design Options
Platform
3rd
Party
App
3rd
Party
App
3rd
Party
App
Design Objective: To provide data service to 3rd
Party applications
Alternative 2:
Semi-Centralized
Data Provision
Platform
3rd
Party
App
3rd
Party
App
3rd
Party
App
31
Comparison of the Design Alternatives
Openness Requirement
Composability [Platform]
Priority: High
Openness Requirement
Deployability
[Third-Party Applications]
Priority: High
Security Requirement
Availability [Third-Party Applications]
Priority: High
Security Requirement
Integrity [Platform Data]
Priority: High
Performance Requirement
Response Time
[Platform]
Priority: High
Denied
Partially Denied
Conflict
Partially Satsificed
Satsificed
Option 1: Centralized
data provision
Option 2: Semi-centralized
data provision
32
Discussion
Performance: Crucial for real-time Operations of the
platform
Composability and Deployability: Crucial for
accommodating 3rd party applications overtime
A combination of centralized and semi-centralized
data provision can be used.
33
Summary
Objective:
To identify suitable open platform design strategies
Proposed Solution:
1. Consider openness as a class of non-functional
requirements
2. Refine it in parallel with other important concerns
Use a goal-oriented requirements analysis approach
3. Use it as criteria for selecting a suitable design option
Analyze potential trade-offs
Balance the fulfillment of the requirements
34
Future Work
1. To assess the applicability of the proposed method in
real-world open software platform projects
2. To provide knowledge support for refining openness
requirements
3. To enrich the analytical capabilities of the proposed
method for determining effective openness design
strategies
4. To compare with peer approaches, such as ATAM
35
E-mail: mhsadi@cs.toronto.edu

Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach

  • 1.
    Mahsa H. Sadiand Eric Yu 1 Department of Computer Science University of Toronto Modeling and Analyzing Openness Trade-Offs in Software Platforms A Goal-Oriented Approach Feb 28th, REFSQ 2017, Germany
  • 2.
    Open Innovation Software organizationsopen up their processes and platforms to external developers To use external ideas and paths to market External developers A part of a software ecosystem offering applications 2 Background Chesbrough, H. W. (2006). Open innovation: The new imperative for creating and profiting from technology. Harvard Business Press. Fitzgerald, B. (2006). The transformation of open source software. MIS Quarterly, 587-598.
  • 3.
    Open Platforms A platformon top of which 3rd party applications can be built The source code is not necessarily available Extension mechanisms allow sufficient access 3 Background Boudreau, K. (2010). Open platform strategies and innovation: Granting access vs. devolving control. Management Science, 56(10), 1849-1872. Fitzgerald, B. (2006). The transformation of open source software. MIS Quarterly, 587-598. Bosch, J., & Bosch-Sijtsema, P. (2010). From integration to composition: On the impact of software product lines, global development and ecosystems. Journal of Systems and Software, 83(1), 67-76.
  • 4.
  • 5.
    5 Other Examples ofOpen Platforms
  • 6.
    6 Problem Statement Opening upplatforms is a non-trivial problem Openness requirements are in competition with security, performance, controllability e.g. Distributing features versus maintainability Boudreau, K. (2010). Open platform strategies and innovation: Granting access vs. devolving control. Management Science, 56(10), 1849-1872. Ghazawneh, A., & Henfridsson, O. (2013). Balancing platform control and external contribution in third‐party development: the boundary resources model. Information Systems Journal, 23(2), 173-192. West, J. (2003). How open is open enough?: Melding proprietary and open source plat-form strategies. Research policy, 32(7), 1259-1285.
  • 7.
    7 Research Objective To helpidentify suitable design strategies for opening up a software platform
  • 8.
    8 Contributions of thisStudy 1. Requirements and Concerns in Open Software Platforms 2. Modeling and Analysis of Requirements in Open Software Platforms
  • 9.
    9 Requirements and Concernsin Open Software Platforms Requirements in Open Software Platforms Openness Requirements General Platform Design Concerns Business-Level Openness Requirements System-Level Openness Requirements
  • 10.
    The specific concernsand quality requirements that openness introduces on platform designs 10 Openness Requirements
  • 11.
    Openness Requirements Business-level opennessrequirements The motivations for opening up the platform Non-technical, related to the social, business, and organizational environment of the platform System-level openness requirements Technical, related to the quality of software design 11
  • 12.
    Customer-Related Objectives Stickiness ofthe Platform Growing the network size of complementary applications hardens switching to a different platform 12 Business-Level Openness Requirements – Example Popp, K. M. (2010). Goals of Software Vendors for Partner Ecosystems–A Practitioner´ s View. In Software Business (181-186). Springer Berlin Heidelberg. Bosch, J. (2012). Software ecosystems: Taking software development beyond the boundaries of the organization. Journal of Systems and Software, 85(7), 1453-1454.
  • 13.
    Extensibility The ease ofadding a new application to a platform Can be further refined into: Composability, Deployability, Stability, Configurability 13 System-Level Openness Requirements – Example Bosch, J., & Bosch-Sijtsema, P. (2010). From integration to composition: On the impact of software product lines, global development and ecosystems. Journal of Systems and Software, 83(1), 67-76. Bosch, J. (2010). Architecture challenges for software ecosystems. In Proceedings of the Fourth European Conference on Software Architecture: Companion Volume (pp. 93-95).
  • 14.
    The requirements possiblyviolated or at risk in open platforms 14 General Concerns in Designing Software Platforms
  • 15.
    Security Possible defective ormalicious code in external applications may disable the overall system The integrity of platform services and data The confidentiality and privacy of the end-users’ data Correct operation of features developed by multiple parties 15 General Concerns in Designing Software Platforms – Example Scacchi, W., & Alspaugh, T. A. (2013). Processes in securing open architecture soft-ware systems. In Proceedings of International Conference on Software and System Pro-cess. Knauss, E., Yussuf, A., Blincoe, K., Damian, D., & Knauss, A. (2016). Continuous clarification and emergent requirements flows in open- commercial software ecosystems. Requirements Engineering, 1-21
  • 16.
    Two Characteristics ofthe Identified Requirements Non-Functional, related to: • Quality requirements (e.g. Accessibility, Extensibility) • Business objectives (e.g. Stickiness, Ecosystem gravity) Interacting with each other: • Competition • Synergy 16 Summary of the First Part
  • 17.
    17 Contributions of thisStudy 1. Requirements and Concerns in Open Software Platforms 2. Modeling and Analysis of Requirements in Open Software Platforms
  • 18.
    18 The Proposed Approach Non-FunctionalRequirements Analysis Method Chung, L., Nixon, B. A., Yu, E., & Mylopoulos, J. (2012). Non-functional requirements in software engineering (Vol. 5). Springer Science & Business Media.
  • 19.
    19 The Case UnderStudy - 1 AUTOSAR Platform An Operating System for automotive platforms Functionalities: Controlling the electronic units of a vehicle (e.g. the speed, the brakes, the windows) Opened up to a variety of 3rd party applications (Certified, uncertified) Eklund, U., & Bosch, J. (2014). Architecture for embedded open software ecosystems. Journal of Systems and Software, 92, 128-142.
  • 20.
    20 The Case UnderStudy - 2 The Specific feature under study The design of Data Provision Service • How platform communicates data with 3rd party apps • How 3rd party applications communicate data with each other Objective: Revisit the Design of Data Provision Service
  • 21.
    Domain-Specific Design Requirements 21 Step1: Identifying and Prioritizing Requirements - 1 Eklund, U., & Bosch, J. (2014). Architecture for embedded open software ecosystems. Journal of Systems and Software, 92, 128-142.
  • 22.
    Domain-Specific Design Requirements 22 Step1: Identifying and Prioritizing Requirements - 2 Performance | High Response Time Access-Time Security [Platform]|High Integrity Availability Dependability
  • 23.
    23 Step 1: Identifyingand Prioritizing Requirements - 3 Security [Platform] Consistency [Data] Accuracy [Platform Data] Integrity [Platform Data] Help Help Help Dependendability [Platform] Help Performance [Platform] Help Response- Time [Platform] Access Time [Data] Help Help !! Help Availability [TP App Data] Help !! Operational Security [Platform]
  • 24.
    24 Step 1: Identifyingand Prioritizing Requirements - 6 HelpComposability [Platform] Decoupling [TP App] Help Deployability [TP App] Help Help Development Asynchronization [TP App] Independent Behaviour [TP App] Openness [Platform] Extensibility [Platform] Help !! !! Decoupling [Platform] Help Help Independent Deployment [TP App] Help
  • 25.
    25 Step 2: Identifyingthe Design Objective and Alternative Design Options Design Objective: To provide data service to 3rd Party applications Eklund, U., & Bosch, J. (2014). Architecture for embedded open software ecosystems. Journal of Systems and Software, 92, 128-142.
  • 26.
    Alternative Design 1:Centralized Data Provision 26 Step 2: Identifying Alternative Design Options Platform 3rd Party App 3rd Party App 3rd Party App
  • 27.
    27 Step 3: Evaluatingdesign options against the design requirements Design Requirement: Response Time [Platform]: Access Time [Data] Evaluation: (-) All data operation requests should pass through a central gateway and a queue controlled by the platform. Platform 3rd Party App 3rd Party App 3rd Party App Centralized Data Provision
  • 28.
    28 Analyzing the Fulfillmentof Design Requirements in Centralized Data Provision Centralized data provision HelpComposability [Platform] Decoupling [TP App] Help Deployability [TP App] Help Help Development Asynchronization [TP App] Independent Behaviour [TP App] Security [Platform] Consistency [Data] Openness [Platform] Extensibility [Platform] Accuracy [Platform Data] Integrity [Platform Data] Help Help Help Help Help Help Help T1 !! !! Dependendability [Platform] Help Performance [Platform]Help Response-Time [Platform] Access Time [Data] Help Help Help !! Decoupling [Platform] Help Hurt Operational Security [Platform] Help Availability [TP App Data] Help Hurt Help Independent Deployment [TP App] Help Help ✔ !! Help G: Provide Data [To third-party applications] ✔ ✔ ✔ ✔ ✔ ✔✔✔ ✔ ✔ ✔ ✔✔ × × × ×
  • 29.
    Openness Requirement Composability [Platform] Priority:High Openness Requirement Deployability [Third-Party Applications] Priority: High Security Requirement Availability [Third-Party Applications] Priority: High Security Requirement Integrity [Platform Data] Priority: High Performance Requirement Response Time [Platform] Priority: High Denied Partially Denied Conflict Partially Satsificed Satsificed 29 Analysis of Centralized Data Provision Performance is sacrificed for Openness.
  • 30.
    Alternative 1: Centralized Data Provision30 Step 2: Identifying the Alternative Design Options Platform 3rd Party App 3rd Party App 3rd Party App Design Objective: To provide data service to 3rd Party applications Alternative 2: Semi-Centralized Data Provision Platform 3rd Party App 3rd Party App 3rd Party App
  • 31.
    31 Comparison of theDesign Alternatives Openness Requirement Composability [Platform] Priority: High Openness Requirement Deployability [Third-Party Applications] Priority: High Security Requirement Availability [Third-Party Applications] Priority: High Security Requirement Integrity [Platform Data] Priority: High Performance Requirement Response Time [Platform] Priority: High Denied Partially Denied Conflict Partially Satsificed Satsificed Option 1: Centralized data provision Option 2: Semi-centralized data provision
  • 32.
    32 Discussion Performance: Crucial forreal-time Operations of the platform Composability and Deployability: Crucial for accommodating 3rd party applications overtime A combination of centralized and semi-centralized data provision can be used.
  • 33.
    33 Summary Objective: To identify suitableopen platform design strategies Proposed Solution: 1. Consider openness as a class of non-functional requirements 2. Refine it in parallel with other important concerns Use a goal-oriented requirements analysis approach 3. Use it as criteria for selecting a suitable design option Analyze potential trade-offs Balance the fulfillment of the requirements
  • 34.
    34 Future Work 1. Toassess the applicability of the proposed method in real-world open software platform projects 2. To provide knowledge support for refining openness requirements 3. To enrich the analytical capabilities of the proposed method for determining effective openness design strategies 4. To compare with peer approaches, such as ATAM
  • 35.

Editor's Notes

  • #5 Invaded the smartphone and tablet market
  • #6 Many medium and large organizations are opening up their platforms to 3rd party applications.
  • #7 Difficult decisions should be taken
  • #22 Domain-Specific: Related to the nature of the platform
  • #24 Domain-Specific: Related to the nature of the platform
  • #25 Domain-Specific: Related to the nature of the platform
  • #30 Is it worth? Is it a good-enough design option?
  • #32 Is it worth? Is it a good-enough design option?
  • #33 Is it worth?