Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach
Transcript of Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach
![Page 1: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/1.jpg)
1
Mahsa H. Sadi and Eric Yu
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
![Page 2: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/2.jpg)
2
Open InnovationSoftware 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
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.
![Page 3: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/3.jpg)
3
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
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.
![Page 4: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/4.jpg)
4
Example – Mobile Platforms
![Page 5: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/5.jpg)
5
Other Examples of Open Platforms
![Page 6: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/6.jpg)
6
Problem StatementOpening 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.
![Page 7: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/7.jpg)
7
Research Objective
To help identify suitable design strategies for opening up a software platform
![Page 8: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/8.jpg)
8
Contributions of this Study
1. Requirements and Concerns in Open Software Platforms
2. Modeling and Analysis of Requirements in Open Software Platforms
![Page 9: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/9.jpg)
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
![Page 10: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/10.jpg)
10
The specific concerns and quality requirements that openness introduces on platform designs
Openness Requirements
![Page 11: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/11.jpg)
11
Openness Requirements
Business-level openness requirements
The motivations for opening up the platformNon-technical, related to the social, business, and organizational environment of the platform
System-level openness requirementsTechnical, related to the quality of software design
![Page 12: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/12.jpg)
12
Customer-Related ObjectivesStickiness of the Platform
Growing the network size of complementary applications hardens switching to a different platform
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.
![Page 13: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/13.jpg)
13
ExtensibilityThe ease of adding a new application to a platformCan be further refined into:
Composability, Deployability, Stability, Configurability
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).
![Page 14: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/14.jpg)
14
The requirements possibly violated or at risk in open platforms
General Concerns in Designing Software Platforms
![Page 15: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/15.jpg)
15
SecurityPossible 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
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
![Page 16: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/16.jpg)
16
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
Summary of the First Part
![Page 17: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/17.jpg)
17
Contributions of this Study
1. Requirements and Concerns in Open Software Platforms
2. Modeling and Analysis of Requirements in Open Software Platforms
![Page 18: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/18.jpg)
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.
![Page 19: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/19.jpg)
19
The Case Under Study - 1AUTOSAR PlatformAn 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.
![Page 20: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/20.jpg)
20
The Case Under Study - 2The 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
![Page 21: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/21.jpg)
21
Domain-Specific Design Requirements
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.
![Page 22: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/22.jpg)
22
Domain-Specific Design Requirements
Step 1: Identifying and Prioritizing Requirements - 2
Performance | High
Response Time
Access-Time
Security [Platform]|High
Integrity
Availability
Dependability
![Page 23: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/23.jpg)
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]
![Page 24: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/24.jpg)
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
![Page 25: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/25.jpg)
25
Step 2: Identifying the Design Objective and Alternative Design OptionsDesign 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.
![Page 26: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/26.jpg)
26
Alternative Design 1: Centralized Data Provision
Step 2: Identifying Alternative Design Options
Platform
3rd PartyApp
3rd PartyApp
3rd PartyApp
![Page 27: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/27.jpg)
27
Step 3: Evaluating design options against the design requirementsDesign 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 PartyApp
3rd PartyApp
3rd PartyApp
Centralized Data Provision
![Page 28: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/28.jpg)
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]
HelpPerformance
[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
✔
!!He
lp
G: Provide Data [To third-party applications]
✔✔✔
✔✔
✔✔✔
✔✔
✔
✔✔ ×
××
×
![Page 29: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/29.jpg)
29
Openness RequirementComposability [Platform]
Priority: High
Openness RequirementDeployability
[Third-Party Applications]Priority: High
Security RequirementAvailability [Third-Party Applications]
Priority: High
Security RequirementIntegrity [Platform Data]
Priority: High
Performance RequirementResponse Time
[Platform]Priority: High
DeniedPartially Denied
ConflictPartially Satsificed
Satsificed
Analysis of Centralized Data Provision
Performance is sacrificed for Openness.
![Page 30: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/30.jpg)
30
Alternative 1: Centralized Data Provision
Step 2: Identifying the Alternative Design Options
Platform
3rd PartyApp
3rd PartyApp
3rd PartyApp
Design Objective: To provide data service to 3rd Party applications
Alternative 2: Semi-Centralized Data Provision
Platform
3rd PartyApp
3rd PartyApp
3rd PartyApp
![Page 31: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/31.jpg)
31
Comparison of the Design Alternatives
Openness RequirementComposability [Platform]
Priority: High
Openness RequirementDeployability
[Third-Party Applications]Priority: High
Security RequirementAvailability [Third-Party Applications]
Priority: High
Security RequirementIntegrity [Platform Data]
Priority: High
Performance RequirementResponse Time
[Platform]Priority: High
DeniedPartially Denied
ConflictPartially Satsificed
Satsificed
Option 1: Centralized data provision
Option 2: Semi-centralized data provision
![Page 32: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/32.jpg)
32
DiscussionPerformance: 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.
![Page 33: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/33.jpg)
33
SummaryObjective: 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 optionAnalyze potential trade-offsBalance the fulfillment of the requirements
![Page 34: Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach](https://reader036.fdocuments.net/reader036/viewer/2022062523/58d0de1a1a28ab47238b6b93/html5/thumbnails/34.jpg)
34
Future Work1. 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