Providing Automated Holistic Process and Knowledge Assistance during Software Modernization

Software modernization remains a difficult, highly intellectual, labor-intensive, collaborative, and risky undertaking involving software engineers interacting in knowledge-centric processes. While many tools and several methodologies are available, current modernization projects lack adequate automated and systematic operational process support. This chapter provides an introduction to the topic of automated process and knowledge assistance for software modernization, giving background information on related work in this area, and then expounds on various problems. To address these, a holistic solution approach and guidance framework called the Context-aware Software Engineering Environment Event-driven framework (CoSEEEK) is described, which can support developers on software modernization projects, addressing such aspects as process dynamicity, extrinsic processes, process exception handling, coordi¬nation, quality assurance, and knowledge provisioning. Subsequently, future research directions are discussed and a conclusion is drawn.

[1]  Mayuram S. Krishnan,et al.  Evaluating the cost of software quality , 1998, CACM.

[2]  Manfred Reichert,et al.  Knowledge Provisioning - A Context-sensitive Process-oriented Approach Applied to Software Engineering Environments , 2016, ICSOFT.

[3]  Manfred Reichert,et al.  Towards Dynamic Knowledge Support in Software Engineering Processes , 2011, GI-Jahrestagung.

[4]  Hongfang Liu,et al.  An Investigation into the Functional Form of the Size-Defect Relationship for Software Modules , 2009, IEEE Transactions on Software Engineering.

[5]  Tao Jiang,et al.  CASDE: An Environment for Collaborative Software Development , 2006, CSCWD.

[6]  Santiago Comella-Dorda,et al.  A survey of black-box modernization approaches for information systems , 2000, Proceedings 2000 International Conference on Software Maintenance.

[7]  Santiago Comella-Dorda,et al.  A Survey of Legacy System Modernization Approaches , 2000 .

[8]  Matthias Biehl,et al.  Model-Based Service Discovery and Orchestration for OSLC Services in Tool Chains , 2012, ICWE.

[9]  Manfred Reichert,et al.  Flexibility in Process-Aware Information Systems , 2009, Trans. Petri Nets Other Model. Concurr..

[10]  Vladan Devedzic,et al.  Model driven architecture and ontology development , 2006 .

[11]  Tarek K. Abdel-Hamid,et al.  The Economics of Software Quality Assurance: A Simulation-Based Case Study , 1988, MIS Q..

[12]  Grzegorz Rozenberg,et al.  Dynamic change within workflow systems , 1995, COCS '95.

[13]  Manfred Reichert,et al.  Enabling Adaptive Process-aware Information Systems with ADEPT2 , 2008 .

[14]  Jesús García Molina,et al.  A Domain Specific Language for Extracting Models in Software Modernization , 2009, ECMDA-FA.

[15]  Manfred Reichert,et al.  Semantically-Driven Workflow Generation Using Declarative Modeling for Processes in Software Engineering , 2011, 2011 IEEE 15th International Enterprise Distributed Object Computing Conference Workshops.

[16]  François Bry,et al.  Semantic Wikis , 2008, IEEE Software.

[17]  Manfred Reichert,et al.  Semantic Workflow Adaption in Support of Workflow Diversity , 2010 .

[18]  Arnaud Lewandowski,et al.  Enhancing Support for Collaboration in Software Development Environments , 2006, CSCWD.

[19]  Ricardo Pérez-Castillo,et al.  MARBLE: Modernization approach for recovering business processes from legacy information systems , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[20]  Nelson Weiderman,et al.  Approaches to Legacy System Evolution. , 1997 .

[21]  Ernest Wallmüller SPI: Software Process Improvement mit CMMI, PSP/TSP und ISO 15504 , 2007 .

[22]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[23]  Grace A. Lewis,et al.  Modernizing Legacy Systems - Software Technologies, Engineering Processes, and Business Practices , 2003, SEI series in software engineering.

[24]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[25]  Stéphane Ducasse,et al.  Software Architecture Reconstruction: A Process-Oriented Taxonomy , 2009, IEEE Transactions on Software Engineering.

[26]  Manfred Reichert,et al.  Contextual Generation of Declarative Workflows and their Application to Software Engineering Processes , 2011 .

[27]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[28]  Mario Piattini,et al.  Business process archeology using MARBLE , 2011, Inf. Softw. Technol..

[29]  Liam O'Brien,et al.  Service-Oriented Migration and Reuse Technique (SMART) , 2005, 13th IEEE International Workshop on Software Technology and Engineering Practice (STEP'05).

[30]  David Luckham,et al.  The power of events - an introduction to complex event processing in distributed enterprise systems , 2002, RuleML.

[31]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[32]  Amit P. Sheth,et al.  Exception Handling in Workflow Systems , 2004, Applied Intelligence.

[33]  Brian McBride,et al.  Jena: A Semantic Web Toolkit , 2002, IEEE Internet Comput..

[34]  Barbara Weber,et al.  The Impact of Testcases on the Maintainability of Declarative Process Models , 2011, BMMDS/EMMSAD.

[35]  Wolfgang Meier,et al.  eXist: An Open Source Native XML Database , 2002, Web, Web-Services, and Database Systems.

[36]  Gregor Grambow,et al.  Towards Automated Context-Aware Software Quality Management , 2010, 2010 Fifth International Conference on Software Engineering Advances.

[37]  Diane L. Gibson,et al.  Performance Results of CMMI ® -Based Process Improvement , 2006 .

[38]  Jan Mendling,et al.  Imperative versus Declarative Process Modeling Languages: An Empirical Investigation , 2011, Business Process Management Workshops.

[39]  Manfred Reichert,et al.  Towards Automatic Process-aware Coordination in Collaborative Software Engineering , 2011, ICSOFT.

