
Ebook: Knowledge-Based Software Engineering

This publication addresses the research in theoretical foundations, practical techniques, software tools, applications and / or practical experiences in knowledge-based software engineering. The book also includes a new field: research in web services and semantic web. This is a rapidly developing research area promising to give excellent practical outcome, and interesting for theoretically minded as well as for practically minded people. The largest part of the papers belongs to a traditional area of applications of artificial intelligence methods to various software engineering problems. Another traditional section is application of intelligent agents in software engineering. A separate section is devoted to interesting applications and special techniques related in one or another way to the topic of the conference.
It is our pleasure to introduce this volume of proceedings of the Joint Conference on Knowledge-Based Software Engineering 2006 (JCKBSE'06) held in August 28–31, 2006 in Tallinn, Estonia. The JCKBSE is a traditional biannual conference focused at applications of artificial intelligence in software theory and practice. This conference has become an international event with talks submitted from sixteen countries this year. After careful reviewing, 37 talks from thirteen countries have been accepted. Traditionally for JCKBSE, most of talks are from Japan, the second place belongs to Russia. The talks address the research in theoretical foundations, practical techniques, software tools, applications and/or practical experiences in knowledge-based software engineering. The topic of the present conference includes a new field: research in web services and semantic web. This is a rapidly developing research area promising to give excellent practical outcome, and interesting for theoretically minded as well as for practically minded people. The largest part of talks belongs to a traditional area of applications of artificial intelligence methods to various software engineering problems. Another traditional section of the conference is application of intelligent agents in software engineering. A separate section is devoted to interesting applications and special techniques related in one or another way to the topic of the conference.
We would like to thank, first of all, the authors of submitted papers. Their research is a justification for a conference in this field of science. We express our gratitude to members of the Program Committee of the conference for their thorough work in reviewing the submissions. The work of program committee and its chairs has been greatly facilitated by EasyChair that is an excellent tool developed and managed by Andrei Voronkov, to whom we wish to express our gratitude for his kind support.
Enn Tyugu and Takahira Yamaguchi, JCKBSE'06 program co-chairs
This article proposes an automatic generation method of a relation matrix for Interpretive Structural Modelling (ISM). In ISM, keywords related to the problem are selected. Then the relation between two arbitrary keyword pairs is examined. When there is a relation between these two keywords, a non-zero value such as 1 is assigned to this relation. After examining the relations of all pairs of keywords, an n×n relation matrix is generated where n stands for the number of keywords. Then a reachable matrix is calculated from the relation matrix. By using the reachable matrix, the hierarchy structure of the problem is constructed. Building a relation matrix requires much time and labour. This article proposes an automatic generation method of relation matrix based on the co-occurrence probability of keywords in primary materials. As the proposed method is fully automatic, less labour is necessary than in the original ISM method. This method is evaluated by using newspaper articles.
In this paper, we present an intelligent help system for novice software engineers who use UML. This intelligent help is targeted to two kinds of user: the individual software engineer and the manager of the system, who coordinates the teams of software engineers. The system is called ISEA and can be used in real productive time even by the novice software engineers of a Software House. The intelligent help is generated based on a user-modelling module that records the actions of software engineers and evaluates them in terms of personality characteristics, their UML knowledge level and their collaboration with other software engineers. At the same time, ISEA supports a Group-Role Module that contributes to the automatic selection of the most effective collaboration schemes.
In this article, some existing error estimation methods are presented and their suitability for modern software development projects is analyzed. Based on this analysis, a new software error estimation method SEEC (Software Error Estimation by Component-wise comparison), specifically designed for multi-site, multi-component software projects, is introduced. The required activities and the mathematical formulation of the new method are presented. Finally, the integration of the SEEC method to a software development process is illustrated with the SPEM process modeling language.
Recently, the expansion of the range of users has led to the increase in the importance of software usability. To realize usable software, it is efficient to repeat the process of evaluating and improving GUIs. In this process, it is often necessary to replace the GUI widgets. In this case, we have to change the connection between GUI codes and logic codes. However, it is difficult for developers to find and modify the codes to be changed in the source code. In this research, we propose a method of finding the modification codes in the source code automatically and of suggesting instructions on developers how to modify them.
Systems embedded in household electric appliances are used for long periods of time by various kinds of people. These environments sometimes cause unexpected failures. To save users from the appliances failures, every product is required to retain a high standard of quality and safety until their terminal period. We have developed a method named ESIM (Embedded System Improving Method) to extract the causes of failures and lead failure scenarios to make design specifications secure prior to development. The scope of the method covers hardware deterioration, partial failure, environmental exception, as well as illegal operations. In this article, we present a practical method to evaluate comprehensive failure scenarios derived from this method.
Recently, some techniques for a very short-period software development which is called “Agile” have been proposed. In order to avoid risks, it has been considered as a taboo that the Post-work is started before the Pre-work is completed. However, we might have to break a taboo to recover a process delay. Therefore, this paper proposes a method to make a successful schedule plan automatically. The process delay can be recovered by breaking the taboo. This paper also proposes a method which is able to make a countermeasure plan automatically against a process delay by means of 'Fast-Tracking', and finally proves that our method is effective in a software project management by showing an example of the system.
In order to decrease the cost, it is recommended to detect defects in the phase they occur. This paper presents a metrics-based approach to detect defects in OO designs. We first identify a list of OO design defects which have a significant impact on the design quality based on the violations of many design guidelines and best practices expressed by experts. Then, we define the metrics for automatically detecting each of these defects. Several number of well-known metrics are used. For some defects, however, there are no suitable design metrics. Therefore, we define new design metrics to detect these defects. Moreover, thresholds to judge whether a metrics value indicates a critical situation, or not are defined for each of the metrics. By defining metrics on each design defect, many design rules and heuristics, and flaws which are described qualitatively can be evaluated quantitatively. On the other hand, we will show that intended application of metrics becomes clear.
Software metrics play a major role in predicting software quality; they help project managers in decision-making. Indeed, software metrics provide a quantitative approach allowing the control and the improvement of the development process including the maintenance. The ISO/IEC international standard (14598) on software product quality states, “Internal metrics are of little value unless there is evidence that they are related to external quality”. Many empirical prediction models are presented in the literature; their goal is to investigate the relationship between internal metrics and external qualities, in order to assess software quality. In this paper, we explore different machine-learning (ML) algorithms provided by an open source data-mining environment. We analyse their capacities to produce accurate and usable predictive models.
Visual specification of software is gaining popularity, but its usage is restricted by the lack of precise semantics of visual languages. In the present work, precise semantics of visual languages is defined. Three kinds of deep semantics of schemes are presented as different ways of usage of attribute models of schemes. Attribute models of a wide class of schemes are defined and higher-order attribute models are introduced. Dynamic evaluation of attributes is used in defining semantics of schemes.
Modelers create models of a system during information system development. Models should be correct, complete and consistent in order to be most useful. Modeler must have possibility to use software that helps to automate these kinds of checks in order to raise the speed of work and quality of its results. This article describes the software system that allows to perform strategic- and detailed analysis of a database-centric information system without using complicated visual notations. System supports methodological framework for the Enterprise Information System (EIS) strategic analysis (like the one that is described by Roost et al. [1]). User of the proposed system records specification in a database as a single integrated model. We propose database queries that help to find consistency and completeness (CC) problems of the recorded models.
Software reliability, an issue raised long time ago by software engineering researchers, is still a problem that must be faced nowadays. Our approach is to handle reliability of software products making use of a statistical distribution based model and historical data of similar projects. We analyze the software error metrics of large software projects developed in a multinational company in the last five years, searching for a Rayleigh pattern in the defect rate profile. If we can prove empirically such a pattern exists in certain environment, we have a rapid and powerful theoretical model to support project estimation decisions early in the development life cycle when historical data on similar projects is available.
This paper proposes an IFD (Information Flow Diagram) and an analysis method using the IFD for finding unexpected obstacles during the specification process of embedded software. Recently, embedded software has become increasingly larger in scale and more complicated, while time available for software development has become shorter. Both these industry trends affect the quality of the software. To improve the quality, it is necessary to find unexpected obstacles early in the specification process. This paper also describes a case study and discusses IFD and the analysis method.
This paper proposes a method to generate exceptional scenarios from a normal scenario written with a scenario language. This method includes (1) generation of exceptional plans and (2) generation of exceptional scenario by a user's selection of these plans. The proposed method enables users to decrease the omission of the possible exceptional scenarios in the early stages of development. The method will be illustrated with some examples.
This paper focuses on the density of comment statements in a source code, and statistically analyzes an impact of the comment statement density (CSD) on the source code change rate (SCR) through a corrective maintenance. More thorough writing of comments encourages the developers to review their source code more carefully, then that leads to quality improvements of those code. An empirical study is performed with 1,820 version-upgrade cases in an open-source software, Eclipse. The empirical results show that SCR tends to increase when CSD is less than 59.5%.
The paper deals with development of new catalogue specialized on design patterns. It specifies its content as a summary of extensions to well-known GoF catalogue. In the next part it focuses on representation of collected knowledge. Finally author decided to use technologies provided by Semantic Web and specifies the structure of ontology representing the content of the catalogue.
Patterns are used in different phases of software development, from analysis through architecture, from detailed design to implementation. By using patterns, some problems are identified. One of them is how to reuse parts of patterns at the source code level. This paper is concerned with design patterns especially with reusing general parts of patterns by using different techniques and technologies. We analyze different approaches based on frameworks, libraries, CASE tools and language extensions.
The goal graph is used to decompose goals in Goal Oriented Requirements Engineering. It is not clear how to validate global optimality of goal graphs. In this paper, the goal algebra is proposed to formalize goal decomposition and provide graph interpretation for the goal algebra. The proposed method can reduce redundant goals and then ensure the global optimality of goal graphs using the goal dependency.
Reference models are used to analyze and improve business processes. But it is not clear to use reference models effectively. We will propose a business process analysis method using reference model. So the decomposition checkpoints are proposed to clarify the problems in business processes. Then case studies are also presented.
Re-engineering of successful pre-OWL ontologies or other formal ER or UML system models towards OWL DL compliance opens new possibilities in ontology debugging, enabled by the formal semantics and automated reasoners developed for OWL DL. Meanwhile the transformation of legacy ontologies to OWL DL is a challenging and interesting task, which we illustrate in this paper on the example of OntoSem — a lexical common-sense ontology and an application framework for deep semantic analysis of natural language texts.
In this paper, we apply Semantic Web technologies to the creation of an improved search engine over legal and public administration documents. Conventional search strategies based on syntactic matching of tokens offer little help when the users' vocabulary and the documents' vocabulary differ. This is often the case in public administration documents. We present a semantic search tool that fills this gap using Semantic Web technologies, in particular, ontologies and controlled vocabularies, and a hybrid search approach, avoiding the expensive tagging of documents.
For users and developers to form agreements about software system development, we propose a software development method that combines agile software methodologies and knowledge sharing technologies based on business ontologies. These business ontologies enable users and developers to form agreements about system specification by using the ontologies to address three aspects of business application for local governments: legal aspects, business processes, and software design. Our method specifically examines construction of domain models based on business ontologies of the early stage of development to reduce the cost of describing specifications. To recover the completeness of specifications, we propose a Web process architecture, which enables us to transfer a domain model to a design system specification. We have implemented a full environment using JAVA language, which enables us to generate software systems from a set of work processes.
This paper presents a description of an access control list (ACL) used to conduct role-based access control (RBAC), with particular emphasis on temporal constraints using extensible markup language (XML) and Web ontology language (OWL). It is natural to use OWL for describing ACL because OWL is based on set theory. Set theory is useful in this case because RBAC maps privileges naturally to users from the viewpoint of users' functions. Comparison of XML and OWL in terms of their use as an ACL is described. A teaching management model is used to illustrate examples of these implementations.