Presentation is loading. Please wait.

Presentation is loading. Please wait.

A THREE VIEWPOINT MODEL FOR SOFTWARE ECOSYSTEMS John D. McGregor and J. Yates Monteith, School of Computing, Clemson University.

Similar presentations


Presentation on theme: "A THREE VIEWPOINT MODEL FOR SOFTWARE ECOSYSTEMS John D. McGregor and J. Yates Monteith, School of Computing, Clemson University."— Presentation transcript:

1 A THREE VIEWPOINT MODEL FOR SOFTWARE ECOSYSTEMS John D. McGregor and J. Yates Monteith, School of Computing, Clemson University

2 Contents  Brief Introduction  Background  What is a Software Ecosystem?  Meta-Modeling  Viewpoints and Views  Ecosystem Modeling  Meta-model  Derived Three Viewpoint Model  Conclusions and Future Work  Case Study if we have time…?

3 Who am I?  [J.] Yates Monteith  Manhattan College 2D and 3D Polymer Simulation Research.  Clemson University Computer Science Education and Teaching Process. Real Options Value in Software Product Lines. Technical Debt Aggregation in Software Ecosystems.  Focused on Software Engineering  Software Product Lines, Software Ecosystems  Software Economics  Software Architecture, V&V and more…  Also, that weird looking guy that spends too much time in 110A…

4 What is a Software Ecosystem?

5  Good question.  What is an ecosystem?

6 What is a Software Ecosystem?  Good question.  What is an ecosystem?  “A system formed by the interaction of a community of organisms with their environment” [1].

7 What is a Software Ecosystem?  Good question.  What is an ecosystem?  “A system formed by the interaction of a community of organisms with their environment” [1].  Okay, but how do we relate the idea of ecosystems to software ecosystems?

8 What is a Software Ecosystem?  Good question.  Okay, but how do we relate the idea of ecosystems to software ecosystems?  Stems from the idea of a business ecosystem.

9 What is a Software Ecosystem?  Good question.  Okay, but how do we relate the idea of ecosystems to software ecosystems?  Stems from the idea of a business ecosystem.  “Loose network[s] of suppliers, distributers, outsourcing firms, makers of related products or services, technology providers and a host of other organizations” [6]. See [6] Marco Iansiti and Roy Levien. Strategy as Ecology.

10 What is a Software Ecosystem?  Good question.  Okay, but how do we relate the idea of ecosystems to software ecosystems?  Environment  Market Segment  Organisms  Stakeholders and Players within the Market Segment.  A Software Ecosystem includes a business ecosystem that centers around a software market!

11 What is a Software Ecosystem?  Not quite.

12 What is a Software Ecosystem?  Not quite.  “A software ecosystem consists of the set of software solutions that enable, support and automate the activities and transactions by the actors in the associated social or business ecosystem and the organizations that provide these solutions” [2]. See [2] S. Jansen et al. A Sense of Community: A Research Agenda for Software Ecosystems.

13 What is a Software Ecosystem?  “A software ecosystem consists of the set of software solutions that enable, support and automate the activities and transactions by the actors in the associated social or business ecosystem and the organizations that provide these solutions.”  Software Solutions  Activities and Transactions  Actors  Organizations  A Software Platform  Development, Extension, Use  Users, VARs, 3 rd Party Devs  Platform Developers

14 Examples of Software Ecosystems

15 Illustrative Example: Windows  Microsoft Windows exists in the operating system market.

16 Illustrative Example: Windows  Some people use Windows because they like Windows, or because Windows is a platform for a software solution they utilize. Windows User AutoDesk User Uses OSX User Linux User

17 Illustrative Example: Windows  MS would like to increase their market share. They do this by facilitating application development in third party developers. Windows User AutoDesk User 3 rd Party Dev Uses Releases API Uses OSX User Linux User

18 Illustrative Example: Windows  Application Developers target the Window’s platform for application development because of support they receive in development. Windows User AutoDesk User 3 rd Party Dev Uses Releases API Releases App Uses OSX User Linux User

19 Illustrative Example: Windows  Development of attractive applications in Windows increases Microsoft’s market share in the OS market segment. Windows User AutoDesk User 3 rd Party Dev Uses Releases API Releases App Uses OSX User Linux User

20 Illustrative Example: Windows  This process is facilitated by activities.  Release of Libraries and Runtimes.NET, Windows.h, MSVC Runtimes  Sponsoring of support methods MSDN, MSDN-AA, Dreamspark, TechNet  Implementation of Feature Requests  Conferences and Workshops  And more…

21 So what?  Ecosystems can be on a large scale and very complex.  Ecosystems with more than 10K entities and 10K+ relations [11].  Complexity of Software + Complexity of Business Relationships.  Differing perspectives on the ecosystem.

22 So what?

23 Eclipse Platform Ecosystem

24 So what?  Ecosystems can be on a large scale and very complex.  So we need a model and modeling technique that allows us to manage the size of an ecosystem while illuminating the relevant details.  We accomplish that through creation of a meta- model.

25 Meta-Modeling  Everyone is familiar with Models.

