430 likes | 529 Views
Building Software Ecosystems from a Reuse Perspective. Cláudia Werner System Engineering and Computer Science Department Federal University of Rio de Janeiro – Brazil. International Co-operation. Teaching. Stricto Sensu Graduate Level. Universities Companies. COPPE’s Objectives.
E N D
Building Software Ecosystems from a Reuse Perspective Cláudia Werner System Engineering and Computer Science Department Federal University of Rio de Janeiro – Brazil
International Co-operation Teaching Stricto Sensu Graduate Level • Universities • Companies COPPE’s Objectives Lato Sensu Graduate Level Extension Courses Undergraduate Level Projects Technological Evaluations Research Solutions to Management Problems Basic Process and Product Technology Development Management Training Applied Spin-Off Companies
Metallurgical and Materials Engineering Ocean Engineering Energy Planning Operations Research / Production Engineering Chemical Engineering Systems and Computer Engineering Transport Engineering 12 Graduate Programmes Biomedical Engineering Civil Engineering Electrical Engineering Departments Mechanical Engineering Nuclear Engineering
342 Faculty 100% PhD/DSc 100% Full Time Personnel 330 Technical and Administrative Staff 2.479 Students 12% Support 1.509 MSc 61% High School Graduates 970 DSc 27% University Graduates
Systems and Computer Engineering Department was created in 1970 • One of the best CS Graduate program in Brazil • Level 7 (CAPES) • 5 out of 12 best CS researchers in Brazil (CNPq Fellowship) • 36 Professors, 400 students, 1000 graduate alumni
Outline • Introduction • Brechó Repository • Brechó-VCM • Odyssey/Share • From SPL to SECOs • Conclusion • Next Steps • References
Introduction • “Software Ecosystems (SECOs) involve various stakeholders interacting with a shared market for software and services, exchanging information, resources and artifacts within a common technological platform.” • Software Reuse Approaches • Component-Based Development (CBD) • Service-Based Development (SBD) • Software Product Line (SPL) • Software Reuse Repository 07/09/2014 Cláudia Werner - IWSECO'09 11
Introduction Software Engineering Challenges Incorporation of economic aspects during the software development Uncertainty in decision making Existent technological resources Experience and industry Strategic area Creation of a earned value Cláudia Werner - IWSECO'09 12
Introduction In the CBD context Lack of available components and distribution channels Business models, tool support, and intellectual property In Brazil, a study for achieving a mature market A new strategy: Value-Based Software Engineering (VBSE) To consider all facets of value for components and how they can change and evolve amongst the success-critical perspectives of stakeholders regarding value in a value chain Cláudia Werner - IWSECO'09 13
Brechó Repository • Basic functionalities • Documentation, storage, publications, search and retrieval of software components • Advanced functionalities for both commercial and non-commercial purposes • Contract management, component pricing and evaluation, mechanisms for marketing and negotiation • Component usage: • Physical and as a service 07/09/2014 Cláudia Werner - IWSECO'09 14
Brechó-VCM costs needs flexibility requirements Definition of VALUE time benefits risks opportunities RESEARCH GOAL To develop a value-based approach to understand market movements (in distribution channels), through financial and visualization mechanisms to support a marketplace based on information extracted from historical data and with focus on stakeholders’ decisions Cláudia Werner - IWSECO'09 15
Brechó-VCM ... Some considerations about the CBD market Component value can be limited Components can be replicated infinitely and easily Stakeholders can play different roles Markets can be collaborative A centralizing entity (repository) can charge for trades Initially, the ratio between business amount and sold components is low Component financial flow will probably not be high Reputation system is important in a heterogeneous market Cláudia Werner - IWSECO'09 16
Brechó-VCM Value chain for CBD Cláudia Werner - IWSECO'09 17
Brechó-VCM Reusable assets Reusable assets producers consumers Analyzing and maintaining the market through the library Managing the reusable assets and organizing the library Business managers Library managers Artifacts acquisition, supply verification, maintenancerecommendations, evaluation, negotiation… Artifacts pricing, market analysis, components maintenance, demand verification, evaluation, negotiation… Services and Components Distribution Channel Identify outliers artifacts, extract information, provide definition of value, maintain demand and supply dynamics...
Brechó-VCM • Underlying mechanisms 07/09/2014 Cláudia Werner - IWSECO'09 19
Brechó 20
Brechó • Documentation • Dynamic and configurable templates • Categories • Construction like a mosaic 07/09/2014 Cláudia Werner - IWSECO'09 21
Brechó 07/09/2014 Cláudia Werner - IWSECO'09 22
Reuse Map Holds information about contracts between producers and consumers. 24
Services 27
Odyssey/Share • Main objectives: • Provide a domain-based software reuse environment • Support SPL and CBD • Support collaborative development activities of small groups • Focus on coordination, cooperation and sharing of documents 07/09/2014 Cláudia Werner - IWSECO'09 28
Application Engineer Domain Engineer Domain Expert Domain Models Specification and Evolution Tools Domain Agent Tools Naviagation Agent • Requirements Elicitation Tool • Documentation Tool • OO Diagram Editor Critiquing Agents Hypermedia Interface Conceptual Models Conceptual Models Domain Patterns System CBD Models Domain Models Software Product Line Architecture Architectural and Design Patterns System Concrete Application Architectures Framework Reusable Components Set Application Components Mediator Layer General Structure Domain engineering and Application tools Domain models at different levels Persistency level Repository Y … Repository X Brechó Repository
Domain Conceptual Model Features Model Functional Model Domain Pattern Name: Proposition ........... trace Proposition Proposition Presentation Analysis Pattern Name: ......... trace trace trace Related CBD Models Type Model Use Cases Use Case: Name: Heart Attack Diagnosis ........... ....... Description: pain onarms, headache.... Use Case: Name: Heart Attack Diagnosis ........... ....... Description: pain onarms, headache.... trace trace Use Case: Name: Heart Attack Diagnosis ........... ....... Description: pain onarms, headache.... Use Case: Name: Present Proposition ........... ....... Description: Class Models Component Model trace Models Traceability
<<Functional>> Alarm Clock Setting <<Functional>> Image Capturing <<Domain Technology>> Image Device <<Conceptual>> Monofonic RingTones <<Conceptual>> Polyfonic RingTones X X <<implemented by>> <<Functional>> Vibrating Alert <<Conceptual>> Alarm Clock <<Conceptual>> Camera <<Conceptual>> RingTones <<Conceptual>> Game R <<Functional>> Call Receiving <<Conceptual>> Snake <<Conceptual>> Car Racer <<Conceptual>> Cell Phone <<Conceptual>> Phone Book <<communication link>> <<Functional>> Call Searching <<Conceptual>> Ring <<Conceptual>> Message Device <<Functional>> Phone Book Organising <<actor>> User R <<implemented by>> <<Functional>> Ring Setting <<implemented by>> <<Implementation Technique>> Search Algorithms <<Domain Technology>> Sound Device <<Functional>> Dialed Call Searching <<Functional>> Received Call Searching X_1 X_1
From SPLs to SECOs Source: Jan Bosch’s SBQS’09 Keynote 07/09/2014 Cláudia Werner - IWSECO'09 35
From SPLs to SECOs • Our group’s experience: • Co-developers of Odyssey: UFJF, PUC-RS, UF-Fluminense, UFF • Odyssey’s users: UFRJ, UFC, UFF • Brechó’s users: UFRJ, UFPA, UFF • Support tools: Configuration Management (SVN) and Change Control (Bugzilla) • E-mailing lists: Odyssey-dvlp and Brechó-dvlp • Developers’ Workshops • Open source development / Communities of practice • Odyssey-light + plug-ins: Dynamic loading (late biding trend) • Increase on the importance of user contribution 07/09/2014 Cláudia Werner - IWSECO'09 36
Conclusion The evolution of Reuse approaches will naturally lead to Software Ecosystems Brechó-VCM supports a value-based component marketplace Odyssey/Share supports a collaborative SPL development Work in progress: Evolution of SPLs Dynamic SPLs Context Management Future Work: Evolution of Brechó-VCM to support SECOs… Cláudia Werner - IWSECO'09 37
Next Steps • Observe people (psychology approach, social networks) • Study Bio-systems, SBD and self-healing software • Develop innovative, flexible and evolvable software • New software engineering techniques/methods (?): • User-centric • Global development • Agile • Challenge: get simple and customizable solutions • Economically viable • Are we getting somewhere?… 07/09/2014 Cláudia Werner - IWSECO'09 38
API-based Cloud Ecosystems Bala Iyer, http://www.softwareecosystems.com 39
References BASS, L., BUHMAN, C., COMELLA-DORDA, S., LONG, F., ROBERT, J., SEACORD, R. and WALLNAU, K. 2000. Market Assessment of Component-Based Software Engineering. Technical Report CMU/SEI-2001-TN-007, 33p. BOEHM, B. 2003. Value-Based Software Engineering. Software Engineering Notes 28, 2 (March), 1-12. BOEHM, B. and SULLIVAN, K. J. 2000. Software Economics: A Roadmap, In: The Future of Software Engineering, Proceedings of the 22nd ICSE, Limerick, Ireland, 319-344. BRECHÓ. 2009. Brechó Project: Software Component and Service Library. Software Reuse Team, COPPE/UFRJ, http://reuse.cos.ufrj.br/brecho. ODYSSEY. 2009. Odyssey Project: Software Reuse Environment. Software Reuse Team, COPPE/UFRJ, http://reuse.cos.ufrj.br/odyssey. 40 Cláudia Werner - IWSECO'09
References FAVARO, J. M., FAVARO, K. R. and FAVARO, P. F. 1998. Value Based Software Reuse Investment. Annals of Software Engineering 5, 1, 5-52. MILI, A., MILI, R. and MITTERMEIR, R. T. 1998. A Survey of Software Reuse Libraries. Annals of Software Engineering 5, January, 349-414. SAMETINGER, J. 1997. Software Engineering with Reusable Components, 1. ed., Springer-Verlag, 272p. JANSEN, S., FILKELSTEIN, A. and BRINKKEMPER, S. 2009. A sense of Community: A research agenda for Software Ecosystems. ICSE 2009. BOSCH, J. 2009. From Software Product Lines to Ecosystems. SPLC 2009. Cláudia Werner - IWSECO'09 41
THANK YOU! Cláudia Werner werner@cos.ufrj.br http://reuse.cos.ufrj.br Building Software Ecosystems from a Reuse Perspective