Title:
REPRESENTING LANGUAGES IN UML A UML Profile for Language Engineering
Author(s):
Francisco Gort´azar, Abraham Duarte and Micael Gallego
Abstract:
In this paper a UML profile for textual concrete syntax specification is described. The profile provides the necessary elements to associate the concrete syntax of a language L to an abstract syntax model of L. Such augmented abstract syntax model is called the language model of L. This language model avoids keeping the abstract and concrete syntaxes synchronized. We take advantage of the similarities between object oriented modeling and BNF-based language specification, and use a profile to specify the dissimilarities.

Title:
AUTOMATED UNIT TESTING FOR AGENT SYSTEMS
Author(s):
Zhiyong Zhang, John Thangarajah and Lin Padgham
Abstract:
Although agent technology is gaining world wide popularity, a hindrance to its uptake is the lack of proper testing mechanisms for agent based systems. While many traditional software testing methods can be generalized to agent systems, there are many aspects that are different and which require an understanding of the underlying agent paradigm. In this paper we present certain aspects of a testing framework that we have developed for agent based systems. The testing framework is a model based approach using the design models of the Prometheus agent development methodology. In this paper we focus on unit testing and identify the appropriate units, present mechanisms for generating suitable test cases and for determining the order in which the units are to be tested, present a brief overview of the unit testing process and an example. Although we use the design artefacts from Prometheus the approach is suitable for any plan and event based agent system.

Title:
WEAK MEASUREMENT THEORY AND MODIFIED COGNITIVE COMPLEXITY MEASURE
Author(s):
Sanjay Misra and Hürevren Kılıç
Abstract:
Measurement is one of the problems in the area of software engineering. Since traditional measurement theory has a major problem in defining empirical observations on software entities in terms of their measured quantities, Morasca has tried to solve this problem by proposing Weak Measurement theory. In this paper, we tried to evaluate the applicability of weak measurement theory by applying it on a newly proposed Modified Cognitive Complexity Measure (MCCM). We also investigated the applicability of Weak Extensive Structure for deciding on the type of scale for MCCM. It is observed that the MCCM is on weak ratio scale.

Title:
SUPPORTING DESIGN PATTERNS IN GRAPH REWRITING-BASED MODEL TRANSFORMATION
Author(s):
László Lengyel, Tihamér Levendovszky, Tamás Mészáros and Hassan Charaf
Abstract:
Model transformations appear in many, different situations in a model-based development process. A few representative examples are as follows: refining the design to implementation, aspect weaving, analysis, and verification. In object-oriented software design, design patterns describe simple and elegant solutions to specific problems. Similarly, design pattern should be identified in model transformations as well to support the frequently appearing problems. This paper introduces the design pattern support of a modelling and model transformation framework (Visual Modeling and Transformation System). Furthermore, we discuss two model-based development related design patterns.

Title:
DEFINING AND USING A METAMODEL FOR DOCUMENT-CENTRIC DEVELOPMENT METHODOLOGIES
Author(s):
Manuel Bollain and Juan Garbajosa
Abstract:
The concept of software product is often associated to software code; process documents are, therefore, considered as by-products. Also very frequently, customers primarily demand ”results” and, in a second place, documentation. Development efforts are then focused on code production at the expense of documents quality and corresponding verification activities. As discussed within this paper, one of the root problems for this is that documentation in the context of methodologies is often described with not enough level of detail. This paper presents a metamodel that faces this problem. It is an extension of ISO/IEC 24744, the metamodel for methodologies development. Under this extension, documents can become the drivers of the methodology activities. Documents will be the artifact in which method engineers should focus for methodology development, by defining its structure and constraints. Developers will put their effort in filling sections of the documents as the way to progress in the process execution. This process execution will be guided by those documents defined by the method engineers. This approach can be, as well, the basis for a new approach to a Document-Centric Software Engineering Environment.

Title:
VISUAL SOFTWARE MODELLING WITH EXTENDED RULE-BASED MODEL
A Knowledge-based Programming Solution for General Software Design
Author(s):
Grzegorz J. Nalepa and Igor Wojnicki
Abstract:
Rule-based programming paradigm is omnipresent in number of engineering domains. However, there are some fundamental semantical differences between it, and classic procedural, or object-oriented approaches. Even though, there has been a lot of effort to use rules to model business logic in classic software no generic solution has been provided so far. In this paper a new approach for generalized rule-based programming is given. It is based on a use of advanced rule representation, which includes an extended attribute-based language, a non-monotonic inference strategy, with explicit inference control on the rule level. The paper shows how some typical programming constructions, as well as classic programs can be modelled in this approach. The approach can largely improve both the design and the implementation of complex software.