26 Modeling  Everyone is familiar with Models.  [Software Engineering] Models are abstractions that communicate information while eliminating unnecessary details. Among other things.

27 Meta-Modeling  Everyone is familiar with Models.  And we have lots of them.

28 Meta-Modeling  Everyone is familiar with Models.  And we have lots of them.

29 Meta-Modeling  Everyone is familiar with Models.  And we have lots of them.

30 Meta-Modeling  Everyone is familiar with Models.  And we have lots of them.

31 Meta-Modeling  Everyone is familiar with Models.  And we have lots of them.

32 Meta-Modeling  But what do we use to define a model?

33 Meta-Modeling  But what do we use to define a model?  Answer: A meta-model.

34 Meta-Modeling  Models describe a set of entities and the relationships between them.  Meta-Models describe the types of entities that can exist within a model and the relationships that can exist between them.

35 Meta-Modeling  Within software engineering, numerous meta-models exist.  Object Management Group’s Software Process Engineering Meta-model  ISO/IEC Meta-model for Development Methodologies  Object Management Group’s Meta-Object Facility for Defining Models and Meta-Models.

36 Models, Views and Viewpoints…  So models are abstractions that help us visualize the most essential parts of a problem context.  But not every model is suitable for every stakeholder.

37 Models, Views and Viewpoints…  So models are abstractions that help us visualize the most essential parts of a problem context.  But not every model is suitable for every stakeholder.  And different stakeholders might have different perspectives on the same model…

38 Models, Views and Viewpoints…

39  So, given multiple stakeholder perspectives, we define multiple viewpoints for a given model.  Viewpoints are designed to target groups of stakeholders with differing concerns.  And from a defined viewpoint, a view is instantiated that represents the concrete notion of that viewpoint.  We can also think of it programmatically:  Language => Type => Instantiation of type  Model => Viewpoint => View See [5] ISO/IEC 42010

40 The Meta-Model

41 Three Viewpoints  Business Viewpoint  Software Viewpoint  Innovation Viewpoint

42 Business Viewpoint  The business viewpoint encapsulates the organizations and their relationships that are involved within the software ecosystem into a single view.  Suppliers, Competitors, Complimenters, Customers, Users.  Standards Organizations, Governance Boards.

43 Business Viewpoint  Porter’s Five Forces for Strategy Development  Five competitive forces that guide business.  Assists in identification of organizations that engage in Porter’s roles. See [7] Porter, M.E. The Five Competitive Forces That Shape Strategy.

44 Business Viewpoint  Porter’s Five Forces for Strategy Development  Five competitive forces that guide business.  Assists in identification of organizations that engage in Porter’s roles.  Strategic Managers  Technical Managers  Corporate Officers See [7] Porter, M.E. The Five Competitive Forces That Shape Strategy.

45 Business Viewpoint  Transaction/Transfer Analysis  Used to develop models of the supply chains and value chains attributed business relationships.  Transactions represent a cost-associated exchange of assets between two organizations.  Transfers represent a cost-free exchange of assets between two organizations. See [8] Baldwin, Carliss Y. "Where Do Transactions Come From? Modularity, Transactions, and the Boundaries of Firms."

46 Software Viewpoint  The Software Viewpoint models the slice of the ecosystem that is concerned with technical assets.  Modeled by a “shared uses” and “exclusive uses” relationship between software assets.  The relationships form a supply chain of components and libraries that are utilized by a particular software asset.  Targeted Stakeholders:  Developers  Testers  Architects  Test Managers  Project Managers

47 Innovation Viewpoint  Four types of innovations encompassed by this view [10]:  Product Innovations  Process Innovations  Experience Innovations  Business Model Innovations  Modeled by entities which are the result of innovation and relationships between software assets and organizations that drive innovation.  Targeted Stakeholders:  Strategic Managers, Corporate Officers See [9] Ron Adner. Match Your Innovation Strategy to Your Innovation Ecosystem.

48 So what’s the point?  Software ecosystems can get very big.  Known from recent experience with ecosystems with more than 10,000 organizations. Eclipse Platform Ecosystem

49 So what’s the point?  Software ecosystems can get very big.  Known from recent experience with ecosystems with more than 10,000 organizations.  By creating a meta-model, we have a more formalized basis for the creation of models to represent ecosystems. Eclipse Platform Ecosystem

50 So what’s the point?  Software ecosystems can get very big.  Known from recent experience with ecosystems with more than 10,000 organizations.  By creating a meta-model, we have a more formalized basis for the creation of models to represent ecosystems.  By defining viewpoints and instantiating views, we are able to create some more manageable models. Eclipse Platform Ecosystem

51 So what’s the point?  Software ecosystems can get very big.  Known from recent experience with ecosystems with more than 10,000 organizations.  By creating a meta-model, we have a more formalized basis for the creation of models to represent ecosystems.  By defining viewpoints and instantiating views, we are able to create some more manageable models.  Manageable models allow us to isolate the interesting parts of the ecosystems

52 So what’s the point?  Software ecosystems can get very big.  Known from recent experience with ecosystems with more than 10,000 organizations.  By creating a meta-model, we have a more formalized basis for the creation of models to represent ecosystems.  By defining viewpoints and instantiating views, we are able to create some more manageable models.  Manageable models allow us to isolate the interesting parts of the ecosystems Notably the interactions with other organizations and the software supply chains.

