A Three Viewpoint Model for Software Ecosystems

Slides:



Advertisements
Similar presentations
Chapter 3 E-Strategy.
Advertisements

Public B2B Exchanges and Support Services
Technology Management Activities and Tools
2009 – E. Félix Security DSL Toward model-based security engineering: developing a security analysis DSML Véronique Normand, Edith Félix, Thales Research.
The Role of Environmental Monitoring in the Green Economy Strategy K Nathan Hill March 2010.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1998 by Carnegie Mellon.
UDDI, Discovery and Web Services Registries. Introduction To facilitate e-commerce, companies needed a way to locate one another and exchange information.
e-Framework Components and Responsibilities.
Sept-Dec w1d21 Third-Generation Information Architecture CMPT 455/826 - Week 1, Day 2 (based on R. Evernden & E. Evernden)
Collaborative Research, Technology Transfer and Networking Essential Tools for Europe’s Way towards Information Society John Tait.
Database Market By Ann Seidu, Keith McCoy, and Ty Christler.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
© Copyright Eliyahu Brutman Programming Techniques Course.
Course Instructor: Aisha Azeem
Tool support for Enterprise Architecture in System Architect Architecture Practitioners Conference, Brussels David Harrison Senior Consultant, Popkin.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1.Training and education 2.Consulting 3.Travel 4.Hardware 5.Software Which of the following is not included in a firm’s IT infrastructure investments?
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
The Software Development Life Cycle: An Overview
THEORIES OF TECHNOLOGICAL CHANGE Definitions and Concepts.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 1 DATABASE SYSTEMS (Cont’d) Instructor Ms. Arwa Binsaleh.
An Introduction to Software Architecture
SYSE 802 John D. McGregor Module 8 Session 2 Platforms, Ecosystems, and Innovations.
Mobile Topic Maps for e-Learning John McDonald & Darina Dicheva Intelligent Information Systems Group Computer Science Department Winston-Salem State University,
Configuration Management (CM)
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
KMS Products By Justin Saunders. Overview This presentation will discuss the following: –A list of KMS products selected for review –The typical components.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
CISB113 Fundamentals of Information Systems Revision.
Software Ecosystems: A Quick Introduction Slinger Jansen, Michael Cusumano (2012). Defining Software Ecosystems: A Survey of Software Platforms and Business.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
COM333 – IS3 IS and Competition. A number of techniques exists that support the analysis and assessment of Organisations’ competitive position from an.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
3.1 © 2007 by Prentice Hall Week 03 Chapter 03 Information Systems, Organizations, and Strategy Chapter 03 Information Systems, Organizations, and Strategy.
Enterprise Architecture, Enterprise Data Management, and Data Standardization Efforts at the U.S. Department of Education May 2006 Joe Rose, Chief Architect.
The Internet for Distribution Instructor: Hanniya Abid Assistant Professor COMSATS Institute of Information Technology Lecture 15 E-Marketing.
Illustrations and Answers for TDT4252 exam, June
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Celine DONDEYNAZ, Joint Research Centre- Italy A. Leone, C. Carmona, P. Mainardi, M.Giacomassi and Prof. Daoyi Chen A Web knowledge Management Platform.
TAL7011 – Lecture 4 UML for Architecture Modeling.
CLASS 2 SUPPLEMENTAL INTRODUCTORY MATERIALS CSE 7360.
Dynamic Knowledge Model for Cluster Development N. Chakpitak & A. Tamprasirt, T. Chandarasupsang, N. Harnpornchai.
Web Services Sara Yoder, Casey McLaughlin, Alex Scott, Matt Dunbar.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Marv Adams Chief Information Officer November 29, 2001.
David Smiley SOA Technology Evangelist Software AG Lead, follow or get out of the way Here Comes SOA.
Industry’s Perspective on Industry-University Intellectual Property External Research Directors Network Industrial Research Institute, Inc. April 17, 2001.
Copyright © 2002 by The McGraw-Hill Companies, Inc. Information Technology & Management 2 nd Edition, Thompson Cats-Baril Chapter 6 Organizational Use.
Strategic Marketing, 3rd edition
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Appendix B: Getting Started in Systems Analysis and Design.
Fundamentals of Information Systems Dr. Hanan Moussa.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
OUTCOMES OBJECTIVES FUNCTIONS ACTIONS TERRITORIES LOCATIONS MARKET SEGMENTS TIME LINESCHALLENGE IMPACT RESOURCESACTIVITIESCHANNELS RELATIONS PARTNERS CUSTOMERS.
HP Network and Service Provider Business Unit Sebastiano Tevarotto February 2003.
Applicatieplatform congres 12 & 13 maart. Microsoft Application Platform A Lifecycle View Sam Guckenheimer Group Product Planner Visual Studio Team System.
BIL 424 NETWORK ARCHITECTURE AND SERVICE PROVIDING.
Strategic Marketing, 3rd edition
Information Systems: Concepts and Management
Model-Driven Analysis Frameworks for Embedded Systems
Strategic Management B O S.
An Introduction to Software Architecture
Presentation transcript:

A Three Viewpoint Model for Software Ecosystems John D. McGregor and J. Yates Monteith, School of Computing, Clemson University

Contents Brief Introduction Background Ecosystem Modeling 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…?

Who am I? [J.] Yates Monteith Focused on Software Engineering 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…

What is a Software Ecosystem?

What is a Software Ecosystem? Good question. What is an ecosystem?

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].

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?

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.

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.

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!

What is a Software Ecosystem? Not quite.

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.

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, 3rd Party Devs Platform Developers

Examples of Software Ecosystems

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

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

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

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

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

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…

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.

So what?

So what? Eclipse Platform Ecosystem

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.

Meta-Modeling Everyone is familiar with Models.

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

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

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

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

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

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

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

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

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.

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

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.

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…

Models, Views and Viewpoints…

Models, Views and Viewpoints… 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

The Meta-Model

Three Viewpoints Business Viewpoint Software Viewpoint Innovation Viewpoint

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.

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.

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.

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."

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

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.

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

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

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

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

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.

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

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

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

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

Eclipse Platform View: Akrogen cluster

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?

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

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. 187-190. [3] J. Bosch. From Software Product Lines to Software ecosystems. In Proceedings of the 13th International Software Product Line Conference (SPLC ’09), pp 111-119. [4] Messerschmidt, David and Clemens Szyperski Software Ecosystem – Understanding an Indispensable Technology and Industry. MIT Press, 2003. ISBN 0-262-13432-2 [5] International Organization for Standardization / International Electrotechnology Commission. ISO/IEC 42010 Systems and Software Engineering – Architecture Description. June, 2012. [6] Marco Iansiti and Roy Levien. Strategy as Ecology. Harvard Business Review, March 2004. [7] Porter, M.E. The Five Competitive Forces That Shape Strategy. In Harvard business Review, January 2008. [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): 155-195. [9] Ron Adner. Match Your Innovation Strategy to Your Innovation Ecosystem. Harvard Business Review, 2006. [10] Businessweek. Fifty Most Innovative Companies. http://bwnt.businessweek.com/interactive_reports/innovative_50_2009/ (2009). [11] Chastek, Gary and McGregor, John D. It takes an Ecosystem. SSTC 2012, April 2012, Systems and Software Technology Conference.

Case Study: Leducq Trans-Atlantic Single Ventricle Modeling (SVM) Project 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. Nota Bene: I worked on this project. See http://modelingventricle.clemson.edu

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.

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

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.

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.

The Meta-Model

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.

SVM Analyses: Business View

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.

SVM Analyses: Software View

Analyses Business View Software 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

Extra Stuff: Tomcat

Extra Stuff: Tomcat