Story-driven approach to software evolution

From a maintenance perspective, only software that is well understood can evolve in a controlled and high-quality manner. Software evolution itself is a knowledge-driven process that requires the use and integration of different knowledge resources. The authors present a formal representation of an existing process model to support the evolution of software systems by representing knowledge resources and the process model using a common representation based on ontologies and description logics. This formal representation supports the use of reasoning services across different knowledge resources, allowing for the inference of explicit and implicit relations among them. Furthermore, an interactive story metaphor is introduced to guide maintainers during their software evolution activities and to model the interactions between the users, knowledge resources and process model.

[1]  Marc Roper,et al.  A novel software visualisation model to support software comprehension , 2004, 11th Working Conference on Reverse Engineering.

[2]  Sebastian Schaffert,et al.  IkeWiki: A Semantic Wiki for Collaborative Knowledge Management , 2006, 15th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE'06).

[3]  Janice Singer,et al.  Towards an ontology of software maintenance , 1999, J. Softw. Maintenance Res. Pract..

[4]  Robert Michael Young,et al.  From linear story generation to branching story graphs , 2005, IEEE Computer Graphics and Applications.

[5]  J. Bruner Acts of meaning , 1990 .

[6]  Brian Henderson-Sellers,et al.  An Ontology for Software Development Methodologies and Endeavours , 2006, Ontologies for Software Engineering and Software Technology.

[7]  N. Schneidewind,et al.  Towards an Ontology of software maintenance , 1999 .

[8]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[9]  Thomas R. Gruber,et al.  A translation approach to portable ontology specifications , 1993, Knowl. Acquis..

[10]  Nahum Gershon,et al.  What storytelling can do for information visualization , 2001, Commun. ACM.

[11]  Kenny Wong,et al.  A collaborative demonstration of reverse engineering tools , 2002, SIAP.

[12]  Anthony Jackson The Science of Fairy Tales , 1973 .

[13]  Nicolas Anquetil,et al.  Organizing the Knowledge Used in Software Maintenance , 2003, J. Univers. Comput. Sci..

[14]  Ben Shneiderman,et al.  Software psychology: Human factors in computer and information systems (Winthrop computer systems series) , 1980 .

[15]  Mario Piattini,et al.  An Ontology For The Management Of Software Maintenance Projects , 2004, Int. J. Softw. Eng. Knowl. Eng..

[16]  Ian Horrocks,et al.  Description Logics as Ontology Languages for the Semantic Web , 2005, Mechanizing Mathematical Reasoning.

[17]  Markus Krötzsch,et al.  Semantic MediaWiki , 2006, International Semantic Web Conference.

[18]  Claudio Riva,et al.  Reverse architecting: an industrial experience report , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[19]  Raymond J. Madachy,et al.  Software process simulation modeling: Why? What? How? , 1999, J. Syst. Softw..

[20]  J. E. Sammet,et al.  Software psychology: human factors in computer and information systems , 1983, SGCH.

[21]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[22]  Hausi A. Müller,et al.  How do program understanding tools affect how programmers understand programs? , 2000, Sci. Comput. Program..

[23]  Elizabeth Chang,et al.  Software Engineering Ontology - the Instance Knowledge (Part I) , 2007 .

[24]  Adam Pease,et al.  Towards a standard upper ontology , 2001, FOIS.

[25]  Stuart C. Shapiro Review of Knowledge representation: logical, philosophical, and computational foundations by John F. Sowa. Brooks/Cole 2000. , 2001 .

[26]  Mieczyslaw M. Kokar,et al.  An OWL Ontology for Representing the CMMI-SW Model , 2022 .

[27]  Diego Calvanese,et al.  The Description Logic Handbook , 2007 .

[28]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[29]  Andrew Walenstein,et al.  Reverse engineering tools as media for imperfect knowledge , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[30]  Edwin Sidney Hartland,et al.  The Science of Fairy Tales , 2003 .

[31]  Juergen Rilling,et al.  Software Visualization - A Process Perspective , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[32]  T.S. Dillon,et al.  Towards 'ontology'-based software engineering for multi-site software development , 2005, INDIN '05. 2005 3rd IEEE International Conference on Industrial Informatics, 2005..

[33]  James D. Herbsleb,et al.  Supporting online problem-solving communities with the semantic web , 2006, WWW '06.

[34]  P. Johnson-Laird,et al.  Mental Models: Towards a Cognitive Science of Language, Inference, and Consciousness , 1985 .

[35]  Martin Gogolla Unified Modeling Language , 2009, Encyclopedia of Database Systems.

[36]  Ian Horrocks,et al.  From SHIQ and RDF to OWL: the making of a Web Ontology Language , 2003, J. Web Semant..

[37]  Nicolas Anquetil,et al.  Software Maintenance Ontology , 2006, Ontologies for Software Engineering and Software Technology.

[38]  Stanley Letovsky,et al.  Cognitive processes in program comprehension , 1986, J. Syst. Softw..

[39]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[40]  Linda M. Wills,et al.  Reverse Engineering , 1996, Springer US.

[41]  Malcolm Munro,et al.  Software Maintenance and Evolution , 2003 .

[42]  Rosemary Luckin,et al.  Designing multimedia for learning: narrative guidance and narrative construction , 1999, CHI '99.

[43]  Philippe Kruchten,et al.  The Rational Unified Process Made Easy - A Practitioner's Guide to the RUP , 2003, Addison Wesley object technology series.

[44]  Volker Haarslev,et al.  RACER System Description , 2001, IJCAR.

[45]  Axel Korthaus,et al.  KOntoR: An Ontology-enabled Approach to Software Reuse , 2006, SEKE.

[46]  R. Pressman Software Engineering: a Practioner''s approach , 1987 .

[47]  Qing Li,et al.  Unified Modeling Language , 2009 .

[48]  Dean Jin,et al.  Ontology-based software analysis and reengineering tool integration: the OASIS service-sharing methodology , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[49]  Hausi A. Müller,et al.  How do program understanding tools affect how programmers understand programs? , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[50]  Volker Haarslev,et al.  An Ontological Software Comprehension Process Model , 2006 .

[51]  Margaret-Anne D. Storey,et al.  Theories, Methods and Tools in Program Comprehension: Past, Present and Future , 2005, IWPC.

[52]  James A. Hendler,et al.  The Semantic Web" in Scientific American , 2001 .

[53]  Victor R. Basili,et al.  Viewing maintenance as reuse-oriented software development , 1990, IEEE Software.

[54]  John F. Sowa,et al.  Knowledge representation: logical, philosophical, and computational foundations , 2000 .

[55]  Melanie Phillips,et al.  Dramatica: A New Theory of Story , 2004 .

[56]  Y. Wilks,et al.  Artificial Believers: The Ascription of Belief , 1991 .

[57]  Anneliese Amschler Andrews,et al.  Program Comprehension During Software Maintenance and Evolution , 1995, Computer.

[58]  Robert Michael Young,et al.  An intent-driven planner for multi-agent story generation , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..