The role of architectural styles in successful software ecosystems

  • Authors:
  • Richard N. Taylor

  • Affiliations:
  • University of California, Irvine, CA

  • Venue:
  • Proceedings of the 17th International Software Product Line Conference
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software ecosystems are complex systems composed of multiple independent elements interacting with the system as a whole and with each other. "Success" for an ecosystem may be judged primarily in economic terms, but may alternatively be assessed with regard to other qualities, such as reduced time-to-market, widespread use, or adaptability. Example successful ecosystems include iOS apps, Photoshop Lightroom plug-ins, RESTful web services, and numerous e-commerce systems. This talk will examine the critical role that architectural styles play in making and sustaining successful ecosystems. Architectural styles are sets of design decisions applicable to a particular context, constraining development within that context, and yielding beneficial qualities. Styles carry lessons learned through experience, aid communication, provide vocabulary, and speed design. Most importantly, they can be key elements in maintaining conceptual integrity. After examining the role of styles in several ecosystems, the talk will focus on the particular problems of ecosystems in which some participants may be malicious, or where high degrees of customization or adaptability are required.