SlideShare a Scribd company logo
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

More Related Content

PPTX
Accommodating Openness Requirements in Software Platforms: A goal-Oriented Ap...
PDF
Icsme 2021-keynote-creating-usable-and-useful-software-tools
PDF
A review of software quality models
PDF
Companies gone open: adoption and application of Open-Source Business Models
PDF
ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...
PDF
F0262036041
PPTX
Understanding Android Fragmentation with Topic Analysis of Vendor-Specific Bugs
PDF
A Ranking Model for Software Requirements Prioritization during Requirements ...
Accommodating Openness Requirements in Software Platforms: A goal-Oriented Ap...
Icsme 2021-keynote-creating-usable-and-useful-software-tools
A review of software quality models
Companies gone open: adoption and application of Open-Source Business Models
ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...
F0262036041
Understanding Android Fragmentation with Topic Analysis of Vendor-Specific Bugs
A Ranking Model for Software Requirements Prioritization during Requirements ...

What's hot (18)

PDF
7 5-94-101
PDF
MIDAS: A Design Quality Assessment Method for Industrial Software
PDF
IRJET- Identifying the Conflicts in the Software Requirement Engineering:...
PPTX
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
PDF
A noble methodology for users’ work
PDF
Incorporation of GlobalIssue factors in SDLC by using Inverse Requirement
PDF
A study of various viewpoints and aspects software quality perspective
DOCX
MK_MSc_Degree_Project_Report ver 5_updated
PDF
International Journal of Computational Engineering Research(IJCER)
PDF
Thesis Part I EMGT 698
PDF
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
PDF
Transitioning IT Projects to Operations Effectively in Public Sector : A Case...
PDF
IRJET- Approaching Highlights and Security issues in Software Engineering...
PDF
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...
PDF
DEVELOPMENT OF A SOFTWARE MAINTENANCE COST ESTIMATION MODEL: 4 TH GL PERSPECTIVE
PDF
Multi Agent Based Software Engineering Models : A Review
PDF
Collaborative aspects of Decision Making and its impact on Sustainability
PDF
ANALYSIS OF SOFTWARE QUALITY USING SOFTWARE METRICS
7 5-94-101
MIDAS: A Design Quality Assessment Method for Industrial Software
IRJET- Identifying the Conflicts in the Software Requirement Engineering:...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
A noble methodology for users’ work
Incorporation of GlobalIssue factors in SDLC by using Inverse Requirement
A study of various viewpoints and aspects software quality perspective
MK_MSc_Degree_Project_Report ver 5_updated
International Journal of Computational Engineering Research(IJCER)
Thesis Part I EMGT 698
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
Transitioning IT Projects to Operations Effectively in Public Sector : A Case...
IRJET- Approaching Highlights and Security issues in Software Engineering...
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...
DEVELOPMENT OF A SOFTWARE MAINTENANCE COST ESTIMATION MODEL: 4 TH GL PERSPECTIVE
Multi Agent Based Software Engineering Models : A Review
Collaborative aspects of Decision Making and its impact on Sustainability
ANALYSIS OF SOFTWARE QUALITY USING SOFTWARE METRICS
Ad

Viewers also liked (20)

PPTX
Designing Software Ecosystems - How to Develop Sustainable Collaborations? - ...
PPTX
Margarita salas (manuel)
PPT
Presentacionproyectobic 170220213009
PDF
Bove Project -Urban Oasis - March 2017-compressed
PPT
Chapter 17 immune system and diseases
PPTX
Lmcp1532 pembangunan bandar mampan a156713
PPTX
Uno Coaching Group - Programa life Coaching One - Perú
PPTX
Ca de-ovario-chava
PPTX
SBO ICPHSO Presentation - ASTM F963-16
PPT
Proyecto micelio
PPTX
Lecture 1-money-banking-sb
PDF
NOCA Marina Cronin
PPT
2017. Лекция №6. Медицинская паразитология
PDF
Free learning at offene schule waldau
PPTX
Educational Technology 2 Presentation for Lesson 7
PDF
El concepto cristiano de la disciplina
PPT
Estructuras Urbanas Antiguas
PPSX
Worst hollywood movie
PPTX
PDF
HIQA Barbara Foley
Designing Software Ecosystems - How to Develop Sustainable Collaborations? - ...
Margarita salas (manuel)
Presentacionproyectobic 170220213009
Bove Project -Urban Oasis - March 2017-compressed
Chapter 17 immune system and diseases
Lmcp1532 pembangunan bandar mampan a156713
Uno Coaching Group - Programa life Coaching One - Perú
Ca de-ovario-chava
SBO ICPHSO Presentation - ASTM F963-16
Proyecto micelio
Lecture 1-money-banking-sb
NOCA Marina Cronin
2017. Лекция №6. Медицинская паразитология
Free learning at offene schule waldau
Educational Technology 2 Presentation for Lesson 7
El concepto cristiano de la disciplina
Estructuras Urbanas Antiguas
Worst hollywood movie
HIQA Barbara Foley
Ad

Similar to Modeling and Analyzing Openness Trade-Offs in Software Platforms: A Goal-Oriented Approach (20)