Title:
SOME ISSUES ON RESEARCH ESSENTIALS IN THE FIELD OF SOFTWARE ENGINEERING
Simplified Look on Scientific Method for Bachelor Level Research
Author(s):
Oksana Nikiforova, Marite Kirikova, Renate Strazdina
Abstract:
Not every software engineering task will qualify as scientific research, because the solution of the problem should contribute to the body of scientific knowledge. This means that, on one hand, the research work should correspond to the state of the art of scientific body of knowledge and give a particular, small, contribution to it, and, on the other hand, the work of the student shall clearly contribute to at least one general phase of software development. Taking into consideration that bachelor thesis are an initial research and the simplest scientific research at the university, the minimum requirements for the scope of bachelor thesis, thus, should not exceed one software development phase and one research phase, still keeping the requirement that the bachelor student must be able to position clearly his work in both, namely, scientific and software development life cycles. Therefore the life cycle of scientific research is analyzed from the perspective of software engineering life cycle and the main activities of both are mapped into single schema. 16 types of bachelor thesis in software engineering proposed in the paper are a helpful tool for bachelor thesis developers and advisers to meet the above mentioned requirements.

Title:
USING A TWO-WAY BALANCED INCOMPLETE BLOCK DESIGN TO COMPARING AN AGENT-ORIENTED SOFTWARE
ENGINEERING METHODOLOGIES
Author(s):
Faezeh Parandoosh and Siavosh Kaviani
Abstract:
There has been a surge of interest in agent-oriented software engineering in recent years. Numerous methodologies for developing agent-based systems have been proposed in the literature and the area of agent-oriented methodologies is maturing rapidly. Evaluating methodologies' strengths, weaknesses and domains of applicability plays an important role in improving them and in developing the "next-generation" of methodologies. In this paper, we present a reliable framework that adopts statistical techniques to compare agent-oriented methodologies. Based upon this framework we performed a comparison of four AOSE methodologies MaSE, Prometheus, Tropos and Gaia.

Title:
MDA ORIENTED COMPUTATION INDEPENDENT MODELING OF THE PROBLEM DOMAIN
Author(s):
Janis Osis, Erika Asnina and Andrejs Grave
Abstract:
The proposed approach called Topological Functioning Modeling for Model Driven Architecture (TFMfMDA) uses formal mathematical foundations of Topological Functioning Model (TFM). It introduces the main feature of MDA – Separation of Concerns by formal analysis of a business system, enables mapping to functional requirements and missing requirements checking in conformity with the problem domain TFM model. By using a goal-based method, a use case model of the planned application is defined and use cases are classified. Graph transformation from the TFM to a conceptual class diagram enables the definition between domain concepts and their relations to be established. The paper also suggests a concept of a tool for the TFMfMDA, which is realized as an Eclipse plug-in.

Title:
AGILE COMMITMENTS: DEALING WITH BUSINESS EXPECTATIONS RISKS IN AGILE DEVELOPMENT
Author(s):
Mauricio Concha, Marcello Visconti and Hernán Astudillo
Abstract:
Agile methods have been proposed to increase customer satisfaction and deliver business value early, yet usually don’t focus on progress visibility other than software deliverables. However, many customers demand risk visibility over the main aspects that define their expectations: functionality (scope), budget, time-to-market, and product quality. This article proposes an agile commitment framework based on structured definition and follow-up of commitments among customers and developers. The framework uses commitment management to improving risk management by enhancing visibility of business expectation risks, by providing a negotiation baseline among customers and developers, and by allowing mitigating action when appropriate. Finally, we summarize several case studies run to evaluate the proposed framework in academic and industrial settings.

Title:
A MDE APPROACH FOR LANGUAGE ENGINEERING
Author(s):
Francisco Gort´azar, Abraham Duarte and Micael Gallego
Abstract:
Many development tools of modern Integrated Development Environments (IDEs) make an intensive use of abstract syntax tree (AST) representations of the software. This is the case of refactors, code formatters, or content assistants, among others. Such AST is usually an instance of an object oriented abstract syntax model. We propose to center the attention of Language Engineering (LE) on this model. We propose to use UML as the abstract syntax metamodel because UML tools provide code generators for different programming languages for model implementation. As well as an abstract syntax, a concrete syntax of the language it is also necessary. We are concerned about textual languages, whose concrete syntax is usually given as a BNF grammar. Instead, we propose to stereotype the abstract syntax model by means of a profile, aimed at concrete syntax definition. Applying Model Driven Engineering (MDE) practices several development artifacts can be automatically generated.

