Towards Software Sustainability Guides for Industrial Software Systems

1,337 views

Published on

Talk from DFF 2011 workshop at SE 2011.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,337
On SlideShare
0
From Embeds
0
Number of Embeds
371
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • industrial automation domainprocess control systemssoftware-intensive systemslong life cycles, more than 15 years, up to 40 years
  • many changes to a software product after releaseperfective: new features, new devices, ...adaptive: technologies become obsolete must be replacedcorrective: bug reportssoftware development mainly focussed on the phases after release
  • high percentage of overall development costs = maintenance costssame evolution problems for different products, patterns and tactics as solutionsustainable development not taught at universities, also sometimes sacrifies due to timing constraints, time-to-market pressure
  • Validation:map methods to scenarios3 case studiesdeveloper feedback
  • just as overview, need to be documented in detail using templatescorrective and preventive scenario are omitted here for brevity
  • - this slide is not to be read in detail, just to provide some information about the literature search
  • structure of the guidelines aligned with ABB software development guidelines structuredoes not imply waterfall process, merely an orientation to the reader
  • - one short example for a detailled guide line, should give general idea of the content of the document
  • Towards Software Sustainability Guides for Industrial Software Systems

    1. 1. © ABB Group <br />February 21, 2011 | Slide 1<br />TowardsSoftware Sustainability Guidelines for Long-living Industrial Systems<br />Heiko Koziolek, Roland Weiss, Zoya Durdik, Johannes Stammel, Klaus Krogmann<br />
    2. 2. Context: Industrial Automation DomainLong-living Software-Intensive Systems<br />© ABB Group <br />February 21, 2011 | Slide 2<br />
    3. 3. Context: Software EvolutionExample Release History of a Process Control System<br />© ABB Group <br />February 21, 2011 | Slide 3<br />Version A<br /> First version release with complete system concept<br /> Single environment from independent solutions<br /> Outstanding Operations Offering<br /> Function based Engineering<br /> Redundant Controllers and I/O capabilities<br /> Connectivity for Harmony and Melody<br />Foundation Fieldbus, Redundant Profibus, HART<br />Version C3<br /> Windows 7 support<br />Alarm Analysis and Alarm Shelving<br />WirelessHART Integration<br />Profinet, Ethernet IP, DeviceNet<br />Engineering efficiency improvements<br />Detailed difference reporting<br />Foundation Fieldbus improvements<br />2004 2005 2006 2007 2008 2009 2010<br />Version C1<br /> Multi-system Integration<br />SPI Integration (PETI)<br /> MODBUS TCP<br />Version B<br />Increased system size<br />SIL 2 Integrated Safety<br />Connectivity for DCI and MOD 300 <br />Alarm and Event Improvements<br />Remote Clients via MS Terminal Services<br />Version C2<br />Virtualization support<br />MS WPF Graphics<br />SIL3 Safety<br />IEC 61850 (Intel Elect Devices)<br />New PM866 controller (2x PM864)<br />New S800 I/O (non-red HART)<br />New Power Supplies, smaller footprint<br />Evolution Libraries MOD300 and Infi90<br />Version C<br />Online Upgrade Capability<br />Multi-User / Distributed Engineering<br />Large screen / Multi-screen enhancements<br />Digital Security Improvements<br />
    4. 4. ChallengesSustainable Software Development<br />© ABB Group <br />February 21, 2011 | Slide 4<br />Limited education of architects and developers for sustainable development<br />Significant costs for software maintenance and evolution<br />Repeating evolution problems and solutions<br />
    5. 5. Our approach<br />© ABB Group <br />February 21, 2011 | Slide 5<br />1. Document re-occuring evolution scenarios in the industrial domain<br />2. Create guidelines for sustainable software development<br />Scenario XYZ<br /> Overview: Data volume exceeds, ...<br /> System environment: Normal volume: 1.5 GB, ...<br /> Environment changes: Volume changed to 4 GB, ...<br /> Required system behaviour: Processing takes less than 4 hours, ...<br />Scenario XYZ<br /> Overview: Data volume exceeds, ...<br /> System environment: Normal volume: 1.5 GB, ...<br /> Environment changes: Volume changed to 4 GB, ...<br /> Required system behaviour: Processing takes less than 4 hours, ...<br />Scenario XYZ<br /> Overview: Data volume exceeds, ...<br /> System environment: Normal data volume: 1.5 GB, ...<br />Environment changes: Datavolume changes to 4 GB, ...<br />Required system behaviour: Processing takes less than 4 hours, ...<br />Method ABC<br />Name: ...<br /> Relevance: ... <br /> Application effort: ...<br /> Short Description: ...<br /> Tools: ...<br /> Risks: ...<br /> Checklist: ...<br />Method ABC<br />Name: ...<br /> Relevance: ... <br /> Application effort: ...<br /> Short Description: ...<br /> Tools: ...<br /> Risks: ...<br /> Checklist: ...<br />Method ABC<br /> Name: ...<br /> Relevance: ... <br /> Application effort: ...<br />Short Description: ...<br /> Tools: ...<br />Risks: ...<br />Checklist: ...<br />3. Validation <br />C1<br />C2<br />C3<br />
    6. 6. Re-occurring evolution scenariosIndustrial software systems<br />Perfective<br />new services and features<br />integration of third party components<br />integration of third party applications<br />safety certification (IEC61508)<br />performance improvements (I/Os)<br />usability improvements (workplace)<br />security improvements (Stuxnet)<br />...<br />© ABB Group <br />February 21, 2011 | Slide 6<br />Adaptive<br />new industry standards<br />migration to new GUI framework<br />migration to new middleware / OS<br />support for virtualization<br />support for multi-core processors<br />updated controller and field devices<br />new network standards<br />...<br />
    7. 7. Sustainability GuidelinesDevelopment Process<br />© ABB Group <br />February 21, 2011 | Slide 7<br />
    8. 8. Sources<br />Journals: IEEE TSE, JSME, JSS, EMSE, LNCS, IST, ...<br />Conferences: ICSE, ICSM, IWPSE, CSMR, WICSA, ...<br />Interviews, > 30 Books, Internal ABB documents, ...<br />Keywords<br />agility and architecture, software evolution, strategies, strategy, tactic(s), method(s), approach software maintenance,maintainability, evolvability, longevity, modifiability, flexibility, sustainability, COTS, (data) mining, virtualization, software quality, architecture compliance checking, architecture analysis, code and architecture consistency, architecture(al) enforcements, survey, evaluation<br />Data Collection<br />development phase, relevance automation, relevance sustainability, applicability, tool, preventive/reactive, formalization, perspective, abstraction level, benefits for sustainable software development<br />Sustainability GuidelinesLiterature Review<br />Reviewed Topics (Selection)<br />Software Comprehension using Historical Data<br />Quality Indicators<br />Software Architecture (Analysis)<br />Variability Strategies<br />Automation of Software Development<br />Knowledge Management and Documentation<br />Software Infrastructure<br />Conclusions<br />Wide solutions overview (136 pages)<br />Reference list in each chapter<br />Baseline for sustainability guidelines<br />Not all approaches investigated in detail<br />© ABB Group <br />February 21, 2011 | Slide 8<br />
    9. 9. Initial Sustainability GuidelinesOverview<br />© ABB Group <br />February 21, 2011 | Slide 9<br />Phase IndependentSustainable Documentation, Knowledge Management, Process Improvement, Organizational Structures, ...<br />
    10. 10. Sustainability Guidelines ExampleALMA (Architecture-Level Modifiability Analysis)<br />Short Description:<br />Architecture-level modifiability analysis (ALMA) is an analysis approach that focuses on modifiability. For the description of the architecture, an architectural model, i.e., views from several architectural viewpoints have to be created. Change scenario elicitation is done by interviewing stakeholders. …<br />Tool Support: no tool support<br />Why useful? (selection)<br />Helps to estimate long-term impact of design decisions.<br />Quantifies the expected costs of changes to a system pro-actively to support decisions during system evolution.<br />Improves the initial design upfront to avoid maintenance and evolution problems.<br />Risks (selection)<br />Missing critical change scenarios can lead to missing modifiability<br />Selection of non-relevant change scenario might lead to modifiability overhead<br />High overall effort for involving too many stakeholders or due to inefficient execution of the ALMA process<br />Application effort: (medium, manual)<br />Relevance for evolution:<br />The approach can help identifying evolution risks, i.e. changes that can only be performed at high costs.<br />Learning effort:<br />Medium (requires architecture modelling skills and knowledge about modifiability)<br />Addressed problem:<br />The architecture has influence on architecture level. Ensures that critical change scenarios are well-supported by an architecture.<br />General validation:<br />7 industrial case studies<br />ABB internal validation: n/a<br />© ABB Group <br />February 21, 2011 | Slide 10<br />
    11. 11. Validation (1/3)Goals<br />Validate the usability of the guidelines<br />interview developers<br />apply in three post-mortem case studies<br />apply initially in regular projects<br />Validate the applicability of the recommended methods<br />only possible for selected methods<br />conduct case study research, collect best practices<br />reuse empirical studies from literature<br />© ABB Group <br />February 21, 2011 | Slide 11<br />
    12. 12. Validation (2/3)Mapping the Guidelines to a Sample Scenario<br />© ABB Group <br />February 21, 2011 | Slide 12<br />
    13. 13. Validation (3/3)Planned Case Studies<br />1. Apply ALMA to compare two software architectures<br />2. Apply code analysis 3. Recover design rationale on third party component from architectural document.<br />© ABB Group <br />February 21, 2011 | Slide 13<br />
    14. 14. ConclusionsSustainability Guidelines for Long-living Systems<br />Maintenance and evolution of industrial software systems are significant cost drivers.<br />Software sustainability guidelines help architects and developers in avoiding and mitigating evolution problems.<br />Further validation is needed in interviews and case studies.<br />© ABB Group <br />February 21, 2011 | Slide 14<br />
    15. 15. © ABB Group <br />February 21, 2011 | Slide 15<br />

    ×