presentation ecsa
TRANSCRIPT
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