
Ebook: New Trends in Software Methodologies, Tools and Techniques

Software is the essential enabler for the new economy and for science. It creates new markets and new directions for a more reliable, flexible and robust society. It empowers the exploration of our world in ever more depth. However, software often falls short of our expectations. Current software methodologies, tools, and techniques remain expensive and not yet reliable enough for a highly changeable and evolutionary market. Many approaches have been proven only as case-by-case oriented methods. This book, as part of the SOMET series, presents new trends and theories in the direction in which we believe software science and engineering may develop to transform the role of software and science integration in tomorrow’s global information society. This book is an attempt to capture the essence on a new state of art in software science and its supporting technology. The book also aims at identifying the challenges such a technology has to master. One of the important issues addressed by this book is software development security tools and techniques.
Software is the essential enabler for the new economy and science. It creates new markets and new directions for a more reliable, flexible, and robust society. It empowers the exploration of our world in ever more depth. However, software often falls short of our expectations. Current software methodologies, tools, and techniques remain expensive and not yet reliable enough for a highly changeable and evolutionary market. Many approaches have been proven only as case-by-case oriented methods.
This bookas part of SOMET seriescontributes on new trendstheories in the direction in which we believe software science and engineering may develop to transform the role of software and science integration in tomorrow's global information society.
This book is an attempt to capture the essence on a new state of art in software science and its supporting technology. The book also aims at identifying the challenges such a technology has to master. It contains highly extensively reviewed papers lectured at the Sixth International Conference on New Trends in Software Methodology Tools, and Techniques, V, (SoMeT_07) held in Rome (CNR), Italy, from 7 to 9 November 2007, (http://www.somet.soft.iwate-pu.ac.jp/somet_07). This conference brought together researchers and practitioners to share their original research results and practical development experiences in software science, and its related new challenging technology.
One of the important issues addressed by this book is software development security tools and techniques. Another example we challenge in this conference is intelligent software design from the human aspect and the technology aspect. This book and the series it continues will also elaborate on such new trends and related academic research studies and development.
A major goal was to gather scholars from the international research community to discuss and share research experiences on new software methodologies, and formal techniques. The book also investigates other comparable theories and practices in software science, including emerging technologies, from their computational foundations in terms of models, methodologies, and tools. These are essential for developing a variety of information systems research projects and to assess the practical impact on real-world software problems.
For an outline of the past series of related events that contributed to this publication, SoMeT_02 was held on October 3–5, 2002, in Sorbonne, Paris, France.
SoMeT_03 was held in Stockholm, Sweden, SoMeT_04 in Leipzig, Germany, SoMeT_05 in Tokyo, Japan, SoMeT_06 in Quebec, Canada, and most recently SoMeT_07 held in Rome, Italy. These events also initiate a future event to be organized in October 2008, (http://www.somet.soft.iwate-pu.ac.jp/somet_08/).
This book provides an opportunity for exchanging ideas and experiences in the field of software technology, opening up new avenues for software development, methodologies, tools, and techniques, especially, software security and program coding diagnosis and related software maintenance techniques aspects. Also, we have emphasized human centric software methodologies, end-user development techniques, and human emotional reasoning for best performance harmony between the design tool and the user.
Issues discussed are research practices, techniques and methodologies proposing and reporting solutions needed for global world business. We believe that this book creates an opportunity for us in the software science community to think about where we are today and where we are going.
The book is a collection of 33 carefully reviewed best-selected papers by the reviewing committee.
The areas covered are:
• Software engineering aspects on software security, programs diagnosis and maintenance
• Static and dynamic analysis on Lyee-oriented software performance model
• Software security aspects on Java mobile code, and networking
• Practical artefact on software security, software validation and diagnosis
• Software optimization and formal methods
• Requirement engineering and requirement elicitation
• Software methodologies and Lyee oriented software techniques
• Automatic software generation, reuse, and legacy systems
• Software quality and process assessment
• Intelligent software systems and evolution
• End-user requirement engineering and programming environment
• Ontology and philosophical aspects on software engineering
• Business software models and other kinds of software application models, based on Lyee theory
All papers published in this book have been carefully reviewed and selected by the SOMET international reviewing committee. Each paper has been reviewed by between three and six reviewers and has been revised based on the review reports. The papers were reviewed on the basis of technical soundness, relevance, originality, significance, and clarity.
This book outcome is also a collective effort from many industrial partners and colleagues from around the world. We also gratefully thank Iwate Prefectural University, especially its President Prof. Makoto Taniguchi, CNR Rome, Italy, Catena Co., SANGIKYO Co., ARISES and others for their overwhelming support of this work. We especially are thankful to the reviewing committee and others who participated in the hard effective review of all submitted papers and thanks also for the hot discussions we have had at the review evaluation meetings which selected the contributions in this book.
This outcome is another milestone in mastering new challenges in software and its new promising technology, within SoMeT's consecutive events. It also gives the reader new insights, inspiration and concrete material to elaborate and study this new technology.
Last but not least, we would like to thank and acknowledge the Microsoft Conference Management Tool team for the support it has provided on the use of Microsoft CMT System as a conference-supporting tool during all the phases of the SOMET transactions.
The Editors
Metamodels are increasingly being used in software engineering, particularly in standards from both the OMG and ISO. It is therefore critical that these metamodels be used “correctly”. In this paper, we investigate some of the pitfalls observed in the use of metamodelling ideas in software engineering and, from these observations, deduce some rules of thumb to help increase the quality of usage of metamodels in software engineering in the future.
This report details part of the results of five software audits that were done to evaluate various aspects of the quality in five very big software projects. One result of our work was a method for software quality evaluation, which is described in detail elsewhere. Another result was a review of the software engineering practices and methods that were used throughout those projects by the development companies. The paper presents a survey of these practices and tries to answer the question which software development paradigms, processes and methods are used in the software industry and which of them can contribute to the final success of the project more than the others.
This paper presents the Use Case, Responsibility Driven Analysis and Design methodology, URDAD. URDAD aims to provide a simple algorithmic design methodology which generates a technology neutral business process design in the context of model driven development. The design methodology has been formulated in such a way that it includes core drivers for widely accepted requirements for good design.
With the rapid growth in the development of sophisticated modern software, the complexity of the software has increased enormously, posing an urgent need for the automation of the more time-consuming structure designing. In this paper, we proposed SDGP which is an automatic generating method of software structure designing based on the graph planning technique. The method has properties of self-adaptation, finite terminating and complete.
The increasing prevalence of service-oriented architecture (SOA) has introduced another layer of abstraction (service-oriented) on top of already well-known object-oriented and component-oriented layers of abstractions. However, it has been found that the current traditional phase-based approach towards the development of SOA-based applications, contrarily, lacks agility, which mitigates against the needed ability to quickly respond to changes in business processes. Therefore, here, we suggest an agile approach to implement a flexible SOA. This paper, based on our industrial experience and case studies, presents the agile service-oriented process (ASOP) that had been constructed by using the agile software solution framework (ASSF), agile toolkit (ATK), situational method engineering (SME) and agile adoption and improvement model (AAIM) for the development of one of our industry (case study) service-oriented e-health project.
The knowledge preservation of design project is an important issue for high technological industry. A general framework for managing knowledge pertaining to design projects is proposed. The objective is to allow preserving relevant information to be used later, thanks to a product design project memory. We introduce a generic platform-independent model that fits requirements of project memory management; this platform is based on UML generic models. We describe the original implementation over object-relational technology in a multi-tier architecture; model transformation based on Model Driven Architecture (MDA) is developed. We present some ontology concepts, three mechanisms for exportation database under Oracle to platform dedicated for representation and exploitation Knowledge, Protégé platform. Finally, we discuss the benefits of ontology engineering for Project Memory management.
The paper is devoted to the discussion on the problem of provision of the content-based access to scientific information resources. We suggest solving this problem by means of creation of specialized topic-oriented Internet portals. The information basis of such portals is an ontology that supports integration of information resources relevant to the subject domain of a portal into a uniform information space and provides formulation of user queries in terms of the subject domain and knowledge-driven navigation through the information space of the portal.
The paper reviews developments in the implications of software programming in art practice whilst pointing to a recognition of the art in programming. The concerns in software-based art are significantly more conceptual than was often the case before. Following the Russian constructivist artists, the software artist is more concerned with the plan for making the work than for conventional rules of composition. The paper reviews a history of the author's use of various software representations in his art practice and proposes that art is all the richer for embracing software but, in so doing, the challenge to the artist is to be at least as deeply involved in software as in any other aspect of their practice.
In this paper, I discuss basic elements of the biolinguistic approach to language and language processing. First, I provide evidence that linguistic expressions have hierarchical structure where asymmetric relations hold. Second, I relate biolinguistics to language processing, and I discuss central aspects of natural language processing based on the properties of natural languages. Third, I identify some connections between biology, language, and information processing.
The paper reports on our experience to in adapting emotional experiences of the software engineers in evolutionary design of software systems. The works here reported present development progress report in relation to the state-of art that need to create the multidisciplinary technologies, needed to establish best harmony engagement between human user the software application, based on human cognitive analysis. We approach the user best engagement from facial and voice analysis. And through it, we can measure (collectivized and quantified), and observe the user behavior, and accordingly enhance the engagement by generative interactive scenario. The approach has been experimented using famous literature person (Keni Miyazawa).
This paper describes practice-based research using an interactive gestural film game To be or not to be, to study the relationship between performed gestures and emotional response. The work is the result of a collaboration between an intermedia artist (first author), and a programmer / designer. The content of the interactive film game is based on lines from Act 3 scene i from Shakespeare's play Hamlet. Attention is given first to the original design method based on gestural expression in theatre using the key techniques of text, rehearsal and performance. A primary design goal was to construct an interface where coherent and continuous gestural and emotional interaction occurred. This is followed by observation and evaluation of audience / user interaction with the work (collaboration with second author) establishing research criteria to evaluate performed gestures and emotional responses of the audience.
Computer systems security management can be largely improved by the installation of mechanisms for automatic discovery of complex attacks due to system vulnerabilities and middleware misconfigurations. The aim of this paper is to propose a new formal technique for modeling computer system vulnerabilities and automatic generation of attack scenarios exploiting these vulnerabilities.
The main issue of this paper is to propose a formal technique allowing to automatically configure a given network so that it will respect a given security policy. In other words, given a computer network N and a security policy Φ, we introduce a formal technique that automatically produce another network N′ such that N′
Software development in general lacks richness in expressing appropriately the requirement, as well related supportive tools. Despite the advances in this field, the solutions have still not overcome and the proposed way of thinking is far from resolving the problems on software development and maintenance. Recently, a new promising methodology, called Lyee, has been proposed. It aims to generate programs automatically from user requirement. Program structure in terms of Lyee was formalized. However, when requirement and operation are not correct, Lyee program may not perform correctly. Especially, when requirements are reactive type, the validation mechanism have not proposed yet to show correctness or appropriateness of the running requirement. For this purpose, in this paper, the structure of Lyee program with multi SF is linked to process model. The properties that requirement and operation should have are described as a proposition in terms of temporal logic and are verified by such logic. Fairness property of excursion of program is used. New verification of reactive requirement for Lyee Method puts together as a design rule.
Model checking is a formal technique used to verify communication protocols against given properties. In this paper, we address the problem of verifying systems designed as a set of autonomous interacting agents using such a technique. These software agents are equipped with knowledge and beliefs and interact with each other according to protocols governed by a set of logical rules. We present a tableau-based model checking algorithm for these systems and provide the termination and complexity results.
Based on the experience in the e-commerce domain, we propose a concept for the development of higher-level transformation languages. Transformation is a key factor in this domain as the market requires a fast reaction to frequent changes in the interfaces and exchange data. Moreover, a typical e-commerce system is divided into different services which are offered and hosted by different vendors which results in a complex integration problem.
Our proposed solution is based on the operator hierarchy concept which allows to define transformation operator hierarchies containing different levels of transformation operators. The concrete realization of such a higher-level transformation language construction is demonstrated by an application of the XML operator hierarchy concept to the transformation language XSLT. XSLT serves as an example which is employed to provide the elementary transformation operators. On top of these elementary operators the layered concept allows the definition of new higher-level operators, e.g. domain-independent and domain-specific ones. The construction of the higher-level language XML2DSV is presented, for instance. This is a stand-alone domain-specific transformation language, which creates delimeter-separated values (DSV) files from XML documents, on the base of XSLT.
This work aims to investigate conditions under which program analysis can be viewed as algebraically solving equations involving terms of subclasses of Kleene algebras and variables. In this paper, we show how to solve a kind of linear equations in which the variables appear only on one side of the equality sign, over an idempotent semiring with identity and zero. Furthermore, we give some ideas showing how to extend the resolution method to other classes of equations and algebraic structures.
The following paper describes a framework for a software engineering process evaluation based on source code changes. The main aspect is to collect the complete source code during every compile step. A detailed analysis of each change of the source code allows a categorization of the type of change. This can be regarded as atomic actions containing especially the problems that occurred during the development. Initial results collected during a software experiment are analyzed and five hypothesis are discussed.