PPSX
Presentation ECSA
PPTX
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
PDF
Next Generation Automation Final
PPTX
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
PDF
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
PPTX
Using Open Source and Open Standards in the Platform game
PPTX
Tips and Tricks for a Great Dev Platform
PPTX
Paving the path towards platform engineering using a comprehensive reference...
PPTX
Azure Application Architecture Guide
PDF
apidays Helsinki & North 2023 - API standards in Smart Cities, Luca Ferrari, ...
PDF
PLM-17-Role of openness in industrial internet platform providers’ strategy
PPTX
App Arch Guide (Dons)
PDF
Platform Ontologies For The Modeldriven Architecture 1st Edition Dennis Wagelaar
PDF
The Open Group Amsterdam Conference Panel Delves into How to Best Gain Busine...
PPT
Opensourceshift
PDF
EvalOSS : A Framework to Evaluate Open Source Software
PPTX
Agile architecture upload
PDF
Platform Ontologies for the Model Driven Architecture 1st Edition Dennis Wage...
PDF
FinJS NYC: Open Source + Open Standards - The Dynamic Duo
PPT
ArchitectureStandardsforeGovtJS5Nov06 (1).ppt
Presentation ECSA
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
Next Generation Automation Final
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
Using Open Source and Open Standards in the Platform game
Tips and Tricks for a Great Dev Platform
Paving the path towards platform engineering using a comprehensive reference...
Azure Application Architecture Guide
apidays Helsinki & North 2023 - API standards in Smart Cities, Luca Ferrari, ...
PLM-17-Role of openness in industrial internet platform providers’ strategy
App Arch Guide (Dons)
Platform Ontologies For The Modeldriven Architecture 1st Edition Dennis Wagelaar
The Open Group Amsterdam Conference Panel Delves into How to Best Gain Busine...
Opensourceshift
EvalOSS : A Framework to Evaluate Open Source Software
Agile architecture upload
Platform Ontologies for the Model Driven Architecture 1st Edition Dennis Wage...
FinJS NYC: Open Source + Open Standards - The Dynamic Duo
ArchitectureStandardsforeGovtJS5Nov06 (1).ppt

Recently uploaded (20)

PDF
ELS_Q1_Module-11_Formation-of-Rock-Layers_v2.pdf
PDF
IFIT3 RNA-binding activity primores influenza A viruz infection and translati...
PPTX
Derivatives of integument scales, beaks, horns,.pptx
PDF
HPLC-PPT.docx high performance liquid chromatography
PPTX
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
PPTX
The KM-GBF monitoring framework – status & key messages.pptx
PPT
The World of Physical Science, • Labs: Safety Simulation, Measurement Practice
PDF
CAPERS-LRD-z9:AGas-enshroudedLittleRedDotHostingaBroad-lineActive GalacticNuc...
PPTX
ognitive-behavioral therapy, mindfulness-based approaches, coping skills trai...
PPTX
TOTAL hIP ARTHROPLASTY Presentation.pptx
PDF
An interstellar mission to test astrophysical black holes
PPTX
Comparative Structure of Integument in Vertebrates.pptx
PDF
SEHH2274 Organic Chemistry Notes 1 Structure and Bonding.pdf
PPTX
G5Q1W8 PPT SCIENCE.pptx 2025-2026 GRADE 5
PPTX
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
PDF
. Radiology Case Scenariosssssssssssssss
PDF
Formation of Supersonic Turbulence in the Primordial Star-forming Cloud
PPTX
BIOMOLECULES PPT........................
PPTX
2Systematics of Living Organisms t-.pptx
PDF
Placing the Near-Earth Object Impact Probability in Context
ELS_Q1_Module-11_Formation-of-Rock-Layers_v2.pdf
IFIT3 RNA-binding activity primores influenza A viruz infection and translati...
Derivatives of integument scales, beaks, horns,.pptx
HPLC-PPT.docx high performance liquid chromatography
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
The KM-GBF monitoring framework – status & key messages.pptx
The World of Physical Science, • Labs: Safety Simulation, Measurement Practice
CAPERS-LRD-z9:AGas-enshroudedLittleRedDotHostingaBroad-lineActive GalacticNuc...
ognitive-behavioral therapy, mindfulness-based approaches, coping skills trai...
TOTAL hIP ARTHROPLASTY Presentation.pptx
An interstellar mission to test astrophysical black holes
Comparative Structure of Integument in Vertebrates.pptx
SEHH2274 Organic Chemistry Notes 1 Structure and Bonding.pdf
G5Q1W8 PPT SCIENCE.pptx 2025-2026 GRADE 5
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
. Radiology Case Scenariosssssssssssssss
Formation of Supersonic Turbulence in the Primordial Star-forming Cloud
BIOMOLECULES PPT........................
2Systematics of Living Organisms t-.pptx
Placing the Near-Earth Object Impact Probability in Context

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

  • 1. 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
  • 2. 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.
  • 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 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.
  • 5. 5 Other Examples of Open Platforms
  • 6. 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. 7 Research Objective To help identify suitable design strategies for opening up a software platform
  • 8. 8 Contributions of this Study 1. Requirements and Concerns in Open Software Platforms 2. Modeling and Analysis of Requirements in Open Software Platforms
  • 9. 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
  • 10. The specific concerns and quality requirements that openness introduces on platform designs 10 Openness Requirements
  • 11. 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
  • 12. 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.
  • 13. 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).
  • 14. The requirements possibly violated or at risk in open platforms 14 General Concerns in Designing Software Platforms
  • 15. 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
  • 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 16 Summary of the First Part
  • 17. 17 Contributions of this Study 1. Requirements and Concerns in Open Software Platforms 2. Modeling and Analysis of Requirements in Open Software Platforms
  • 18. 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. 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. 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
  • 21. 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.
  • 22. 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. 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. 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. 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.
  • 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: 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. 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] ✔ ✔ ✔ ✔ ✔ ✔✔✔ ✔ ✔ ✔ ✔✔ × × × ×
  • 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 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. 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. 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. 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. 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

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?