Ebook: New Trends in Software Methodologies, Tools and Techniques
Software has become an essential enabler for science and the economy. Not only does it create new markets and the possibility of a more reliable, flexible and robust society, it also empowers our exploration of the world in ever increasing depth. However software often falls short of our expectations, with current methodologies, tools and techniques remaining insufficiently robust and reliable for constantly changing and evolving needs.
This book presents papers from the 15th International Conference on New Trends in Intelligent Software Methodology Tools and Techniques (SoMeT 16), held in Larnaca, Cyprus, in September 2016. The SoMeT conference focuses on exploring the innovations, controversies and challenges facing the software engineering community, bringing together theory and experience to propose and evaluate solutions to software engineering problems with an emphasis on human-centric software methodologies, end-user development techniques, and emotional reasoning, for an optimally harmonized performance between the design tool and the user. The book is divided into six chapters covering the following areas: decision support systems; software methodologies and tools; requirement engineering; software for biomedicine and bioinformatics; software engineering models, and formal techniques for software representation; and intelligent software development and social networking.
The book explores new trends and theories which illuminate the direction of developments in the field, and will be of interest to all in the software science community.
Software is the essential enabler for science and the new economy. 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 not robust and neither sufficiently reliable for a constantly changing and evolving market, and many promising approaches have proved to be no more than case-by-case oriented methods that are not fully automated.
This book explores new trends and theories which illuminate the direction of developments in this field development which we believe will lead to a transformation of the role of software and science integration in tomorrow's global information society.
By discussing issues ranging from research practices and techniques and methodologies, to proposing and reporting solutions needed for global world business, it offers an opportunity for the software science community to think about where we are today and where we are going.
The book aims to capture the essence of a new state of the art in software science and its supporting technology, and to identify the challenges that such a technology will have to master. It contains extensively reviewed papers presented at the 15th International Conference on New Trends in Intelligent Software Methodology Tools, and Techniques, (SoMeT_16) held in Cyprus, with the collaboration of University of Cyprus", from September 13–15, 2016 (http://www.cyprusconferences.org/somet2016/). This round of SoMeT_16 is celebrating the 15th anniversary. SoMeT
Previous related events that contributed to this publication are: SoMeT_02 (the Sorbonne, Paris, 2002); SoMeT_03 (Stockholm, Sweden, 2003); SoMeT_04 (Leipzig, Germany, 2004); SoMeT_05 (Tokyo, Japan, 2005); SoMeT_06 (Quebec, Canada, 2006); SoMeT_07 (Rome, Italy, 2007); SoMeT_08 (Sharjah, UAE, 2008); SoMeT_09 (Prague, Czech Republic, 2009); SoMeT_10 (Yokohama, Japan, 2010), and SoMeT_11 (Saint Petersburg, Russia), SoMeT_12 (Genoa, Italy), SoMeT_13 (Budapest, Hungary), SoMeT_14 (Langkawi, Malaysia), SoMeT_15 (Naples, Italy).
This conference brought together researchers and practitioners to share their original research results and practical development experience in software science and related new technologies.
This volume participates in the conference and the SoMeT series of which it forms a part, by providing 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 with regard to intelligent software by applying artificial intelligence techniques in Software Development, and tackling human interaction in the development process for better high level interface. The emphasis has been placed on human-centric software methodologies, end-user development techniques, and emotional reasoning, for an optimally harmonized performance between the design tool and the user.
The word “intelligent” on the SOMET emphasizes the need for applying artificial intelligence issues of software design for systems application for example in disaster recoveryother system supporting civil protectionother inquire human intelligence as requirement in system engineering.
A major goal of this work was to assemble the work of scholars from the international research community to discussshare research experiences of new software methodologiestechniques. One of the important issues addressed is the handling of cognitive issues in software development to adapt it to the user's mental state. Toolstechniques related to this aspect form part of the contribution to this book. Another subject raised at the conference was intelligent software design in software ontologyconceptual software design in practice human centric information system application.
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. This is essential for a comprehensive overview of information systems and research projects, and to assess their practical impact on real-world software problems. This represents another milestone in mastering the new challenges of software and its promising technology, addressed by the SoMeT conferences, and provides the reader with new insights, inspiration and concrete material to further the study of this new technology.
The book is a collection of carefully selected refereed papers by the reviewing committee and covering (but not limited):
1) Software engineering aspects of software security programmes, diagnosis and maintenance
2) Static and dynamic analysis of software performance models
3) Software security aspects and networking
4) Agile software and lean methods
5) Practical artefacts of software security, software validation and diagnosis
6) Software optimization and formal methods
7) Requirement engineering and requirement elicitation
8) Software methodologies and related techniques
9) Automatic software generation, re-coding and legacy systems
10) Software quality and process assessment
11) Intelligent software systems design and evolution
12) Artificial Intelligence Techniques on Software Engineering, and Requirement Engineering
13) End-user requirement engineering, programming environment for Web applications
14) Ontology, cognitive models and philosophical aspects on software design,
15) Business oriented software application models,
16) Emergency Management Informatics, software methods and application for supporting Civil Protection, First Response and Disaster Recovery
17) Model Driven Development (DVD), code centric to model centric software engineering
18) Cognitive Software and human behavioural analysis in software design.
We have received 72 submissions and among it we have selected 31 best quality revised articles published in this book. Referees in the program committee have carefully reviewed all these submissions, and on the basis of technical soundness, relevance, originality, significance, and clarity, all these 31 papers were selected. They were then revised on the basis of the review reports before being selected by the SoMeT_16 international reviewing committee. It is worth to state that there were three to four reviewers for each paper published in this book.
The book is categorized into 6 Chapters classified based on paper topics and its relevance to each chapter related theme.
Chapter 1 “Decision Support System techniques and methods”
Chapter 2 “Software methodologies and tools for robust, reliable, non-fragile software design”
Chapter 3 “Requirement engineering”
Chapter 4 “Software methods and application for biomedicine and bioinformatics”
Chapter 5 “Software Engineering models, and formal techniques for software representation”
Chapter 6 “Intelligent software development and Social Networking”
This book is the result of a collective effort from many industrial partners and colleagues throughout the world. In special we would like acknowledge our gratitude to University of Cyprus, Iwate Prefectural University, and all authors who have contributed their invaluable support to this work. Most especially, we thank the reviewing committee and all those who participated in the rigorous reviewing process and the lively discussion and evaluation meetings which led to the selected papers which appear in this book. Last and not least, we would also like to thank the Microsoft Conference Management Tool team for their expert guidance on the use of the Microsoft CMT System as a conference-support tool during all the phases of SoMeT_16.
The editors
Hamido Fujita
George Angelos Papadopoulos
In classic decision theory, it is assumed that a decision-maker can assign precise numerical values corresponding to the true value of each consequence, as well as precise numerical probabilities for their occurrences. However, in real-life situations, the ordering of alternatives from most to least preferred is often a delicate matter and an adequate mathematical representation is crucial. In attempting to address real-life problems, where uncertainty about data prevails, some kind of representation of imprecise information is important and several have been proposed. However, general methods have turned out to be insufficient and we demonstrate in this article that there is not one set of coding techniques that result in the best performing software for decision analysis.
The number of devices which use Bluetooth low-energy (BLE) technology is increasing rapidly. Although the cost of the BLE components is decreasing, the installation costs remain high. When many BLE devices are installed, determination of the locations for installation, referred to as the configuration, becomes complicated and labor intensive.
In this research, we investigate computational methods for configuring BLE devices in a given region. We propose a computation method using k-means method and present numerical results. We then evaluate the proposed method in terms of the number of generation points and the number of BLE devices to be installed. We also introduce a measure for the configuration.
The demand for and the number of software product offers are evolving rapidly. Despite the importance of the software industry, its representation within current classification systems is often obstructed. Therefore, researchers often neglect the variety of software products within their work. Using a systematic approach, we develop an industry classification for the software product industry. The empirical-to-conceptual approach allows us to establish concepts that are dominant in practice. As a result, we derive three major sectors, i.e. business function software, industrial software and consumer software. Experts from the software industry are interviewed to evaluate the results. The suggested industry classification helps practitioners to communicate clearly, identify competitors and possible innovations within the software product industry. The classification helps scholars to improve theory building.
Latest development in model based engineering methods and modeling environments placed one of the main emphases on representation of multidisciplinary product system. For that reason, discipline specific modeling procedures and model representations are being integrated. One of the largest software applications was emerged concentrating product engineering related problem solving and applying most advanced software engineering methodology. As contribution to research in this area, this paper introduces new approach to intellectual content driven context structure for driving generation process for elements of requirements, functional, logical, and physical (RFLP) structured generic engineering model. The formerly developed initiative, behavior, con-text, and action (IBCA) driving content structure and its processing procedures were revised and extended for this purpose. The new approach supposes R, F, L, and P levels in engineering model, intellectual property (IP) type knowledge accumulation and reuse, and virtually executable structure of global product level contextual simulations. Industrial engineering system is required as implementation environment which is able to organize and manage engineering models for lifecycle of product. This paper starts with discussion of relevant structural elements and features of engineering model which can accommodate the proposed approach based engineering model components. Following this, need for the proposed extended and restructured IBCA structure and the new approach to content based driving of contextual engineering model elements (components) are explained. Rest of paper introduces issues about the new IBCA content structure and concept considering its implementation in industrial product engineering environment.
The authors developed a system for collecting and analyzing photo and check-in data to represent location data in a heat map. In addition, the authors classified traveler profiles and analyzed their data for display as a heat map for each classification. To verify whether the findings would be consistent with actual travelers' intentions, a questionnaire was carried out for people living in Iwate Prefecture, Japan. This paper compares the results of the data collected by the system with the actual intentions of travelers as obtained from the questionnaire. It is confirmed that check-in data for women and young people correspond closely with the intentions of travelers revealed by the questionnaire.
This paper reports results from an independent observational study of an automotive software development research project. The study is carried out as a monitoring activity of the project, which is inexpensive but still representative of real automotive software development cases, thus providing the basis for more rigorous studies. The objective is to take initial steps to improve our understanding of architectural decision-making in the development of software in the automotive domain. The key findings summarize issues surfacing during the development process related to the problem articulation and formulation, the impact of participant experience, the definition of requirements, the decision process, and the effect of the decisions made on the system architecture evolution. The paper offers some insights that can be useful to gain understanding of how decisions are typically made in real settings, i.e., based on gut-feeling, which is important when designing decision support systems for architectural design decisions.
This paper presents RMPI-SerComp that offers enhanced integration support into service composition frameworks for RMPI, a recent model-based software reliability prediction technique. Our approach enables service composition frameworks to achieve a systematic consideration of service reliability during composing, without the need for any specialist knowledge of the underlying prediction method. Via a case study, we validate the applicability of our approach by utilizing RMPI-SerComp to integrate the reliability prediction capability into a service composition framework.
Testing is a crucial activity to maintain high quality standards and achieve long-lasting economic success. However, integrating voice control into apps prevents the use of test automation tools. Testing speech-based interaction is still manual work: repetitive, time-consuming, and error-prone. Consequently, a need for specialized software engineering methods exists. We present an approach to test automation for speech-based applications by integrating an audio injection test interface into the Android operating system. Our approach enables developers to integrate voice control into automatically executed user acceptance tests using the Calabash test automation framework.
This paper deals with reconfigurable wireless sensor networks (RWSN) in which a reconfiguration scenario is assumed to be any run-time adaptation of the software execution according to user requirements. We present a Reconfigurable Wireless Network Environment (RWiN-Environment) which is a visual tool allowing for designers to develop RWSN by starting from the initial specification and modeling of the architecture, then the required formal verification based on UPPAAL to verify temporal and functional properties described in user requirements. RWiN-Environment allows also the software design as well as the constraints validation by using an extension of OCL for optimization. The last step in the development process deals with the code generation and also the final deployment on STM32F4-based WSN. The developed tool is applied to a simulated case study in order to control an irrigation system in the agriculture domain.
Researchers working with software repositories, often when building performance or quality models, need to recover traceability links between bug reports in issue tracking repositories and reviews in code review systems. However, very often the information stored in bug tracking repositories is not explicitly tagged or linked to the issues reviewing them. Researchers have to adopt various heuristics to tag the data. These includes, for example, identifying if an issue is a bug report or not. In this study we promote a research artifact in software engineering, a reusable unit of research that can be used to support other research endeavors and has acted as a support material that enabled the creation of the results published in a great number of papers until now – linking issues and reviews of the code review software process. We present two state-of-the-practice algorithms on how to link issues and reviews, selecting as our case study the open source cloud computing project of OpenStack. OpenStack enforces strict development guidelines and rules on the quality of the data in its issue tracking repository. We empirically compare the outcome of the two approaches, highlighting the most prominent one.
A socio-technical system (STS) consists of many different actors such as people, organizations, software applications and infrastructures. We call actors except both people and organizations machines. Machines should be carefully introduced into the STS because the machines are beneficial to some people or organization but harmful to others. We thus propose a goal-oriented requirements modelling language called GDMA based on i* so that machines with the following characteristics can be systematically specified. First, machines make the goals of each people be achieved more and better than ever. Second, machines make people achieve goals fewer and easier than ever. We also propose analysis techniques of GDMA to judge whether or not the introduction of machines are appropriate or not. Several machines are introduced into an as-is model of GDMA locally with the help of model transformation techniques. Then, such an introduction is evaluated globally on the basis of metrics derived from the model structure. We confirmed that GDMA could evaluate the successful and failure of existing projects.
Variability models play a key role in software product line engineering as they are used to represent the common and variable features that products may include, and what constraints among the features must be satisfied to guarantee the validity of the products. Valuable analysis operations on variability models can be performed by black box reusing logic engines, such as SAT-solvers and binary decision diagram libraries. Unfortunately, such kind of reuse implies long computation times for operations that need calling the engines many times. To overcome this problem, we propose new algorithms that directly deal with the data structure of a binary decision diagram encoding a variability model. In particular, our algorithms are specifically designed to detect core & dead features, and the impact & exclusion sets of every feature.
An information system can store personal information of its primary users such as shopping histories, and some third party wants or happens to know such information. Because the system usually provides its privacy policy and its users have to give their consent to it, they sometimes have to partially give up the protection of their privacy. On the other hand, a chance of a third party to know such information is too limited if the policy is too defensive. We proposed a method to explore trade-offs between protection of such information and access permissions for a third party, and exemplified it. In this method, operation logs of a system are focused. The structure of each log is then modelled for analysing what kinds of information can be accessed by a third party. Access limitations of each third party are explored so as to balance the protection of privacy information against access right of third parties.
This paper highlights our research towards development of a quadcopter to deliver postal mails and confidential letters from source to destination. The system consists of Unmanned Aerial Unit, Control System, Control Link and other Support equipment. The Unmanned Aerial Unit is controlled by the Control System which communicates with the Ground Control Station (GCS) via a control link that is Micro Air Vehicle (MAV) link. A GCS is a software application that communicates with the quadcopter via radio telemetry. The basic flight of the quadcopter all depends on the motor speed and direction. Motor speed is controlled by the Pulse Width Modulation (PWM) signal by changing the duty cycle as required. Inertial sensors are sensors that work on the principle of inertia. The inertial measurement unit consists of Accelerometer, magnetometer and gyroscope. These sensors are placed on the quadcopter to acquire current position and orientation along with a roll, yaw and pitch positions. The Ultrasonic sensor is also used in order to detect any obstacles in the desired path of the fly. As a result, the software application at the GCS will have a panel which will display all the information related to the quadcopter system. Global Positioning System (GPS) is used in order to decide the coordinates or the waypoints from source to destination. As a final product, the quadcopter flies autonomously from source to destination tracing the path all by itself using the GPS module placed on it. Another option of controlling the quadcopter by remote control is also possible.
The aim of this paper is to empirically evaluate a framework that we have developed on the use of the software quality standard ISO 9126 with the Differentiated Services (DiffServ) Quality of Service (QoS) model to assess the software quality of mobile applications, especially the software usability characteristic. To do that, firstly we have carried out an empirical evaluation of the influence of mobile limitations on Diffserv classes by means of the Sensorly tool. Thereafter, a correlation between the influence of mobile limitations on DiffServ classes and its effects on usability characteristic is discussed. As a result of this empirical study, the usability is less correlated with Diffserv classes in terms of influence of mobile limitations given that this characteristic corresponds to the presentation layer unlike the Diffserv model which would focus on the network level quality.
As a matter of fact, an Intensive Care Unit (ICU) stands for a hospital facility where patients require close observation and monitoring. Indeed, predicting Length-of-Stay (LoS) at ICUs is essential not only to provide them with improved Quality-of-Care, but also to help the hospital management to cope with hospital resources. Therefore, in this work one‘s aim is to present an Artificial Intelligence based Decision Support System to assist on the prediction of LoS at ICUs, which will be centered on a formal framework based on a Logic Programming acquaintance for knowledge representation and reasoning, complemented with a Case Based approach to computing, and able to handle unknown, incomplete, or even contradictory data, information or knowledge.
In this work, we propose, discuss, analyze and compare the results for a new EEG signal compressed sensed method. The EEG signal is recorded during a P300 based spelling experiment. The decompressed EEG signal is analyzed both in terms of decompression errors and spelling accuracy. The proposed method is based on building a universal mega-dictionary. Patient specific and inter-patient dependencies are analyzed and it is noticed that the results are not dependent on the patient.
Application lifecycle management (ALM) systems, used to support software development processes, can be composed from various components depending on the need of company. In this paper we focus on benefits of establishment of cross-tool interoperability with specific regard to heterogeneous platforms. We discuss how the different components can be connected for systemic tool collaboration with the help of Open Services for Lifecycle Collaboration (OSLC). This helps to improve traceability and consistency. Furthermore, workflow can be generated to correct the traceability gaps, consistency problems and even to implement modifications. Moreover, we present how the workload of developers can be decreased by integrating revision control system and development environment with the existing ALM system.
Assistive Technologies devices and systems aim to improve the quality of life of people with disabilities by providing a wide range of assistive services. The AsTeRICS framework provides a Runtime Environment and a toolset that can be highly adapted to the changing needs of each individual and targets to reduce time, effort and costs of developing assistive applications. A key limitation of the platform, as well as similar platforms, is that the integration of accessibility features into existing software applications is difficult due to heterogeneous implementation technologies. Moreover, the capabilities offered by sensors, actuators and other mobile devices deployed on different machines cannot be exploited for the development of AT applications. This paper presents substantial improvements and changes to the Runtime Environment that address these issues and offer the capability to integrate applications built with different technologies and thus to improve the accessibility of an application. In fact, the middleware environment enables to rapidly re-engineer existing software applications. Two examples are re-developed in this work, the “FlashWords” and “EURO” applications, which are extended in a way so that they can also be used by children with motor disabilities.