Title:
AN ONTOLOGY-BASED APPROACH TO THE MODELLING OF
COLLABORATIVE ENTERPRISE PROCESSES
Dynamic Managing of Functional Requirements
Author(s):
M. V. Hurtado, M. Noguera, M. L. Rodríguez, J. L. Garrido and Lawrence Chung
Abstract:
Enterprise models describe and analyze collaborative processes and provide stakeholders with a common view of requirements. A core challenge to tackle the management of collaborative business processes is the continuous translation between business requirements and the current collaborative process model of the involved enterprises. This model is constituted by multiple IT systems, resources, and human labour. This paper presents a novel approach to modelling business processes from the perspective of collaborative systems. The proposal consists of a multi-level design scheme based on ontologies for the description of complex collaborative systems. The use of this ontology-based framework enables machine reasoning which can be applied to automated or semi-automated control and propagation of changes in the functional requirements specification. Benefits related to integrating ontology-based models are also presented.

Title:
IMPROVED SERVICE RANKING AND SCORING: SEMANTIC ADVANCED MATCHMAKER (SAM)
Author(s):
Erdem S. Ilhan, Gokay B. Akkus and Ayse B. Bener
Abstract:
In recent years Semantic Web has drawn a lot of attention in order to solve the problem of automatic discovery and processing of web services. Although there are different efforts and frameworks for semantic annotation and discovery of web services, they mostly classify the discovered web services as set-based. Improvement in matching process could be gained by the use of ontological information in a useful form. The goal of this research is to propose a more accurate discovery method using the ontological distance information defined and ranked by users. In this paper, we focus on one of the most challenging tasks in service discovery: matchmaking process. We use an efficient matchmaking algorithm based on bi-partite graphs. Our proposed algorithm uses attribute ranking through weight assignment. Our experiment results show that bi-partite matchmaking has advantages over other approaches in the literature for parameter pairing problem. We present value added approaches in matchmaking such as property-level matching, semantic distance information and WordNet scoring. The value added approaches provide better scoring scheme and allows similarity to be captured resulting in ranking of services according to their relatedness.

Title:
EVALUATION OF TEST-DRIVEN DEVELOPMENT
An Industrial Case Study
Author(s):
Hans Wasmus and Hans-Gerhard Gross
Abstract:
Test-driven development is a novel software development practice and part of the Extreme Programming paradigm. It is based on the principle that tests should be designed and written for a module iteratively, while the code of the module is devised. This is the opposite of what is usual in current software development methods in which testing is often an afterthought, rather than a primary driving factor of design. Once applied systematically and continuously, test-driven development is supposed to incorporate requirements changes easier, lead to superior technical solutions in software, result in better and cleaner code, and motivate all stakeholders. We present a development project carried out in a company in which we put those claims to a test. We found that, indeed, some of the claims are valid, but we can also report difficulties with applying the test-driven development approach.

Title:
USE OF REQUIREMENT STABILITY IN OPTIMIZING ITERATIVE DEVELOPMENT PROCESSES
Author(s):
Gilberto Matos
Abstract:
Unstable requirements are widely understood as being a common cause of problems in delivering desired software functionality on time and within budget. Requirement volatility manifests itself through various symptoms, including scope creep, rejected feature implementations, and late discovery of non-functional requirements. Iterative processes use cycles of development and feedback to create an environment where requirements can be evolved to better address the user’s needs. Agile development methods are based on the assumption that the most valuable feedback comes from customers reviewing a live demo of the system being developed. The duration of an iteration generally determines the frequency of such reviews, and we are interested in understanding its impact on the development process. We developed a discrete simulation model of iterative development processes, and use it to evaluate process efficiency. By simulating the process for different iteration durations and initial requirement stability levels, we show that efficiency in iterative development processes depends on how well the iteration duration is adjusted to the initial requirement stability. We also propose a method for actively evaluating requirement stability, and using that information to adjust the review frequency during the execution of a development project.

Title:
AN EMPIRICAL EVALUATION OF EVOLUTIONARY DESIGN APPROACH
Design, Results and Discussion of Experiments on Extreme Programming
Author(s):
René Noël, Marcello Visconti, Gonzalo Valdés and Hernán Astudillo
Abstract:
Evolutionary Design is Extreme Programming’s approach to organize software structure and its relationships, encouraging refactoring, test driven development and the simplest solution for the requirements of a single iteration, thus avoiding a big up-front design activity at the beginning of the project that can cause carrying on a huge structural complexity throughout the whole project. In order to contrast this approach with a planned or traditional design approach, an empirical evaluation of impact on software design quality and process productivity has been designed and conducted in an academic environment with toy size problems. Experimental studies planning details are presented, and two replications with different experimental designs are described. Results suggest that there are no differences in quality between both approaches, and that productivity is better when a planned design is adopted.

 
....................................................................................................................................................................................................................................................
The ENASE web site is developed and maintained by: INSTICC
Copyright © 2006 INSTICC

Page updated on 2/04/09