1 The Dense and Adventurous Character of SKY as a Workshop Being already in its fifth year – the first SKY International Workshop on Software Knowledge was held in 2010 – we allow ourselves to look back and try to summarize the special character of SKY as a Workshop. Two words come to mind: dense and adventurous. It is dense, since it has a very small number of accepted contributed works – typically 4 Full papers and 4 Short papers – with an added invited talk and a final debate. Nevertheless, many ideas are presented and discussed around our Software Knowledge leitmotiv, leaving to the participants a lot of material for second thoughts. It is adventurous, as the ideas push research frontiers beyond known and safe limits. Our frontier map is convoluted, as participants bring with them diverse types of education and experience in the baggage to our joint travel. Furthermore, this year we officially start an additional adventure, in the form of the SKY’2014 Tweetable Challenge.
Researchers and practitioners are welcome to tweet a TNO – Tweetable Nano-Ontology – with a description of a corresponding software tool that translates the TNO into Runnable Knowledge. 2 Main Theme: Requirements and Software Knowledge Despite being adventurous, before each Workshop edition we take care to set a main theme as a general guidance. This year it is “Requirements and Software Knowledge”. It reflects our feeling that Software Knowledge should be relevant for real and large software systems of industrial value. Otherwise, it would remain no more than a nice but sterile intellectual exercise. We view Requirements and Software Knowledge as the two important ingredients to develop/modify any software system of significance. The general question is how to translate these ingredients into actual procedures, tools and assets of practical value. We shall see that although having much in common – e.g. ontologies are almost ubiquitous – different papers offer quite different approaches to this end. 3 Requirements: Formalized and Semi-Formalized Requirements’ quality and their influence on the system development are discussed in two of the contributed papers: one focusing on system engineering and the other on system re-engineering. 3.1 System Engineering Requirements Formalized The paper by Fraga and Llorens refers to system engineering requirements. The more correct, complete and consistent is the set of requirements the best is the system engineering process. A central technique is knowledge reuse by means of a system knowledge repository. The paper provides a guided example passing through the important Natural Language Processing stages of the knowledge management process, up to ontologies maintenance. 3.2 The Role of Requirements in System Re-engineering to cope with Misuse The paper by Goldin and Gallant continues their work on Misuse, by focusing on the iterative – loosely cyclic – aspect of the process to cope with misuse of real systems, containing embedded software. The central idea is to use a modified Jackson semi-formal PFA approach, which forces one to clearly separate three kinds of entities: a- requirements; b- the real world system environment; c- the system itself represented by a Statechart. Analysis of the requirements added in each iteration leads to a suitable re-engineering of the system Statechart. 4 Scenarios and Ontologies for System Development and Refactoring The next couple of papers literally translate requirements to “Scenarios” and Software Knowledge to “Ontologies”. One paper uses these ingredients for system development totally anew, and the other one to deal with legacy systems. 4.1 Ontologies + Scenarios for System Development Exman, Litovsky and Yagel have been using ontologies and scenarios as inputs for system development, in which code is tested while it is generated. In the particular paper in this SKY Workshop they focus on the need to complement ontologies – the software knowledge ingredient – with mock objects. Mock objects are necessary when the system covers more than one domain, and nevertheless one prefers to keep the input ontology size limited to enable comprehensive testing. Thus, the mock objects help to perform testing, while the necessary software knowledge is circumscribed. They discuss the implications and possible alternatives to this approach. 4.2 Ontologies for Legacy System Refactoring Yagel and Osetinsky take a similar approach to deal with legacy code refactoring. Their claim is that higher level abstractions are also useful to locate spots in need of refactoring and for actual implementation of the needed abstractions. 5 Working with Reduced Size Ontologies An important idea, potentially controversial, is that Cyc-like giant ontologies may not be very practical. Useful ontologies may be much smaller, and of varying sizes, down to what has been called nano-ontologies. The exact purpose and meaning of these varying size ontologies is the subject of research. The next couple of papers deal with reduced size ontologies. 5.1 Obtaining Application Ontologies from Domain Ontologies The work by Exman and Iskusnov aims at systematically obtaining smaller application ontologies from larger domain ontologies. The resulting application ontologies of this work are the inputs to the system development tool in the paper mentioned above in sub-section 4.1. An important problem to be solved is the optimal size of the application ontologies, in order to include all the relevant terms and their relationships, while excluding terms irrelevant to the desired application. 5.2 Opinion Ontologies for Social Networks Exman and Nagar use tiny nano-ontologies to allow location-based opinion expression and fast communication among members of a mobile social network. Another important point for fast decisions on the move is merging of several opinion ontologies into a summarizing one, having the same syntax, and avoiding size expansion. 6 Adventurous Software Knowledge Ideas We conclude this foreword with two very different papers that have in common the fact that each one deals with quite novel underlying ideas. 6.1 Social Networks as Distributed Software Knowledge The work by Fernandez-Utrilla and Mariscal takes a classical approach to find a behavior model predicting adoption of specific social networks. It unifies two accepted theories, and uses questionnaires to reach conclusions about the issue in question. The novel underlying assumption is that a social network itself is an instance of large distributed software knowledge. In a sense one is comparing ontologies – themselves represented by networks – to social networks as representing the crowd’s software knowledge. This raises several interesting ideas worth discussing. 6.2 The Topology Itself of the Ontology as Significant Semantics Last but not least the paper by Ben-Av raises two novel claims. The first one is that the topology itself of an ontology contains significant semantics, even when one disregards the nature of the specific relationships or they directionality. The second one is that one can apply mathematical techniques such as Algebraic Multi-Grid (AMG) methods, to reveal the hierarchy of levels of a relatively large input ontology. 7 Conclusion We have seen that the paper collection in this edition of the SKY’2014 Workshop presents variations on Requirements and Software Knowledge from diverse and challenging viewpoints. Acknowledgments Our thanks to the papers’ authors and keynote speaker, whose contributions enable together a stimulating SKY’2014 Workshop, this time in Rome, Italy, on Wednesday, October 22, 2014. We are grateful to the dedication of the Program Committee members that did hard work resulting in the best and more representative papers among those submitted. We wish to thank the very helpful professional staff of IC3K/INSTICC. Finally, we are glad to acknowledge the continuous support of SKY Workshops by our institutions, The Jerusalem College of Engineering – JCE - Azrieli, in Jerusalem, Israel and UC3M – Carlos III of Madrid University, in Madrid, Spain.
Vol. 1 - 978-989-758-051-2