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. |
|