53 Software View: Eclipse Ecosystem  Source  Package dependency graph  2.4k nodes, ~20k edges Eclipse Platform Ecosystem

54 Eclipse Ecosystem View: W3C / XML cluster  70 nodes, ~100 edges.

55 Eclipse Platform View: IBM cluster  200 Nodes, ~200 edges

56 Eclipse Platform View: Ant cluster  ~70 Nodes, 100 edges

57 Eclipse Platform View: Akrogen cluster

58 Conclusions & Future Work  Created a meta-model for software ecosystems that allows for multiple definition of multiple viewpoints.  Defined three viewpoints that encompass software ecosystems holistically, based on both experience and literature.  What’s next?

59 Conclusions & Future Work  Created a meta-model for software ecosystems that allows for multiple definition of multiple viewpoints.  Defined three viewpoints that encompass software ecosystems holistically, based on both experience and literature.  What’s next?  Model ecosystems  Perform analyses  Generalize analyses

60 References [1] Dictionary.com [2] S. Jansen, A. Finklestein, S. Brinkkemper. A Sense of Community: A Research Agenda for Software Ecosystems. In Proceedings of International Conference on Software Engineering, 2009, pp [3] J. Bosch. From Software Product Lines to Software ecosystems. In Proceedings of the 13 th International Software Product Line Conference (SPLC ’09), pp [4] Messerschmidt, David and Clemens Szyperski Software Ecosystem – Understanding an Indispensable Technology and Industry. MIT Press, ISBN [5] International Organization for Standardization / International Electrotechnology Commission. ISO/IEC Systems and Software Engineering – Architecture Description. June, [6] Marco Iansiti and Roy Levien. Strategy as Ecology. Harvard Business Review, March [7] Porter, M.E. The Five Competitive Forces That Shape Strategy. In Harvard business Review, January [8] Baldwin, Carliss Y. "Where Do Transactions Come From? Modularity, Transactions, and the Boundaries of Firms." Industrial and Corporate Change 17, no. 1 (February 2008): [9] Ron Adner. Match Your Innovation Strategy to Your Innovation Ecosystem. Harvard Business Review, [10] Businessweek. Fifty Most Innovative Companies. (2009). [11] Chastek, Gary and McGregor, John D. It takes an Ecosystem. SSTC 2012, April 2012, Systems and Software Technology Conference.

61 Case Study: Leducq Trans-Atlantic Single Ventricle Modeling (SVM) Project Nota Bene: I worked on this project. See  Five year multi-disciplinary globally-distributed medical research grant.  Focuses on collecting data, theoretically modeling and experimentally verifying a set of procedures concerned with correcting Hypoplastic Left Heart Syndrome.  Incorporates multiple organizations, multiple domains and multiple software products.

62 Leducq SVM Project  Three medical institutions that collect data and upload it to a repository:  MUSC, Great Orman Street Children’s Hospital, University of Michigan.

63 Leducq SVM Project  Three medical institutions that collect data and upload it to a repository:  Three bio-modeling institutions that create theoretical models from data:  UCSD, Politecnico Milano, INRIA

64 Leducq SVM Project  Three medical institutions that collect data and upload it to a repository:  Three bio-modeling institutions that create theoretical models from data:  Clemson University mechanical engineers create apparati that experimentally verify the theoretical models.

65 Leducq SVM Project  Three medical institutions that collect data and upload it to a repository:  Three bio-modeling institutions that create theoretical models from data:  Clemson University mechanical engineers create apparati that experimentally verify the theoretical models.  Clemson University computer scientists that manage data repository, webpage, database and perform application development.

66 The Meta-Model

67 SVM Analyses: Business View  Suppliers: SimTK.org, Parasolid (Libraries) Drupal  Buyers Research communities. Commercialization possibilities.  Substitutes Substitutes exist, but not as full featured as SimVascular. Open-Source orgs are working to produce FOSS versions of commercial libraries.  Competitors Other research groups competing for grant dollars.  Potential Entrants None identifiable at this time.

68 SVM Analyses: Business View

69 SVM Analyses: Software View  Two Clusters  Webpage Portal and Data Repository Utilizes Drupal with MySQL Matlab and for model parameter generation.  SimVascular Cluster SimTK.org SimVascular product Three Commercial Libraries: Parasolid, Meshsim, openVascular. One OSS Library: openVascular Utilizes Intel C++/Fortran95 Compilers.

70 SVM Analyses: Software View

71 Analyses  Business View  Some organizations are not nearly as connected as others. UCSD and INRIA form the bridge between much of the software and the rest of the ecosystem organizations.  Software View  Two single points of failure exist. 1) Drupal for the Web Portal and Data Repository 2) Commercial Libraries for SimVascular

72 Extra Stuff: Tomcat

73


Download ppt "A THREE VIEWPOINT MODEL FOR SOFTWARE ECOSYSTEMS John D. McGregor and J. Yates Monteith, School of Computing, Clemson University."

Similar presentations


Ads by Google