| Title: | BRIDGING BETWEEN MIDDLEWARE SYSTEMS: OPTIMISATIONS USING DOWNLOADABLE CODE |
Author(s): | Jan Newmarch |
| Abstract: | There are multiple middleware systems and no single system is likely to become predominant. There is therefore an interoperability requirement between clients and services belonging to different middleware systems. Typically this is done by a bridge between invocation and discovery protocols. In this paper we introduce three design patterns based on a bridging service cache manager and dynamic proxies. This is illustrated by examples including a new custom lookup service which allows Jini clients to discover and invoke UPnP services. There is a detailed discussion of the pros and cons of each pattern.
|
| Title: | DEVELOPING A CONFIGURATION MANAGEMENT MODEL FOR USE IN THE MEDICAL DEVICE INDUSTRY |
Author(s): | Fergal McCaffery, Rory O’Connor and Gerry Coleman |
| Abstract: | This paper outlines the development of a Configuration Management model for the MEDical device software industry (CMMED). The paper details how medical device regulations associated with Configuration Management (CM) may be satisfied by adopting less than half of the practices from the CM process area of the Capability Maturity Model Integration (CMMI). It also investigates how the CMMI CM process area may be extended with additional practices that are outside the remit of the CMMI, but are required in order to satisfy medical device regulatory guidelines. |
| Title: | ENGINEERING A COMPONENT LANGUAGE: COMPJAVA |
Author(s): | Hans Albrecht Schmid and Marco Pfeifer |
| Abstract: | After first great enthousiasm about the new generation of component languages like ArchJava, ComponentJ and ACOEL, a closer inspection and use of these languages identified together with their strong points some smaller, but disturbing drawbacks that are listed in the paper. It would be harmful if those fine languages which complement OO-languages in a perfect way would not find a wide acceptance due to these drawbacks.Therefore, we took an engineering approach to the construction of a new Java-based component language without those drawbacks. That means, we derived general component language requirements from those drawbacks, designed a first language version meeting the requirements, used it in projects and re-iterated three times through the same cycle with improved language versions. The result, called CompJava, which should be fairly stable by now, is presented in the paper. |
| Title: | MDE FOR BPM - A Systematic Review |
Author(s): | Jose Manuel Perez, Francisco Ruiz and Mario Piattini |
| Abstract: | Due to the rapid change in the business processes of organizations, business process management (BPM) has come into being. Although BPM helps business analysts to manage all concerns related to business processes, this is not enough. The organization’s value chain changes very rapidly; to modify simultaneously the systems that support the business management process is impossible. MDE (Model Driven Engineering) is a good support for transferring these business process changes to the systems that implement these processes. Thus, by using any MDE approach, such as MDA, the alignment between business people and software engineering should be improved. To discover the different proposals that exist in this area, a systematic review was performed. As a result, the OMG’s metamodel of business process definition (BPDM) has been identified as the standard that will be the key for the application of MDA for BPM. |
| Title: | USING PRE-REQUIREMENTS TRACING TO INVESTIGATE REQUIREMENTS BASED ON TACIT KNOWLEDGE |
Author(s): | Andrew Stone and Pete Sawyer |
| Abstract: | Pre-requirements specification tracing concerns the identification and maintenance of relationships between requirements and the knowledge and information used by analysts to inform the requirements' formulation. However, such tracing is often not performed as it is a time-consuming process. This paper presents a tool for retrospectively identifying pre-requirements traces by working backwards from requirements to the documented records of the elicitation process such as interview transcripts or ethnographic reports. We present a preliminary evaluation of our tool’s performance using a case study. One of the key goals of our work is to identify requirements that have weak relationships with the source material. There are many possible reasons for this, but one is that they embody tacit knowledge. Although we do not investigate the nature of tacit knowledge in RE we believe that even helping to identify the probable presence of tacit knowledge is useful. This is particularly true for circumstances when requirements' sources need to be understood during, for example, the handling of change requests.
|
| Title: | GENERIC FEATURE MODULES: TWO-STAGED PROGRAM CUSTOMIZATION |
Author(s): | Sven Apel, Martin Kuhlemann and Thomas Leich |
| Abstract: | With feature-oriented programming (FOP) and generics programmers have probate means for structuring software so that its elements can be reused and extended. This paper addresses the issue if both approaches are equivalent. While FOP targets at large-scale building blocks and compositional programming, generics provide fine-grained customization at type-level. We contribute an analysis that reveals the individual capabilities of both approaches with respect to program customization. Therefrom, we extract guidelines for programmers in what situations which approach performs well. Furthermore, we present a fully implemented language proposal that integrates FOP and generics in order to combine their strengths. Our approach facilitates two-dimensional program customization: (1) selecting sets of features, (2) parameterizing features subsequently. This allows a broader spectrum of code reuse to be covered, reflected by proper language level mechanisms. We underpin our proposal by a applying our proposal to a non-trivial case study. |
| Title: | A DETECTION METHOD OF FEATURE INTERACTIONS FOR TELECOMMUNICATION SERVICES USING NEW EXECUTION MODEL |
Author(s): | Sachiko Kawada, Masayuki Shimokura and Tadashi Ohta |
| Abstract: | A service, which behaves normally, behaves differently when initiated with another service. This undesirable behavior is called a feature interaction. In investigating the international benchmark for detecting interactions in telecommunication services, it was found that many interactions that do not actually occur (which are called “seeming interactions” in this paper) were miss-detected. The reason for miss-detection of seeming interactions is that interactions were detected using a state transition model which does not properly represent a process flow in a real system. Since seeming interactions cause increase of the time for solving interactions, it is an important issue to avoid miss-detections. In this paper, to avoid miss-detection of seeming interactions, a new detection method of interactions based on a new specification execution model which properly reflects a process flow in a real system is proposed. |
| Title: | USING LINGUISTIC PATTERNS FOR IMPROVING REQUIREMENTS SPECIFICATION |
Author(s): | Carlos Videira, David Ferreira and Alberto Rodrigues da Silva |
| Abstract: | Despite the efforts made to overcome the problems associated with the development of information systems, we must consider that it is still an immature activity, with negative consequences in time, budget and quality. One of the root causes for this situation is the fact that many projects do not follow a structured, standard and systematic approach, like the methodologies and best practices proposed by Software Engineering. In this paper, we describe how linguistic patterns can be used to improve the quality of requirements specifications, using them as the basis for a new requirements specification language, called ProjectIT-RSL. To guarantee the consistency of the written requirements and the integration with generative programming tools, the requirements are analysed by parsing tools, and immediately validated according with the syntactic and semantic rules of the language. |
| Title: | ADVANCES ON TESTING SAFETY-CRITICAL SOFTWARE - Goal-driven Approach, Prototype-tool and Comparative Evaluation |
Author(s): | Guido Pennella, Christian Di Biagio, Gianfranco Pesce and Giovanni Cantone |
| Abstract: | The reference company for this paper – a multination organization, Italian branch, which works in the domain of safety-critical systems - evaluated the major tools that the market provides for testing safety-critical software, as not sufficiently featured for her quality improvement goals. Consequently, in order to investigate the space of possible solutions, if any, the company’s Research Lab. started an academic cooperation, which leaded to share knowledge and eventually to establish a common research team. Once that we had transformed those goals in detailed technical requirements, and evaluated that it was possible to realize them conveniently in a tool, we passed to analyze, construct, and eventually utilize in field the prototype “Software Test Framework”. This tool allows non-intrusive measurements on different hard-soft targets of a distributed system running under one or more Unix standard OS, e.g. LynxOS, AIX, Solaris, and Linux. The tool acquires and graphically displays the real-time flow of data, so enabling users to verify and validate software products, and quickly diagnose and resolve emerging performance problems. This paper reports on the characteristics of Software Test Framework, its architecture, and results from a case study. Based on comparison of results with previous tools, we can say that Software Test Framework is leading to a new concept of tool for the domain of safety critical software. |
| Title: | AN APPLICATION OF THE 5-S ACTIVITY THEORETIC REQUIREMENTS METHOD |
Author(s): | Robert B. K. Brown, Peter Hyland and Ian C. Piper |
| Abstract: | Requirements analysis in highly interactive systems necessarily involves eliciting and analysing informal and complex stakeholder utterances. We investigate in ACtivity Theory may provide a useful basis for a new method.
Preliminary results indicate that Activity Theory may cope well with problems of this kind, and may indeed offer some improvements. |
| Title: | LEARNING EFFECTIVE TEST DRIVEN DEVELOPMENT - Software Development Projects in an Energy Company |
Author(s): | Wing Kum Amy Law |
| Abstract: | The tests needed to prove, verify, and validate a software application are determined before the software application is developed. This is the essence of test driven development, an agile practice built upon sound software engineering principles. When applied effectively, this practice can have many benefits. The question becomes how to effectively adopt test driven development. This paper describes the experiences and lessons learned by two teams who adopted test driven development methodology for software systems developed at TransCanada. The overall success of test driven methodology is contingent upon the following key factors: experienced team champion, well-defined test scope, supportive database environment, repeatable software design pattern, and complementary manual testing. All of these factors and the appropriate test regime will lead to a better chance of success in a test driven development project. |
| Title: | WEB METRICS SELECTION THROUGH A PRACTITIONERS’ SURVEY |
Author(s): | Julian Ruiz, Coral Calero and Mario Piattini |
| Abstract: | There are a lot of web metrics proposals. However, most previous work does not include their practical application. The risk of doing so, is to limit all the effort made just to an academic exercise. In order to eliminate this gap as well as to be able to apply the work developed, it is necessary to involve the different stakeholders related to web technologies as an essential part of web metrics definition. So, it is crucial to know the perception they have about web metrics, especially those related to the development and maintenance of web sites and applications. In this paper, we present the work we have done to find out which web metrics are considered useful by web developers and maintainers. This study has been performed on the basis of the 385 web metrics classified in WQM, a Web Quality Model defined in a previous work, using as validation tool, a survey made by professionals of web technologies. As a result, we have found out that the most weighted metrics were related to usability. That means that web professionals give more importance to the user of metrics than to their own effort. |
| Title: | BUILDING MAINTENANCE CHARTS AND EARLY WARNING ABOUT SCHEDULING PROBLEMS IN SOFTWARE PROJECTS |
Author(s): | Sergiu Gordea and Markus Zanker |
| Abstract: | Imprecise effort estimations are a well known problem of software project management that frequently conducts
to the setting of unrealistic deadlines. The estimations are even less precise when the development of
new product releases is mixed with the maintenance of older versions of the system. Software engineering
measurement should assess the development process and discover problems occurring into it. However, there
are evidences indicating a low success rate of measurement programs mainly because they are not able to extract
knowledge and present it in a form easy understandable for developers and managers. They are also not
able to suggest corrective actions basing on the collected metric data. In this paper we propose an approach for
classifying time efforts into maintenance categories, and we propose the usage of maintenance charts for controlling
the development process and warning about scheduling problems. Identifying scheduling problems as
soon as possible will allow managers to plan effective corrective actions for coping with the planed releasing
deadlines. |
| Title: | A FRAMEWORK FOR THE DEVELOPMENT OF MONITORING SYSTEMS SOFTWARE |
Author(s): | Ildefonso Martínez-Marchena, Llanos Mora-López and Mariano Sidrach de Cardona |
| Abstract: | This paper describes a framework for the development of software
for monitoring installations. Usually, the monitoring of systems
is done by building a program for each installation, with no use
of previously developed programs or has been done by using SCADA
programs (Supervisory Control And Data Acquisition), although
these tools are basically for controlling not only for monitoring
-but taking into account the small complexity of these type of
installation the use of a SCADA program is not justified. The
proposed framework solves the monitoring of a installation in a
easy way. In this framework the generation of a monitoring program
consists of three well established phases. The first step is to
model the system or installation using a set of generic
description rules and the XML language. The second step is to
describe the communications among the different devices. To do
this, we have used the OPC technology (OLE for process control).
With OPC we have established an abstraction layer that makes it
possible to communicate any devices in a generic way. We have
built an OPC server for each device which does not depend on the
type of device. In the third step, it is defined the way in which
the monitored data will be stored and displayed. The framework
also incorporates modules that allow us to store and visualize all
the data obtained from the different devices. We have used the
proposed framework to build complete applications for monitoring
two different solar energy installations. |
| Title: | TOWARDS A LANGUAGE INDEPENDENT REFACTORING FRAMEWORK |
Author(s): | Carlos López, Raúl Marticorena, Yania Crespo and Francisco Javier Pérez |
| Abstract: | Using metamodels to keep source code information is one of the current trends in refactoring tools. This representation makes possible to detect refactoring opportunities through metrics and heuristics, and to execute refactorings on metamodel instances. This paper describes an approach to language independent reuse in metamodel based refactoring detection and execution. We use an experimental metamodel, MOON, and analyze the problems of migrating from MOON to UML 2.0 metamodel or adapting from UML 2.0 to MOON. Some code refactorings can be detected and applied on basic UML abstractions. Nevertheless, other refactorings need information related to program instructions. “Action” concept, included in UML 2.0, is a fundamental unit of behaviour specification that allows to store program instructions and to obtain certain information related to this granularity level. Therefore, we validate the suitability of the UML 2.0 metamodel as a solution for developing refactoring frameworks. |
| Title: | UNIFIED DESCRIPTION AND DISCOVERY OF P2P SERVICES |
Author(s): | G. Athanasopoulos, A. Tsalgatidoum and M. Pantazoglou |
| Abstract: | Our era has been marked by the emergence of the service oriented computing (SOC) paradigm. This new trend has reshaped the way distributed applications are built and has influenced current computing paradigms, such as p2p and grid computing. SOC’s main objective is to leverage interoperability among applications and systems; however, the emergence of various types of services such as web, grid and p2p services has raised several interoperability concerns among these services as well as within each of these service models. In order to surpass these incompatibilities, appropriate middleware and mechanisms need to be developed so as to provide the necessary layers of abstraction and a unified framework that will obscure a service user from the underlying details of each service platform. Yet, for the development of such middleware and mechanisms to be effective, appropriate conceptual models need to be constructed. Within this paper, we briefly present a generic service model which was constructed to facilitate the unified utilization of heterogeneous services, with emphasis on its properties for the modeling of p2p services. Moreover, we illustrate how this model was instantiated for the representation of JXTA services and describe the service description and discovery mechanisms that were built upon it. We regard this generic service model as a first step in achieving interoperability between incompatible types of services. |
| Title: | TOWARDS ANCHORING SOFTWARE MEASURES ON ELEMENTS OF THE PROCESS MODEL |
Author(s): | Bernhard Daubner, Bernhard Westfechtel and Andreas Henrich |
| Abstract: | It is widely accepted that software measurement should be automated by proper
tool support whenever possible and reasonable. While many tools exist that
support automated measurement most of them lack the possibility to reuse
defined metrics and to conduct the measurement in a standardized way.
This article presents an approach to anchor software measures
on elements of the process model. This makes it possible to define the
relevant software measures independently of a concrete project.
At project runtime the work breakdown structure is used to
establish a link between the measurement anchor points within the process
model and the project entities that actually have to be measured.
Utilizing the project management tool Maven a framework has been
developed that allows to automate the measurement process. |
| Title: | A DYNAMIC ANALYSIS TOOL FOR EXTRACTING UML 2 SEQUENCE DIAGRAMS |
Author(s): | Paolo Falcarin and Marco Torchiano |
| Abstract: | There is a wide range of formats and meta-models to represent the information extracted by reverse engineering tools. Currently UML tools with reverse engineering capabilities are not truly interoperable due to differences in the interchange format and cannot extract complete and integrated models. The forthcoming UML 2.0 standard includes a complete meta-model and a well defined interchange format (XMI 2.0). There is an available implementation of the meta-model, therefore it is a viable option to use UML 2.0 the modeling format for reverse engineered models. In this paper we propose a technique to automatically extract sequence diagrams from Java programs, compliant to the UML 2.0 specifications. The proposed approach takes advantage of the Eclipse platform and different plug-ins to provide an integrated solution: it relies on a new dynamic analysis technique, based on Aspect Oriented Programming; it recovers the interactions between objects also in presence of reflection and polymorphism. |
| Title: | REACTIVE, DISTRIBUTED AND AUTONOMIC COMPUTING ASPECTS OF AS-TRM |
Author(s): | E. Vassev, H. Kuang, O. Ormandjieva and J. Paquet |
| Abstract: | Autonomic computing is a new research area focusing on developing complex computing systems smarter and easier to manage. The main objective of this research is a rigorous investigation of an architectural approach for developing and evolving reactive autonomic (self-managing) systems, and for continuous monitoring of their quality. To our knowledge, ours is the first attempt to model reactive behavior in the autonomic systems. In this paper, we draw upon our research experience and the experience of other autonomic computing researchers to discuss the main aspects of Autonomic Systems Timed Reactive Model (AS-TRM) architecture and demonstrate its reactive, distributed and autonomic computing nature. |
| Title: | A SYSTEMATIC REVIEW MEASUREMENT IN SOFTWARE ENGINEERING - State-of-the-art in Measure |
Author(s): | swaldo Gómez, Hanna Oktaba, Mario Piattini and Félix García |
| Abstract: | The present work provides a summary of the state of art in software measures by means of a systematic review on the current literature. Nowadays, many companies need to answer the following questions: How to measure?, When to measure and What to measure?. There have been a lot of efforts made to attempt to answer these questions, and this has resulted in a large amount of what is sometimes confusing and unclear information. This needs to be properly processed and classified in order to provide a better overview of the current situation. We have used a Measurement Software Ontology to classify and put the amount of data in this field in order. We have also analyzed the results of the systematic review, to show the trends in the software measurement field and the software process on which the measurement efforts have focused. It has allowed us to discover what parts of the process are not supported enough by measurements, to thus motivate future research in those areas. |
| Title: | MINING ANOMALIES IN OBJECT-ORIENTED IMPLEMENTATIONS THROUGH EXECUTION TRACES |
Author(s): | Paria Parsamanesh, Amir Abdollahi Foumani and Constantinos Constantinides |
| Abstract: | The term “anomaly” refers any phenomenon that can negatively affect software quality. Examples include low cohesion, high coupling and crosscutting. In this paper we present a new technique of identifying anomalies in object-oriented implementations based on the observation of patterns of invoked operations during execution.
In our technique we deploy a relational database to store execution paths in order to extract knowledge. |
| Title: | A SCENARIO GENERATION METHOD USING A DIFFERENTIAL SCENARIO |
Author(s): | Masayuki Makino and Atsushi Ohnishi |
| Abstract: | A generation method of scenarios using differential information between normal scenarios is presented. Behaviours of normal scenarios belonging to the same problem domain are quite similar. We derive the differential information between them and apply the information to generate new alternative/exceptional scenarios. Our method will be illustrated with examples. This paper describes (1) a language for describing scenarios in which simple action traces are embellished to include typed frames based on a simple case grammar of actions, (2) introduction of the differential scenario, and (3) examples of scenario generation using the differential scenario. |
| Title: | SYSTEM TEST CASES FROM USE CASES |
Author(s): | Javier J. Gutiérrez, María J. Escalona, Manuel Mejías and Jesús Torres |
| Abstract: | Use cases have become a widely used
technique to define the functionality of a software
system. Use cases are also the main artefact to obtain
test cases for verifying the correct implementation of
the functionality in the system under test. This paper
describes a new, formal and systematic approach for
generating system test cases from use cases. This
process has been designed specially for testing the
system from the point of view of the actors, through it
graphical user interfaces. |
| Title: | INTRODUCTION TO CHARACTERIZATION OF MONITORS FOR TESTING SAFETY-CRITICAL SOFTWARE |
Author(s): | Christian Di Biagio, Guido Pennella, Anna Lomartire and Giovanni Cantone |
| Abstract: | The goal of this paper is to characterize software technologies to test hard real-time software by focusing on measurement of CPU and memory loads, performance monitoring of processes and their threads, intrusiveness, and some other key features and capabilities, in the context of the a multination organization, Italian branch, which works in the domain of safety-critical systems, from the points of view of the project managers of such an organization, on one side, and the applied researcher, on the other side. The paper first sketches on the state of the art in the field of testing technologies for safety-critical systems, then presents an characterization model, which is based on goals of the reference company, and then applies that model to major testing tools available. |
| Title: | REVERSE ENGINEERING ELECTRONIC SERVICES - From e-Forms to Knowledge |
Author(s): | Costas Vassilakis, George Lepouras and Akrivi Katifori |
| Abstract: | On their route to e-governance, public administrations have developed electronic services, through which citizens and enterprises can conduct their transactions with the government. Each electronic service encompasses a significant amount of knowledge in the form of examples, help texts, legislation excerpts, validation checks etc. This knowledge has been offered by domain experts in the phases of service analysis, design and implementation, being however bundled within the software, it cannot be readily retrieved and used in other organizational processes, including the development of new services. In this paper, we present an approach for reverse engineering electronic services, in order to formulate knowledge items of a high level of abstraction, which can be made available to the employees of the organizations. Moreover, the knowledge items formulated in the reverse engineering process are stored into a knowledge-based e-service development platform, making them readily available for use in the development of other services. |
| Title: | A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING |
Author(s): | Frédéric Boulanger and Guy Vidal-Naquet |
| Abstract: | Heterogeneous modeling is modeling using several modeling methods.
Since many different modeling methods are used in different crafts,
heterogeneous modeling is necessary to build a heterogeneous model
of a system that takes the modeling habits of the designers into
account.
A model of computation is a formal description of the behavioral
aspect of a modeling method. It is the set of rules that allows to
compute the behavior of a system by composing the behaviors of its
parts or components. Heterogeneous modeling allows different parts
of the system to be modeled using different models of computation.
Therefore, some parts of the system may obey some rules while other
parts obey other rules for the composition of their behaviors.
However, computing the behavior of a system which is modeled using
several models of computation can be difficult if the meaning of
each model of computation, and what happens at their boundary, is
not well defined. In this article, we propose an execution model
that provides a framework of primitive operations that should allow
to express how a model of computation is interpreted to compute the
behavior of a model of a system. When models of computation are
""implemented"" in this execution model, it becomes possible to
specify exactly what is the meaning of the joint use of several
models of computation in the model of a system.
|
| Title: | SYSML-BASED WEB ENGINEERING - A Succseful Way to Design Web Applications |
Author(s): | Haroon Tarawneh |
| Abstract: | This paper discusses the importance of a new modeling language SysML (system modeling language) and shows how it differs from UML2.0 (unified modeling language) in the development of web-based applications.
The development of Web applications has become more complex and challenging than most of us think. In many ways, it is also different and more complex than traditional software development and there is a lack of a proven methodology that guides software engineers in building web-based applications.
In this paper we recommended using SysML for building and designing web-based applications.
|
| Title: | VIEWPOINT FOR MAINTAINING UML MODELS AGAINST APPLICATION CHANGES |
Author(s): | Walter Cazzola, Ahmed Ghoneim and Gunter Saake |
| Abstract: | The urgency that characterizes many request for evolution force the systems administrators/developers of directly adapting the system without passing through the adaptation of its design. This creates a gap between the design information and the system it describes. The existing design models provide a static and often outdated snapshot of the systems unrespectful of the system changes. Software developers spend a lot of time for evolving the system and then for updating the design information according to the evolution of the system.
To this respect, we present an approach to automatically keep the design information (UML diagrams in our case) consistent with the system when it evolves. The UML diagrams are bound to the application and all the changes to it are reflected to the diagrams as well. This approach can be applied either to the design models automatically extracted from the implementation code or to the models designed at design-time. |
| Title: | MODELLING THE UNEXPECTED BEHAVIOURS OF EMBEDDED SOFTWARE USING UML SEQUENCE DIAGRAMS |
Author(s): | Hee-jin Lee, In-Gwon Song, Sang-Uk Jeon, Doo-Hwan Bae and Jang-Eui Hong |
| Abstract: | Although the UML 2.0 sequence diagrams incorporate several modelling features for embedded software recently, they have some deficiency to depict the exceptional behaviours of embedded software conveniently. Real-time and embedded system may be laid on unexpected states because system’s user can generate episodic events in various conditions. In this paper, we propose expressive and intuitive modelling feature for such behaviour modelling. Specially, our suggestion provides new syntax and semantics required to express the exceptional behaviours using UML sequence diagram. This modelling feature is explained and proved with an example of call-setup procedure of CDMA mobile phone. |