[40]  Tom Mens,et al.  Challenges in software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[41]  Manfred Reichert,et al.  Contextual Injection of Quality Measures into Software Engineering Processes , 2011 .

[42]  Manfred Reichert,et al.  Beyond rigidity – dynamic process lifecycle support , 2009, Computer Science - Research and Development.

[43]  Gregorio Robles,et al.  Correlation between bug notifications, messages and participants in Debian's bug tracking system , 2007, ESEM 2007.

[44]  Manfred Reichert,et al.  Adeptflex—Supporting Dynamic Changes of Workflows Without Losing Control , 1998, Journal of Intelligent Information Systems.

[45]  T.C. Lethbridge,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK) and the Software Engineering Education Knowledge (SEEK) - a preliminary mapping , 2001, 10th International Workshop on Software Technology and Engineering Practice.

[46]  P. D. O'Brien,et al.  FIPA — Towards a Standard for Software Agents , 1998 .

[47]  Manfred Reichert,et al.  Employing Semantically Driven Adaptation for Amalgamating Software Quality Assurance with Process Management , 2010 .

[48]  Manfred Reichert,et al.  User-Centric Abstraction of Workflow Logic Applied to Software Engineering Processes , 2012, CAiSE Workshops.

[49]  Agostino Poggi,et al.  Jade - a fipa-compliant agent framework , 1999 .

[50]  Manfred Reichert,et al.  Making Business Process Implementations Flexible and Robust: Error Handling in the AristaFlow BPM Suite , 2010, CAiSE Forum.

[51]  Linda M. Northrop,et al.  Implications of Distributed Object Technology for Reengineering , 1997 .

[52]  H. Lan,et al.  SWRL : A semantic Web rule language combining OWL and ruleML , 2004 .

[53]  Manfred Reichert,et al.  Event-Driven Exception Handling for Software Engineering Processes , 2011, Business Process Management Workshops.

[54]  Jarmo J. Ahonen,et al.  Empirical study of industrial decision making for software modernizations , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[55]  B. Randell,et al.  Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7-11 Oct. 1968, Brussels, Scientific Affairs Division, NATO , 1969 .

[56]  Philip M. Johnson Requirement and Design Trade-offs in Hackystat: An In-Process Software Engineering Measurement and Analysis System , 2007, ESEM 2007.

[57]  Manfred Reichert,et al.  Enabling Flexibility in Process-Aware Information Systems: Challenges, Methods, Technologies , 2012 .

[58]  Neville Churcher,et al.  Towards synchronous collaborative software engineering , 2004, 11th Asia-Pacific Software Engineering Conference.

[59]  Manfred Reichert,et al.  The ADEPT project: a decade of research and development for robust and flexible process support , 2009, Computer Science - Research and Development.

[60]  Stefanie Rinderle-Ma,et al.  Providing Integrated Life Cycle Support in Process-Aware Information Systems , 2009, Int. J. Cooperative Inf. Syst..

[61]  Manfred Reichert,et al.  Enabling Automatic Process-Aware Collaboration Support in Software Engineering Projects , 2011, ICSOFT.

[62]  E. Prud hommeaux,et al.  SPARQL query language for RDF , 2011 .

[63]  C. Fey,et al.  Knowledge Dissemination in Global R&D Operations: An Empirical Study of Multinationals in the High Technology Electronics Industry1 , 2000 .

[64]  Manfred Reichert,et al.  Enabling Flexibility in Process-Aware Information Systems , 2012, Springer Berlin Heidelberg.

[65]  Sjaak Brinkkemper,et al.  Situational Method Engineering : Fundamentals and Experiences , 2011 .

[66]  Yong Tan,et al.  Comparing uniform and flexible policies for software maintenance and replacement , 2005, IEEE Transactions on Software Engineering.

[67]  Pekka Kess,et al.  Knowledge creation through a project review process in software production , 2002 .

[68]  Norman W. Paton,et al.  Active Rules in Database Systems , 1998, Monographs in Computer Science.

[69]  Walid Maalej,et al.  Potentials and challenges of recommendation systems for software development , 2008, RSSE '08.

[70]  Michiel van Genuchten,et al.  Compound Annual Growth Rate for Software , 2012, IEEE Software.

[71]  van der Wmp Wil Aalst,et al.  Workflow resource patterns , 2004 .

[72]  Barbara Weber,et al.  Creating Declarative Process Models Using Test Driven Modeling Suite , 2011, CAiSE Forum.

[73]  Mario Piattini,et al.  Reengineering Technologies , 2011, IEEE Software.

[74]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[75]  Yarden Katz,et al.  Pellet: A practical OWL-DL reasoner , 2007, J. Web Semant..

[76]  Roy Oberhauser,et al.  Leveraging Semantic Web Computing for Context-Aware Software Engineering Environments , 2010 .

[77]  Robert L. Glass Software Runaways: Monumental Software Disasters , 1997 .

[78]  Erik Putrycz,et al.  Recovering Business Rules from Legacy Source Code for System Modernization , 2007, RuleML.

[79]  Stefanie Rinderle-Ma,et al.  Change patterns and change support features - Enhancing flexibility in process-aware information systems , 2008, Data Knowl. Eng..

[80]  Mario Piattini,et al.  On the Use of ADM to Contextualize Data on Legacy Source Code for Software Modernization , 2009, 2009 16th Working Conference on Reverse Engineering.

[81]  Peter Dadam,et al.  Architectural Principles and Components of Adaptive Process Management Technology , 2009, PRIMIUM.

[82]  Jarmo J. Ahonen,et al.  Software modernization decision criteria: an empirical study , 2005, Ninth European Conference on Software Maintenance and Reengineering.