Presentation ECSA

Preview:

Citation preview

Mohsen Anvaari Slinger Jansen

Evaluating Architectural Openness in Mobile Software Platforms

2nd Workshop on Software Ecoystems

Copenhagen – August 23th, 2010

2

Agenda

Subject and Problem Area Some Definitions Research Questions Research Scope Related Research Methodology Results Conclusions Questions

3

Subject and Problem Area

Openness in Software Systems and Projects

Mobile Software Platforms

Openness Strategy, Platform Architecture, Platform Accessibility

Evaluating Architectural Openness in Mobile Software Platforms

4

Some Definitions

Openness: Degree of accessibility to view, use, and modify a software code

Openness strategy: Openness degree of a platform settled by the platform supplier

Platform architecture: Structure of the software platform compromises its components and the relationship between them (Bass et. al, 2003)

Platform accessibility: Methods and points that developers can use to extend or modify a platform

5

Research Questions

RQ: How does the software architecture

expose the openness strategy of mobile

software platforms?

SQ1: Can a model be developed that describes

the architectural openness of mobile platforms?

SQ2: How would the licensing aspects of the

platforms relate to such a model?

SQ3: How open are the five main mobile

platforms?

6

Research Scope

Related Researches

Few attempts have been made to demonstrate the comparison of smartphone OSs (Lin and Ye, 2009)

Lin and Ye, 2009: comparison of four main mobile platforms and their openness, based on non-technical aspects

Cho and Joen, 2007: Openness and architecture of three platforms, a connection is not included

Yamakami, 2009: Comparison of four main mobile platforms, based on non-technical aspects

7

8

Methodology

Literature review: Finding the relationship

between openness strategies and the software architecture of mobile platforms

Qualitative interviews with mobile application developers: Verify the platform

accessibility in the five main platforms that allows application developers to extend the platforms

9

Results

Architectural Openness Model

Architectural Openness Factors

Openness in Five Main Mobile Platforms

10

Results: Architectural Openness Model

Applications

Middleware

Kernel

Extended ApplicationsNative Applications

App 1 App 2 App 3 App N...

(Services, Libraries, Frameworks …)

(Device Drivers, Memory Management, Power Management, Security …)

App 1 App 2 App 3 App M...

Platform Architecture

Symbian Architecture Android Architecture

+Platform Accessibility

Integrate

Extend

Modify

Integrate

Extend

Modify

Integrate

Extend

Modify

Integrate

Extend

Modify

Architecture (Cho and Jeon, 2007) iPhone Architecture

Results: Architectural Openness Factors

Layer FactorPossibility statuses

If possibleLicensingstatuses

Extended applications

Integrate extended applications

Possible/ Possible for

some components/ Not possible

Permission is not needed/ In some

situation permission is

needed/ Permission is always needed

Extend extended applications

Modify extended applications

Native applications

Integrate native applications

Extend native applications

Modify extended applications

Middleware

Integrate middleware

Extend middleware

Modify middleware

Kernel

Integrate kernel

Extend kernel

Modify kernel

Comparison

Factor Android Symbian Windows Mobile Blackberry iPhone

P L P L P L P L P LIntegrate extended

applications

Extend extended

applications

Modify extended

applications

Integrate native

applications

Extend native

applications

Modify native

applications

Integrate

middleware

Extend middleware

Modify middleware

Integrate kernel

Extend kernel

Modify kernel

P - Possibility: Possible (G), Possible for Some Components (Y), Not Possible (Red)

L - Licensing: Permission is Not Needed(G), Sometimes Permission is Needed(Yellow),

Permission is Always Needed(R)

13

Conclusions

Proposed architectural openness model shows how the openness strategies of mobile platform suppliers affect the software architecture of the platforms

Proposed architectural openness factors shows how open the mobile software platforms are

Based on the model and the factors, the openness degree of five main mobile platforms is indentified

Qualitative interviews validate the previous conclusion

Interviews show application developers don’t care about architectural openness of their favorite platforms

Interview with Some Device Manufacturers, and Mobile Suppliers is recommended

14

Questions

Recommended