All 322 abstracts

Generated: Tue Sep 10 19:09:45 2002

Overview of all abstracts (with nr of high/low bids per paper so far)

Quick Index
1234567891011121314151617181920
2122232425262728293031323334353637383940
4142434445464748495051525354555657585960
6162636465666768697071727374757677787980
81828384858687888990919293949596979899100
101102103104105106107108109110111112113114115116117118119120
121122123124125126127128129130131132133134135136137138139140
141142143144145146147148149150151152153154155156157158159160
161162163164165166167168169170171172173174175176177178179180
181182183184185186187188189190191192193194195196197198199200
201202203204205206207208209210211212213214215216217218219220
221222223224225226227228229230231232233234235236237238239240
241242243244245246247248249250251252253254255256257258259260
261262263264265266267268269270271272273274275276277278279280
281282283284285286287288289290291292293294295296297298299300
301302303304305306307308309310311312313314315316317318319320
321322


















1 - TitleCollection of Collaborative Designs to Assist Novice Programmers
AuthorsMark Ratcliffe, University of Wales, Aberystwyth, mbr@aber.ac.uk
Lynda Thomas, University of Wales, Aberystwyth, ltt@aber.ac.uk
Wayne Ellis, University of Wales, Aberystwyth, wwe8@aber.ac.uk
Chris Price, University of Wales, Aberystwyth, cjp@aber.ac.uk
PC MemberNo
Contact personMark Ratcliffe, mbr@aber.ac.uk, Phone: +44 1970 611320
Main Fields2. Design
7. Software Understanding
12. AI-Based Approaches to S/W Engineering
Abstract + KeywordsThis paper describes a project being undertaken at the University of Wales, Aberystwyth that captures the design processes of novice students using an interactive, collaborative design tool. Using the captured information, a case based diagnosis system is being developed capable of interpreting the students’ work, modeling the design process and responding with useful advice.

Keywords: Software Design, Pedagogy, Case Based, Design Capture
Remarks

2 - TitleWorkflow: A Language for Composing Web Services
AuthorsGiacomo Piccinelli, Hewlett Packard, giacomo_piccinelli@hp.com
Scott Lane Williams, Hewlett Packard, Scott_L_Williams@hp.com
PC MemberNo
Contact personGiacomo Piccinelli, giacomo_piccinelli@hp.com, Phone: +44 (0)117 312 9610
Main Fields3. Software Architectures, Patterns, and Frameworks
9. Component and Interoperability Technologies
17. Software Process, Workflow, CSCW
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsWeb Services
Abstract + KeywordsThe introduction of Web Services has a profound impact on component models. The interaction processes behind a service become integral part of the component type, and as such formally described and automatically manageable. Workflow emerges as the reference model for the description of interaction processes associated to individual web services. In the DySCo (Dynamic Service Composition) project, we investigate the use of workflow for both the modelling and implementation of composite solutions based on web services. Key aspect of DySCo is the separation between composition and coordination logic. In this paper, we discuss the composition model defined in DySCo, and a technology framework to enforce it.
RemarksThe document is in single-column format as we overlooked the requirement of IEEE format. We apologise for the inconvenience this may cause to reviewers. Please inform the contact author (Giacomo), if this turns out to be a major problem.

Best regards,
Giacomo Piccinelli & Scott Williams


3 - TitleAssessing Maintainability of Recovered Architectures
AuthorsMario Anan, University of Kansas/Sprint PCS, manan@eecs.ku.edu
Hossein Saiedian, University of Kansas, saiedian@eecs.ku.edu
PC MemberNo
Contact personHossein Saiedian, saiedian@eecs.ku.edu, Phone: 913-897-8515
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
19. Empirical Studies, Metrics
Abstract + KeywordsReengineering of software systems (during maintenance and evolution)
may require the software architecture to be transformed to meet the new
quality requirements. Thus an evaluation procedure should be used to
determine whether specific goals (for example, maintainability) have been
achieved after transformation occurred.

This research effort proposes a new architectural metric that can be used
for assessing the maintainability of transformed architectures by calculating
the entropy based on the information theory. The entropy of each component
in the architecture can be used to compare components? complexity in the
same architecture. Also, the total maintainability of the architecture can be
compared with the maintainability of the transformed or recovered architecture.
Finally, we apply the proposed assessment method on some systems to
illustrate the characteristics of this metric and then suggest ways in which the
method can be expanded in future.
RemarksPlease note: the current file, anan.pdf, is a replacement for the older
submission.

4 - TitleA Requirements Engineering Environment for Embedded Real-Time System ©¥ SREE
AuthorsGuoqing Wu, Department of Computer Science, Wuhan University, Wuhan,China, wgq@whu.edu.cn
Fengdi Shu, Department of Computer Science, Wuhan University, Wuhan,China, fdshu2002@yahoo.com.cn
Jie Yang, Department of Computer Science, Wuhan University, Wuhan,China, clear1203@sina.com
PC MemberNo
Contact personFengdi Shu, fdshu2002@yahoo.com.cn, Phone: 86-27-87340506
Main Fields1. Requirements Engineering
Abstract + KeywordsAbstract:
This paper introduces a requirements engineering environment SREE for embedded real-time system (ERS). As its theoretical basis, the paper first presents two basic models: requirements specification model and dynamic execution model of ERS. As for its functions, SREE provides facilities, for example, animated representation, to specify and verify requirements of ERS, which are two important tasks of requirements engineering. We also discuss how to integrate formal methods with visual techniques and how to apply prototyping method in verifying requirements of ERS. Finally, SREE¡¯s characteristics are summarized.

Keywords: Embedded Real-time System, Requirements Specification, Prototyping method,
Simulation execution
Remarks

5 - TitleNovel Software System Development For Finance
AuthorsSoha Maad, Fraunhofer - IMK - Germany, Soha.Maad@imk.fhg.de
PC MemberNo
Contact personSoha Maad, Soha.Maad@imk.fhg.de, Phone: +49 2241 14 2926
Main Fields1. Requirements Engineering
7. Software Understanding
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsSSD for domain specific applications
Abstract + KeywordsThis paper addresses the need for novel software system development (SSD) practices in finance. It proposes Empirical Modelling as a novel approach for SSD in finance [1]. This approach aims at finding a suitable framework for studying both the traditional and the emerging computing culture to SSD in finance. First, the paper studies the change in the financial industry and identifies key issues of the application of computer-based technology in finance. These key issues are framed in a wider agenda for computing in finance. Second, the paper motivates a paradigm shift at the computational level to meet the wider agenda for computing in finance and overviews the distinctive qualities of model building in EM that are of particular relevance to this wider agenda and that can potentially support a paradigm shift at the computational level. Third, the paper considers four case studies that reveal how EM technology can provide a framework for SSD in finance: in the financial enterprise, in the financial market, for financial engineering, and for financial analysis. The paper concludes with the need for new paradigms for SSD adaptable to domain specific needs.
Remarkskindly inform that submission is received properly

6 - TitleModel-Based Extreme Testing: Theory and Practice
AuthorsWilliam Howden, UCSD, howden@cs.ucsd.edu
Ray Kim, UCSD, rtkim@cs.ucsd.edu
Peter Tran, UCSD, pptran@cs.ucsd.edu
PC MemberNo
Contact personWilliam Howden, howden@cs.ucsd.edu, Phone: 858 534 2723
Main Fields4. Testing, Analysis, and Verification
Abstract + KeywordsA new testing technique is described that combines aspects of extreme programming, model-based testing and capture-playback tools. It helps to solve several of the problems associated with extreme programming and model-based testing. A support tool called MOCA (Model Oriented Capture Analysis) is described, and some of the underlying theory of MOCA behavioral models is presented.
RemarksWe followed the formatting instructions found on http://www.cs.orst.edu/icse2003/. These did not include keywords or
page numbers so they were not included. Please advise if necessary.

7 - TitleArchitecture Challenges: An Approach to Formulating Software Architecture
AuthorsCharlie Alfred, Foliage Software Systems, Inc., calfred@foliage.com
PC MemberNo
Contact personCharlie Alfred, calfred@foliage.com, Phone: 781-993-5500 x448
Main Fields3. Software Architectures, Patterns, and Frameworks
17. Software Process, Workflow, CSCW
Abstract + KeywordsA system’s quality attributes represent the combined expectations of the system’s stakeholders, and have been recognized as a driving force to focus the attention of a software architect. Yet, as architects know, they represent only part of the equation. In large complex mission-critical systems, external factors often dictate how an architect must proceed. Uncontrollable factors such as limits of technology capabilities or computational complexity, and imposed constraints like laws, regulations, contractual obligations and technology mandate impose their own burden.

At the intersection of external forces and quality attributes lies a concept called architectural challenges. This abstraction represents the anticipated impact of one or more external forces on a quality attribute. The relative significance of each architecture challenge is a combination of the importance of the quality attribute, along with how strong, widespread, immediate, and certain is the impact of the external force. A strategy that addresses the most significant architectural challenges in its earliest design decisions will formulate a software architecture that reflects all of the system’s environmental realities.
Remarks

8 - TitleTough Constraints-based Frequent Itemsets Mining
AuthorsLei Jia, School of Mechatronics and Automation,Shanghai University,Shanghai,China, jialei7829@hotmail.com
Renqing Pei, School of Mechatronics and Automation,Shanghai University,Shanghai,China, prq44@hotmail.com
PC MemberNo
Contact personLei Jia, jialei7829@hotmail.com, Phone: (8621)56331760
Other Main Fieldsdata mining
Abstract + Keywords Abstract
In order to efficiently sift the useful rules through a large number of mined rules, the method of the constrainted-based mining is introduced. Two large classes of constraints-based frequent itemsets mining(monotone constraints and succinct constraints) have been investigated. However, the problem of frequent itemsets mining with Tough Constraints has not been solved just because the complexity of the constraints. In this paper, against this problem, we propose an algorithm TCA(Tough Constraint-based frequent itemsets mining Algorithm) which uses the order as the pre-process to solve the problem. The principle of the algorithm is to push the Tough Constraints deeply inside the candidate generation-and-test approach such as Apriori. In the algorithm, we have the select process and filter process, we explore which one should be put in advance.
KeyWords
Data Mining, Association Rules, frequent itemsets, Tough Constraints
RemarksI have changed the files.If something is wrong,please contact me through e-mail!
Thanks!

9 - TitleAssessing Testability to Support Structure-oriented Evolutionary Testing
AuthorsJoachim Wegener, DaimlerChrysler AG, Research and Technology, Joachim.Wegener@daimlerchrysler.com
Andre Baresel, DaimlerChrysler AG, Research and Technology, Andre.Baresel@daimlerchrysler.com
Kerstin Buhr, DaimlerChrysler AG, Research and Technology, Kerstin.Buhr@daimlerchrysler.com
Harmen Sthamer, DaimlerChrysler AG, Research and Technology, Harmen.Sthamer@daimlerchrysler.com
PC MemberNo
Contact personJoachim Wegener, Joachim.Wegener@daimlerchrysler.com, Phone: + 49 30 39982 232
Main Fields4. Testing, Analysis, and Verification
7. Software Understanding
13. Reliability, Quality Assurance
19. Empirical Studies, Metrics
Other Main Fields/
Abstract + KeywordsTest case design is the most important test activity with respect to test quality. For this reason, a large number of testing methods have been developed to assist the tester with the definition of appropriate, error-sensitive test data. Besides black-box tests, white-box tests are the most prevalent. In both cases, complete automation of the test case design is difficult. Automation of the black-box test is only meaningfully possible if a formal specification exists, and, due to the limits of symbolic execution, tools supporting white-box tests are limited to program code instrumentation and coverage measurement.
Evolutionary testing is a promising approach for automating structure-oriented test case design completely. In many experiments, high coverage degrees were reached using evolutionary testing. In this paper we shall investigate the suitability of structure-based complexity measures to assess whether or not evolutionary testing is appropriate for the structure-oriented test of given test objects.
Remarks/

10 - TitleDesign Pattern Rationale Graphs: Linking Design to Source
AuthorsElisa Baniassad, University of British Columbia, bani@cs.ubc.ca
Gail Murphy, University of British Columbia, murphy@cs.ubc.ca
Christa Schwanninger, Siemens AG, christa.schwanninger@mchp.siemens.de
PC MemberYes
Contact personElisa Baniassad, bani@cs.ubc.ca, Phone: (604)736-1504
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
7. Software Understanding
Abstract + KeywordsA developer attempting to evolve a system in which design patterns
have been applied can benefit from knowing which code implements which
design pattern. For instance, the developer may be able to understand
the purpose, or to assess the flexibility of the code, more
quickly. The degree to which the developer benefits depends upon their
understanding of the pattern. Achieving an in-depth understanding of
even a simple pattern can be difficult as pattern descriptions span
several pages of text, and discuss interrelated design concepts and
choices. To enable a developer to effectively trace the design goals
associated with a pattern to and from source, we have developed the
Design Pattern Rationale Graph (DPRG) approach and associated tool. A
DPRG makes explicit the relationships between design concepts in a
design pattern, provides a graphical representation of the design
pattern text, and supports the linking of those concepts to
implementing code. In this paper, we introduce the DPRG approach and
tool, and present case studies to show that a DPRG can, at low-cost,
help a developer identify design goals in a pattern, and can improve a
developer's confidence about how those goals are realized in a code base.
Remarks

11 - TitlePersonal Requirements Engineering
AuthorsStephen Fickas, University of Oregon, fickas@cs.uoregon.edu
McKay Sohlberg, University of Oregon, mckay@oregon.uoregon.edu
Laurie Ehlhart, University of Oregon, lehlhart@oregon.uoregon.edu
Bonnie Todis, Teaching Research Institute, bonniet@OREGON.UOREGON.EDU
PC MemberNo
Contact personStephen Fickas, fickas@cs.uoregon.edu, Phone: 541
Main Fields1. Requirements Engineering
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsThe authors are part of a larger group (www.think-and-link.org) that is studying a
specific set of tools to facilitate social interaction over the internet for persons
with cognitive-linguistic impairments due to traumatic brain injury (TBI). Our goal
is to reduce social isolation for TBI survivors. Our approach is to build communication
tools that allow TBI users to both stay in contact with old friends and meet new friends.
The first tool we are studying is email. To deliver email to a TBI survivor, we postulate
that three things must happen: (1) We must use an RE process that is personal, i.e., is
able to acquire an individual's goals and needs. (2) We must be able to deliver
solutions that are tailored to individual goals and account for all the components
of the system. (3) We must continue to monitor the effectiveness of the delivered
system after it is in place. This paper takes up the first challenge, coming up
with a personal RE process for email use by TBI survivors.
RemarksI read submission guidelines as final (proceedings) copy had to be
in 2 column format. I can try to get this done today, but just
in case, I promise I was not trying to be sneaky with one
column to gain space.

Sorry for confusion :(

Steve

12 - TitleSafe Upgrading without Restarting
AuthorsSusan Eisenbach, Imperial College, sue@doc.ic.ac.uk
Miles Barr, Imperial College, miles@milesbarr.com
PC MemberNo
Contact personSusan Eisenbach, sue@doc.ic.ac.uk, Phone: 44 20 7594 8264
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
16. CASE Tools and Software Development Environments
Abstract + KeywordsJava provides the capability of interchanging components
independently of each other, a long promised feature object
oriented languages. Languages such as C++ require a recompile of
all dependent subsystems the entire system if a new version of a
component is released. The design of Java's binary format has
side-stepped this flaw removing the need for total recompilation
with each change. But the potential is not fulfilled if your
program has to be stopped to swap in each new component.

This paper describes a framework that allows Java programs to be
dynamically upgraded. Its key purpose is to allow libraries that
are safe to replace existing libraries without adversely
affecting the running program.

It uses the concept of binary compatibility to determine what a
safe library actually is. The framework provides developers with a
mechanism to release their libraries and allows clients the surety
of only upgrading when it is safe to do so.
Remarks

13 - TitleTowards Systematic Recycling of Systems Requirements
AuthorsNadine Heumesser, DaimlerChrysler AG, Research and Technology, nadine.heumesser@daimlerchrysler.com
Frank Houdek, DaimlerChrysler AG, Research and Technology, frank.houdek@daimlerchrysler.com
PC MemberNo
Contact personFrank Houdek, frank.houdek@daimlerchrysler.com, Phone: +49-731-505-2588
Main Fields1. Requirements Engineering
Abstract + KeywordsMany (technical) systems are not developed from scratch but as an evolution of existing systems. Conse-quently, a large portion of the system requirements em-ployed can be recycled when building the next version of the product. Usually, this recycling step is performed unsystematically, i.e. simply by copying and modifying complete requirements documents. Applicable require-ments recycling approaches are as yet missing.

In this paper, we present a lightweight requirements recycling approach. The basic idea of the approach is separation of model-dependent from model-independent requirements on the same level of abstraction. This notion is supported by document structures, criteria for identify-ing reusable requirements, tool support, and an integrat-ing process framework.

Our approach has been applied successfully in two ongoing car development projects at DaimlerChrysler Passenger Car Development, where we made some ob-servations and valuable experiences.
Remarks

14 - TitleCommunication Systems formalization from Object Oriented Models
AuthorsZhang Yongqian, The Information Network Security Research Center, University of Science & Technology of China, zhangyq@mail.ustc.edu.cn
PC MemberNo
Contact personZhang Yongqian, zhangyq@mail.ustc.edu.cn, Phone: +86-0551-3601340-216
Main Fields8. Object-Oriented Technologies
15. Formal Methods
Abstract + KeywordsThis paper presents the main steps of an automatic transformation
technique that generates formal specifications starting from non-formal object
oriented methods. This technique provides, through well-specified rules, the
transformation of non-formal Object Oriented (OO) models into Formal Description
Technique (FDT), allowing consistence analysis, system behavior validation and
testing. The OO model has been created in accordance to UML (The Unified
Modeling Language) and the FDT obtained through this technique complies with
ESTELLE (ISO - FORMAL DESCRIPTION TECHNIQUE).
The motivation of this work is to propose a technique paradigm, which merges
type level system description that adopts Object Orientation concepts with the
precision and correction of communication system implementation, through its
mapping into a formal model.

Keywords
object oriented model, formal description technique, communication
system, UML, ESTELLE
Remarks

15 - TitleSoftware Engineering: Moving From Craft to Profession
AuthorsDick Fairley, OGI School of Science and Engineering, dfairley@cse.ogi.edu
Leonard Tripp, The Boeing Company, leonard.l.tripp@boeing.com
PC MemberNo
Contact personDick Fairley, dfairley@cse.ogi.edu, Phone: +1-503-748-1558
Other Main FieldsThe Software Engineering Profession
Abstract + KeywordsThere are many opinions concerning the nature of software engineering. Should the practice of software engineering be regarded as an art, a science, or a professional activity? In many organizations, the practice of software engineering is more similar to a medieval craft than to art, science, or profession. However, societal demands for software-intensive systems of high quality require that software engineering be grounded by professional underpinnings. On-going developments are building the framework necessary for software engineering to become a recognized profession. This paper provides a status report on various activities, past and present, which provide the basis for transforming software engineering from craft to profession.

Keywords: software engineering profession, professional practice, certification, licensing, ethics, body of knowledge, curricula
Remarks

16 - TitleA New Unified Structure to Mine Association and Classification Rules
AuthorsLei Jia, School of Mechatronics and Automation,Shanghai University,Shanghai,China, jialei7829@hotmail.com
Renqing Pei, School of Mechatronics and Automation,Shanghai University,Shanghai,China, prq44@hotmail.com
PC MemberNo
Contact personLei Jia, jialei7829@hotmail.com, Phone: (8621)56331760
Other Main Fieldsdata mining
Abstract + KeywordsAbstract
Association rules mining finds the useful rules existing in the databases that satisfy the preset minimum support and minimum confidence constraints. Classification rules mining aims to discover a small set of rules in the databases to form an efficient classifier. In the past few years, the technology--frequent closed itemsets mining is introduced. It will generate a small set of rules compared with the traditional frequent itemset mining without information loss. In this paper, based on the theory of Galois Connection, we introduce a new unified structure to mine association and classification rules. The structure is called Frequent closed itemsets based lattice. We can add additional function to the structure to carry out the process of mining association and classification rules. We also extend the classification rules mining to hierarchical classification occasion. We find the new structure is very useful and efficient.
keywors
association rules,classification rules,frequent closed itemsets lattice.
RemarksIf something is wrong with my files,please contact with me through email!Thanks!

17 - TitleModel-Based Prototype Generation for Electronic Performance Support
AuthorsChris Stary, University of Linz, Communications Engineering, christian.stary@jku.at
PC MemberNo
Contact personChris Stary, christian.stary@jku.at, Phone: 43 732 2468 7102
Main Fields1. Requirements Engineering
2. Design
3. Software Architectures, Patterns, and Frameworks
7. Software Understanding
10. Interface Technologies
17. Software Process, Workflow, CSCW
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsModel-based Development
Electronic Performance Support Systems
Abstract + KeywordsElectronic Performance Support Systems (EPSS) aim to support
users in their work tasks accurately. Their development differs
from traditional software development, since EPSS require a task-
based user interface. It has to focus on user-performance data rather
than purely functional specifications. Ideally, EPSS development
tools integrate functional and performance specifications. The reported tool TADEUS (Task Analysis/Design/End-User Systems) allows
to structure and (de)compose a business at hand into system functions
and task-based user interaction. Since TADEUS specifications are executable EPSS prototypes can be generated automatically. Due to its model-based nature TADEUS is open with respect to diagrammatic
notations for EPSS specifications, and various interaction factilities. In addition, different perspectives on the development
knowledge can be kept consistent through the development process.
Remarks

18 - TitleCASIS: A INFORMATION SYSTEM PLANNING CASE TOOL USING ORGANIZATIONAL LEARNING APPROACH
AuthorsJorge Audy, Computer Science School - PUCRS, Brazil, audy@inf.pucrs.br
PC MemberNo
Contact personJorge Audy, audy@inf.pucrs.br, Phone: +55 51 9968-4629
Main Fields16. CASE Tools and Software Development Environments
Abstract + Keywords        Information systems strategic planning (ISSP) is a management challenge today. A new outlook on the ISSP is required with the emergence and consolidation of new perceptions and concepts of Organizational Learning (OL). The challenge in this research is related to the incorporation of the OL contributions in the ISSP process in the organizations. The objective of this paper is to present a CASE tool to support an ISSP model using the contribution from OL. With this CASE tool we move forward as to operate the proposed model, which takes place by the specification of a system (CASIS), which leads to the implementation of the proposed model. The case study is the research method, and involves organizations in Brazil and US.
Remarks

19 - TitleAgent-based System Software Engineering with Organization Structure
AuthorsQi Yan, Department of Computer Science and Technology, Team 6, National University of Defense Technology, ChangSha, 410073, China, cn_yanqi@yahoo.com
XinJun Mao, Department of Computer Science and Technology, National University of Defense Technology, ChangSha, 410073, China, mxj21@21cn.com
ZhiChang Qi, Department of Computer Science and Technology, Team 6, National University of Defense Technology, ChangSha, 410073, China, qzc@nudt.edu.cn
PC MemberNo
Contact personQi Yan, cn_yanqi@yahoo.com, Phone: +86-731-4573674
Main Fields17. Software Process, Workflow, CSCW
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsAbstract

This paper proposes a new methodology for Agent-based system software engineering. The methodology not only cover with nearly all phases of software development such as analysis, design and implement, but also accept organization structure as one of the bases for entire development. Organization structure, or social structure, helps for system development by analyzing roles and role relations, identifying social rules, which can be used to guide and restrict development activities. Using such a methodology, developers can depict MAS from social views, so as to make the system model more complete and accurate.

Key Words
MAS, agent-based system, MASE, role, organization structure
Remarks

20 - TitleExperiences with Building Middleware Components for Home Computing on Commodity Software
AuthorsTatsuo Nakajima, Department of Information and Computer Science, Waseda University, tatsuo@dcl.info.waseda.ac.jp
Hiro Ishilkawa, Department of Information and Computer Science, Waseda University, tatsuo@dcl.info.waseda.ac.jp
Kunitoshi Iwasaki, Department of Information and Computer Science, Waseda University, tatsuo@dcl.info.waseda.ac.jp
PC MemberNo
Contact personTatsuo Nakajima, tatsuo@dcl.info.waseda.ac.jp, Phone: +81-3-5286-3185
Main Fields22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsFuture networked home appliances will be connected by high speed
networks like IEEE 1394 or IEEE802.11 and these appliances will be
integrated to control them in a convenient way. This makes it possible to define new appliances from existing appliances by composing them, and a variety of appliances are connected without taking into account differences among vendors or functionalities provided by the appliances.

The fantastic goal can be realized by providing high level abstraction for controlling respective types of appliances. The high level abstraction makes it possible to build home computing applications that offer advanced features such as context-awareness very rapidly, and the applications can be ported on a variety of appliances developed by different vendors. However, middleware components providing such high level abstraction are very expensive to be developed although the cost is the most important factor to develop embedded systems. Therefore, it is important to reduce the development cost by adopting standard software platforms.

In this paper, we describe our experiences with developing several
middleware components for networked home appliances on multiple
commodity software platforms. Also, we discuss the effect of the high
level abstraction provided by middleware developed in our
projects.

Keywords: Middleware for Home Computing, Experiences with using Commodity Software, Portability
Remarks

21 - TitleUniversal Interaction: Making Existing Interactive Applications Context-Aware
AuthorsTatsuo Nakajima, Department of Information and Computer Science, Waseda University, tatsuo@dcl.info.waseda.ac.jp
Atsushi Hasegawa, Department of Information and Computer Science, Waseda University, tatsuo@dcl.info.waseda.ac.jp
Tomoyoshi Akutagawa, Department of Information and Computer Science, Waseda University, tatsuo@dcl.info.waseda.ac.jp
Akihiro Ibe, Department of Information and Computer Science, Waseda University, tatsuo@dcl.info.waseda.ac.jp
Kouji Yamamoto, Department of Information and Computer Science, Waseda University, tatsuo@dcl.info.waseda.ac.jp
PC MemberNo
Contact personTatsuo Nakajima, tatsuo@dcl.info.waseda.ac.jp, Phone: +81-3-5286-3185
Main Fields22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsUbiquituous Computing
Context-Awareness
Abstract + KeywordsIn ubiquitous computing environments, a variety of objects include
computers to be intelligently behaved. For example, since networked
home appliances contain powerful operating systems and middleware
components, our daily lives will be changed dramatically due to the
integration of these appliances. Also, the interaction between us and
the appliances should change a way to utilize their advanced features.

Supporting context-awareness is very important for building future
ubiquitous computing environments. For example, video and audio
streams should be displayed on the nearest display from a user. Also,
interaction devices should be changed according to a user's
preference. However, we already have a variety of existing applications. These applications will like to be modified to support
context-awareness, but the modification is not easy. Also,
implementing context-aware applications is very hard for usual
programmers.

We propose a new approach to build context-aware applications. Our
approach enables us to use existing applications although a variety of interaction devices can be used to control the applications. This
means that we can adopt traditional GUI toolkits to build
context-aware applications. The paper describes the design and the
implementation of our middleware that enables existing applications to be context-aware, and present some examples to show the effectiveness of our approach.

Keywords: Ubiquitous Computing, Context-Awareness, Middleware for Making Existing Interactive Applications to Context-Aware
Remarks

22 - TitleFormal Conformance Testing of UML Statechart Diagrams Behaviours
AuthorsStefania Gnesi, ISTI-CNR, gnesi@iei.pi.cnr.it
Diego Latella, ISTI-CNR, latella@cnuce.cnr.it
Mieke Massink, ISTI-CNR, massink@cnuce.cnr.it
PC MemberNo
Contact personStefania Gnesi, gnesi@iei.pi.cnr.it, Phone: +39-050-3152918
Main Fields4. Testing, Analysis, and Verification
15. Formal Methods
Abstract + KeywordsIn this paper we propose a formal conformance testing
relation for input enabled transition systems
with transitions labeled by input/output-pairs.
Such labelled transition systems can be used for modeling
state machine implementations.
They provide a suitable semantic model for a behavioral subset
of UML Statechart Diagrams where the atomicity
between input acquisition and output generation is implicit in
the notion of step-transition. The preservation of this atomicity has great
advantages for the extension of the semantics to collections
of UML Statechart Diagrams communicating via queues.
We also provide an algorithm which,
for a specification and the set of events of implementations,
generates a set of test cases against which implementations
can be checked. It is shown that the test
case generation algorithm is complete, i.e. exhaustive and sound
with respect to the conformance relation.
Remarks

23 - TitleCost Minimization of the Attack Graph for Thwarting Network Attacks
AuthorsWen-Huei Chen, Dep. of Electronic Engineering, Fu Jen Catholic University, Taipei, Taiwan, R.O.C., paultaipei@yahoo.com.tw
PC MemberNo
Contact personWen-Huei Chen, paultaipei@yahoo.com.tw, Phone: 886-926807157
Main Fields13. Reliability, Quality Assurance
14. Safety and Security
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsAn Attack Graph is a graphical representation of possible ways that an intruder can attack a network system through atomic attacks. Based on such graphs, Jha, Sheyner and Wing have formulated a problem of finding a minimum set M' of measures so that adopting M' can ensure that the network system wonÕt be attacked. They decompose the problem into two subproblems and solve each one by a Greedy Approximation Algorithm. In this paper, we extend their works in two directions. First, we extend their problem to find a minimum-cost M' when each measure is assigned a cost according to utilities needed. We directly formulate our problem by a set of Integer Programming Equations (without decomposing the problem into subproblems.) A Branch and Bound Algorithm can optimally solve these equations for small cases or iteratively improve an initial solution (e.g., that from the Greedy Algorithm) till we stop it. In the second extension, we assume that each measure can delay the occurrence of certain atomic attacks by given values of time. Our objective is to find a minimum-cost set M' of measures so that aodpting M' can ensure that the network wonÕt be attacked before a required time T'. Again, we use the Integer Programming Method to solve this problem.
Remarks

24 - TitleIdentifying the Relevant Information for Software Testing Technique Selection
AuthorsSira Vegas, Universidad Politecnica de Madrid, svegas@fi.upm.es
PC MemberNo
Contact personSira Vegas, svegas@fi.upm.es, Phone: +34 91 336 6929
Main Fields4. Testing, Analysis, and Verification
Other Main FieldsExperience packaging
Abstract + KeywordsOne of the major problems within the software testing area is how to get a suitable set of test cases to test a software system. This set should assure maximum effectiveness with the least possible number of test cases. There are nowadays numerous testing techniques available for generating test cases. However, many of them are never used, while a few are used over and over again. Testers have little (if any) information about the available techniques, their usefulness and, generally, how suited they are to the project at hand. This lack of information means less tuned decisions on which testing techniques to use. This paper presents the results of developing an artefact (called a characterisation schema) to assist with testing technique selection. When instantiated for a variety of techniques, the schema provides developers with a catalogue containing enough information for them to select the best suited techniques for a given project. The schema, and its associated catalogue, assure that the decisions developers make are based on grounded knowledge of the techniques rather than on perceptions, suppositions and assumptions.
Keywords: Software testing, testing techniques, technique selection, experience packaging.
Remarks

25 - TitleUML and Agents: Current Trends and Future Directions
AuthorsMarc-Philippe Huget, Agent ART Group, Dept. Computer Science, University of Liverpool, M.P.Huget@csc.liv.ac.uk
James Odell, James Odell Associates, email@jamesodell.com
Bernhard Bauer, Siemens CT IC 6, bernhard.bauer@siemens.com
PC MemberNo
Contact personMarc-Philippe Huget, M.P.Huget@csc.liv.ac.uk, Phone: +44 151 794 6791
Main Fields22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsMethodologies for Agent-based Systems
Abstract + KeywordsRecently, the development of multiagent systems is increasing significantly,
particularly in the domain of electronic commerce and business [31]. At the same time,
designing multiagent systems becomes more and more complex. As a consequence,
designers need methodologies and tools to build them. Current methodologies used in
object-oriented software engineering do not address this richness and the distribution
of agents increases the complexity of the problem. Two main directions are
considered in multiagent system design: extending software engineering methodologies
(or knowledge engineering ones) or providing specific agent engineering
methodologies. UML with its extension mechanisms (stereotypes and tagged values) is
a worthwhile candidate. Moreover, UML is widespread in software community. UML
has been extended for agents along several approaches: Agent UML [36],
MESSAGE/UML [8], AOR [43], Tropos [32] or PASSI [7] among others. The paper
presents both the state of the art for using UML to represent agent-based systems, as
well as possible future directions of work in this domain.
Remarks

26 - TitleTest Strategies and a Test Planning Framework for Component-Based Software and Software Product Lines
AuthorsRonny Kolb, Fraunhofer Institute for Experimental Software Engineering (IESE), kolb@iese.fraunhofer.de
Dirk Muthig, Fraunhofer Institute for Experimental Software Engineering (IESE), muthig@iese.fraunhofer.de
PC MemberNo
Contact personRonny Kolb, kolb@iese.fraunhofer.de, Phone: +49 6301 707-195
Main Fields4. Testing, Analysis, and Verification
6. Reuse
Other Main Fieldssoftware product lines
Abstract + KeywordsComponent-based software and software product lines are development paradigms that facilitate rapid construction of applications through the systematic reuse of existing artifacts. Based on this idea, these paradigms promise various improvements, such as increased productivity or shorter time-to-market.
To date, most research has been focusing on the definition and realization of reusable artifacts, as well as on their instantiation and integration while constructing concrete applications. Besides these issues, however, optimized quality assurance approaches are also crucial to not lose all the benefits through the mismatch of traditional single-system quality assurance activities and the new way of rapidly constructing applications.
In this paper, software testing as an element of quality assurance is discussed in the context of the development paradigms component-based software and product lines. The paper introduces basic test strategies and a framework that guides the systematic definition of an efficient test plan for a given reuse context.

keywords: software testing, component-based software, software product lines, test planning, test techniques and strategies
Remarks

27 - TitleQJBrowser: A Query-Based Browser for Exploring Crosscutting Concerns in Code
AuthorsRajeswari Rajagopalan, University of British Columbia, raji@cs.ubc.ca
Kris De Volder, University of British Columbia, kdvolder@cs.ubc.ca
PC MemberNo
Contact personKris De Volder, kdvolder@cs.ubc.ca, Phone: ++ 1 - 604 - 822 1209
Main Fields7. Software Understanding
16. CASE Tools and Software Development Environments
Other Main Fieldsaspect-oriented software development
Abstract + KeywordsTo carry out a task which involves changes across many different modules, .a developer needs to understand many different kinds of relationships between scattered parts of the code-base. We present QJBrowser, a prototype tool featuring a query based source code browsing model. The query-based browser model allows a developer to dynamically create many different kinds of browsers, selecting and organizing elements of a code base in terms of a multitude of properties and relationships. The browser model is flexible and simple enough to allow developer to define browsers “on-demand” based on their immediate needs in exploring code. Furthermore, they can define code-base specific browsers, relying on code-base specific knowledge in their definition. A code base specific browser can organize a code base in terms of higher-level relationships and concepts which—being scattered in the code— would be hard to discover with a traditional browser.
Remarks

28 - TitleBehavioural Analysis of Web Service Flow with Model-Checking Techniques
AuthorsShin Nakajima, Hosei University and PRESTO, JST, nkjm@i.hosei.ac.jp
PC MemberNo
Contact personShin Nakajima, nkjm@i.hosei.ac.jp, Phone: +81-3-3264-4486
Main Fields4. Testing, Analysis, and Verification
15. Formal Methods
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsWeb services
Abstract + KeywordsWeb service is an emerging software technology to use remote services
in the Internet. Each Web service is an autonomous server to offer
an individual service. It sometimes needs to combine more than one
to meet our requirements. WSFL(Web Services Flow Language), one of
the languages proposed for a standard, is a net-oriented flow language.
This paper proposes to use the SPIN model-checker for the verification
of descriptions written in WSFL. Since WSFL is net-oriented,
any WSFL descriptions, though syntactically correct, sometimes show
faulty global behaviours. Such faulty descriptions can be identified
by means of the proposed method. Further, the paper reports some
anomaly in the definition of the WSFL operational semantics in regard
to the handling of dataflows. It proposes a remedy to the anomaly as
well as discussions on the role of the model-checking technology for
use in the behavioural analysis of Web service flows.
Remarks

29 - TitleCharacterizing the Open Source Process: an Analysis Based on Sampling
AuthorsAndrea Capiluppi, Dipartimento di Automatica e Informatica - Politecnico di Torino, andrea.capiluppi@polito.it
Patricia Lago, Dipartimento di Automatica e Informatica - Politecnico di Torino, Patricia.Lago@polito.it
Maurizio Morisio, Dipartimento di Automatica e Informatica - Politecnico di Torino, morisio@polito.it
PC MemberNo
Contact personAndrea Capiluppi, andrea.capiluppi@polito.it, Phone: +39 0115647048
Main Fields19. Empirical Studies, Metrics
Other Main FieldsOpen Source software development
Abstract + KeywordsCurrent studies about Open Source software are based on the analysis of successful projects, and are supposed to explain the basis of Open Source successes. We see that at the moment there is a substantial lack of horizontal studies, which could help to highlight both the characteristics of Open Source failures and successes, and their strengths and weaknesses.
Our approach to Open Source was as follows: once identified a number of significant attributes, we made a sampling in an Open Source portal, where we collected 400 Open Source projects.
We let them grow for several months and then we analysed each project’s attributes twice: the second time (after six months) we re-made a second analysis and we gathered data for the same attributes as the first time.
The focus of the work here presented, is related to software production process, for which our goal is to answer to recurring research questions, such as: how do Open Source projects evolve through time, in terms of code size, release number and recognition? How can we state that a project is formally dead within an Open Source community?
Further, another focus we have is about the community of developers, and we considered the following questions: how do Open Source projects evolve in terms of developers? How can we define a ‘stable developer’ inside an Open Source project? Is there a difference in the evolution of Open Source projects when transient developers join in? How many users do open Source projects have?
Initial answers to questions above are presented and discussed.

Keywords
Software measurement, Open Source Software, empirical studies
Remarks

30 - TitlePair Programming and the Factors Affecting Brooks' Law
AuthorsLaurie Williams, North Carolina State University, williams@csc.ncsu.edu
Anuja Shukla, North Carolina State University, anuja@idealake.com
Annie Anton, North, aianton@unity.ncsu.edu
PC MemberYes
Contact personLaurie Williams, williams@csc.ncsu.edu, Phone: 919-513-4151
Main Fields17. Software Process, Workflow, CSCW
19. Empirical Studies, Metrics
Abstract + KeywordsSoftware project managers often add new team members to late software projects with mixed results. Through his law, “adding manpower to a late software project makes it later,” Brooks asserts that the assimilation, training and intercommunication costs of adding new team members outweigh the associated team productivity gain in the short term. Our studies show that pair programming reduces these three costs and enables new team members to contribute to a team effort sooner when compared to teams where new team members work alone. Adding manpower to a late project will yield productivity gains to the team more quickly if the team employs the pair programming technique.
Remarks

31 - TitleControl And Revision Of Information Systems In The Function Of The Quality Of The Management Information Systems
AuthorsMargarita Janeska, Kosta Sotiroski, mjaneska@yahoo.com
PC MemberNo
Contact personMargarita Janeska , mjaneska@yahoo.com, Phone: +X
Main Fields13. Reliability, Quality Assurance
Abstract + KeywordsAbstract

        Information technology is an imperative of the modern working. Not only the information systems are the background of the business management, today, but also they have become its important part.
        To function properly, the information system, as any other, needs controlling and revising. Controling defines the measures needed to gain the goals of the managing with the information systems. Revision, on the other hand, confirms if the proper control is practiced within the information system. At least one type of control in necessary for each and any kind of probable unwanted process or situation.
        In our everyday business practice the revision of the information systems is something that is obviously necessary.
        From that point of view, this paper will point out the revision of the information systems as an important thing in gaining the best possible quality of their operation.
        Two aspects will be worked on here:
·        Reason that lead to controlling and revising the information systems; and
·        Goals gained after the information systems being revised.


Key words: control, revision, information systems, quality.
Remarks

32 - TitleComment-First Coding and Just in Time (JIT) Collective Code Ownership in Extreme Programming (XP)
AuthorsSelahattin KURU, Department of Computer Engineering, Iþýk University, Istanbul, TURKEY, kuru@isikun.edu.tr
Mustafa YILDIZ, Department of Computer Engineering, Iþýk University, Istanbul, TURKEY, mustafa@isikun.edu.tr
Gürol ERDOÐAN, Department of Computer Engineering, Iþýk University, Istanbul, TURKEY, gurol@isikun.edu.tr
PC MemberNo
Contact personMustafa YILDIZ, mustafa@isikun.edu.tr, Phone: +90 212 2862960
Main Fields17. Software Process, Workflow, CSCW
Other Main FieldsImplementation Practices
Abstract + KeywordsExtreme Programming (XP) is described as “a lightweight discipline of software development which is designed to use with small teams who need to develop software quickly in an environment of rapidly-changing requirements”. The word lightweight is used for a methodology that does not have strict rules but have some rules and practices that are easy to follow. This paper introduces two new practices for the XP paradigm: Comment-first coding and Just in time collective code ownership. These practices are tested on the development of an on-line student information and registration software for a university. A tool is being developed to support these practices.
Remarks

33 - TitleSoftware Design Principles and Practices
AuthorsKirk Kandt, Jet Propulsion Laboratory, ronald.k.kandt@jpl.nasa.gov
PC MemberNo
Contact personKirk Kandt, ronald.k.kandt@jpl.nasa.gov, Phone: 818-393-0907
Main Fields2. Design
Abstract + KeywordsJet Propulsion Laboratory (JPL) has an on-going process improvement program that is assessed against ISO and CMMI criteria. To help JPL meet these criteria, a Software Quality Improvement project was recently established to define software requirements, guidelines, and processes consistent with these two standards and infuse this technology into the organization. In support of this task, the author identified hundreds of software development practices. This paper discusses those practices, and underlying principles, that address common design problems. In addition, some brief ideas are presented about the influence of good design practices on the design of programming languages and integrated development environments. Lastly, some hints are provided for creating improved design methodologies.
Remarks

34 - TitleOn the Uniformity of Software Evolution Patterns
AuthorsEvelyn Barry, Mays Busness School at Texas A&M University, ebarry@cgsb.tamu.edu
Chris Kemerer, Katz Graduate School of Business at the University of Pittsburgh, CKEMERER@katz.pitt.edu
Sandra Slaughter, Graduate School of Industrial Administration at Carnegie Mellon University, sandras@andrew.cmu.edu
PC MemberNo
Contact personEvelyn Barry, ebarry@cgsb.tamu.edu, Phone: (979) 845-2254
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
Abstract + KeywordsPreparations for Y2K reminded the software engineering community of the extent to which long-lived software systems are embedded in our daily environments. As systems are maintained and enhanced throughout their lifecycles they appear to follow generalized behaviors described by the laws of software evolution. Within this context, however, there is some question of how and why systems may evolve differently. The objective of this work is to answer the question, do systems follow a set of identifiable evolutionary patterns? In this paper we characterize software evolution as software volatility, and examine the lifecycle evolution of 23 software systems. By using a series of mapping techniques and sequence analysis, we create volatility pattern vectors for each system. Factor analysis groups the 23 individual patterns into four clusters. Thus, we show by example that there are different patterns of system behavior within the context of software evolution.

Key words: Software Evolution, Software Maintenance, Software volatility, Lifecycle Maintenance
Remarks

35 - TitleThe iDarwin toolkit -- a Powerful Yet Simple Module Architecture Language and Compliance Checker
AuthorsReto Kramer-Malz, BEA Systems, kramer@acm.org
PC MemberNo
Contact personReto Kramer-Malz, kramer@acm.org, Phone: 415 402 7313
Main Fields3. Software Architectures, Patterns, and Frameworks
5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
11. Programming Language-Based Approaches to S/W Engineering
13. Reliability, Quality Assurance
17. Software Process, Workflow, CSCW
Abstract + KeywordsProgramming languages such as Java(TM) do not have a powerful enough module system to express architecture structures such as layering and isolation of subsystems. This paper describes a new, pragmatic module architecture specification language and a toolkit to check code for compliance. A module architecture specification can be structured into product-wide groundrules (applicable to all subsystems) and subsystem, layer or even module-specific rules. The toolkit will compose the specifications automatically using the notion of "rule specificness". The toolkit uses a new approach to detecting contradictory statements and suggests ways to resolve them. iDarwin makes it easy to capture the module architectural intent and is an effective tool to ensure that code modules do not suffer from unnoticed dependency-creep over time.
Remarks

36 - TitleA model for inspection efficiency prediction
AuthorsTrevor Cockram, Department of Computer Science Open University, trevor.cockram@praxis-cs.co.uk
Patrick Hall, Department of Computer Science Open University, p.a.v.hall@open.ac.uk
Darrel Ince, Department of Computer Science Open University, d.c.ince@open.ac.uk
PC MemberNo
Contact personDarrel Ince, d.c.ince@open.ac.uk, Phone: 0044 1908 652348
Main Fields19. Empirical Studies, Metrics
Abstract + KeywordsWhile inspections are a valuable tool for software quality assurance, inspection models are labour intensive, require knowledge of all errors in a software product, make questionable assumptions, and do not capture the experience of inspectors. In this paper we describe a novel inspection model based on Bayesian belief networks that overcomes many of these problems. We describe the problems which affect the inspection process, outline how Bayesian belief network are able to provide a powerful mechanism and describe data taken from a large number of inspections which provide a validation of the model.
Remarks

37 - TitleConditional and Partial Scenarios: Refinement-Based Requirements Capture Methodologies Using Triggered Message Sequence Charts
AuthorsBikram Sengupta, Department of Computer Science, SUNY at Stony Brook, sbikram@cs.sunysb.edu
Rance Cleaveland, Department of Computer Science, SUNY at Stony Brook, rance@cs.sunysb.edu
PC MemberNo
Contact personBikram Sengupta, sbikram@cs.sunysb.edu, Phone: (631)216-2471
Main Fields1. Requirements Engineering
2. Design
Abstract + KeywordsWe present two requirements capture methodologies based on Triggered Message
Sequence Charts (TMSCs) and illustrate them through appropriate case studies. The
first approach, based on conditional scenarios, interweaves constraint-based and
prescriptive system requirements within a specification; it is ideal when global system
properties have to be preserved during the composition of subsystems. The second
approach supports extensible specifications, where a partial description of system
behavior may be elaborated in a succession of steps; it is thus suitable for the
incremental development of complex systems. A robust notion of refinement, based on
De Nicola's and Hennessy's must preorder, enhances the usefulness of these
methods by correctly adhering to conditional-scenario constraints on the one hand,
and properly elaborating partial behavior on the other.
Remarks

38 - TitleMaintainability versus Performance: What's the Effect of Introducing Polymorphism ?
AuthorsSerge Demeyer, University of Antwerp, serge.demeyer@ua.ac.be
PC MemberNo
Contact personSerge Demeyer, serge.demeyer@ua.ac.be, Phone: +32 (0)3 820 24 14
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
8. Object-Oriented Technologies
Abstract + KeywordsThe notion of refactoring -transforming the source-code of an object-oriented program without changing its external behavior- has been embraced by many object-oriented software developers as a way to accommodate changing requirements. If applied well, refactoring improves the maintainability of the software, however it is believed that it does so at the sake of performance. To investigate this trade-off, we compared the performance of a program which contains large conditionals against one where the conditionals were replaced by polymorphic method calls. We discovered that C++ programs refactored this way perform faster than their non-refactored counterparts, hence advise programmers not to obfuscate their programs with conditional logic in order to obtain good performance.
Remarks

39 - TitleInvestigating the Use of Analysis Contracts as Test Oracles
AuthorsLionel Briand, Carleton University, briand@sce.carleton.ca
Yvan Labiche, Carleton University, labiche@sce.carleton.ca
Hong Sun, Carleton University, hongsun@sce.carleton.ca
PC MemberNo
Contact personYvan Labiche, labiche@sce.carleton.ca, Phone: +1 613 520 2600 ext. 5583
Main Fields4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
Abstract + KeywordsA number of activities involved in testing software are known to be difficult and time consuming. Among them is the definition and coding of test oracles. In this paper, we investigate how the instrumentation of contracts could address this issue. Contracts are known to be a useful technique to specify the precondition and postcondition of operations and class invariants, thus making the definition of object-oriented analysis or design elements more precise. It is one of the reasons OCL was included in UML. Our aim in this paper is to reuse and instrument contracts to ease testing. A thorough case study is run where we define OCL contracts, instrument them using a commercial tool, and assess the benefits and limitations of doing so to support the automated detection of failures. We then draw practical conclusions regarding the applicability of the approach and its limitations.
Remarks

40 - TitleHierachical Process Patterns: Construct Software Processes in a Stepwise Way
AuthorsHeyuan Huang, Ph.D., heyuanhuang@sjtu.edu.cn
Shensheng Zhang, Professor, sszhang@sjtu.edu.cn
Jian Cao, Associate Professor, cao-jian@cs.sjtu.edu.cn
PC MemberNo
Contact personHeyuan Huang, heyuanhuang@sjtu.edu.cn, Phone: +86 21 62933840
Main Fields3. Software Architectures, Patterns, and Frameworks
6. Reuse
17. Software Process, Workflow, CSCW
Abstract + KeywordsAbstract
Patterns are widely used to capture design decisions and rationale of software, but they could also be used to document and guide the development of software process. Based on the comparison and analysis of several typical process patterns, this paper proposes a framework called Hierachical Process Patterns (HPP), under which organizations could construct software process in a stepwise way.
In our framework, there are three types of pattern: lifecycle pattern, activity pattern, and workflow pattern. This division makes it easier to tailor and refine software processes. To describe the workflow of process pattern and relationships between roles and artifacts of realized activity and those of sub activities, we present a set of representation mechanism and define role inheritance diagram and artifact decomposition diagram. Finally, we give an example to illustrate how to apply our framework in SPDM, which is a process-centered software engineering environment developed by us.
Keywords
Pattern, Process Pattern, Software Process, Software Process Reuse
Remarks

41 - TitleA Practical Iterative Development Process for Large Software-Intensive Systems
AuthorsEly Bonne, RAFAEL Ltd., elyb@rafael.co.il
Boaz Shani, RAFAEL Ltd., boazsh@rafael.co.il
Amir Tomer, RAFAEL Ltd., tomera@rafael.co.il
PC MemberNo
Contact personEly Bonne, elyb@rafael.co.il, Phone: +(972)-4-8792243
Main Fields17. Software Process, Workflow, CSCW
Abstract + KeywordsIterative software development has been proven to be a sound and efficient software process approach for a number of years. A widely known description of this approach is the Unified Software Development Process (USDP) introduced by Rational Inc. RAFAEL produces many large software-intensive systems, under fixed-price contracts for government customers who expect continuous insight and progress control. We discovered that the USDP cannot be straightforwardly adopted for the development of such systems, due to significant uncovered issues. This paper describes a complete iterative system development process, extending the USDP, which has been developed and adopted in RAFAEL. This is an "end to end" process covering both system and software engineering disciplines, defining precisely the development stages, their work products and reviews.

Keywords: iterative development, software-intensive systems, USDP, life cycle phases, CSCI
Remarks

42 - TitleQuality Assessment for Object-Oriented Designs
AuthorsRalf Reissing, DaimlerChrysler AG, Research and Technology, Software Architecture Dept., reissing@informatik.uni-stuttgart.de
PC MemberNo
Contact personRalf Reissing, reissing@informatik.uni-stuttgart.de, Phone: +49 7031 9085054
Main Fields2. Design
8. Object-Oriented Technologies
13. Reliability, Quality Assurance
19. Empirical Studies, Metrics
Abstract + KeywordsDesign plays a pivotal role in software development.
It strongly influences the subsequent implementation
and maintenance phases. Therefore it makes good sense
to strive for high design quality. As it is difficult
to create a good design straightaway, quality assurance
in the form of design assessment is needed. Design assessment
is done here on the basis of the Object-Oriented Design
Model (ODEM), a formal reference model of object-oriented
design based on the UML meta-model.

The foundation of design quality assessment is a quality model.
First a general quality model called Quality Model for
Object-Oriented Design (QOOD) is introduced. From this
general model specific quality models can be derived that
are adapted to concrete quality requirements. QOOD is
fully quantified. As automatable objective metrics are
not sufficient for quantification, because they do not
cover semantic aspects (like cohesion) well, also
subjective metrics are used, assisted by questionnaires.

Keywords: Object-Oriented Design, Quality Assessment, Metrics
Remarks

43 - TitleA Claim-Based Agent-Oriented Architecture for Natural Language Interfaces
AuthorsBabak Hodjat, Dejima Inc., babak@dejima.com
Siamak Hodjat, Dejima Inc., siamak@dejima.com
Makoto Amamiya, Kyushu University, amamiya@al.is.kyushu-u.ac.jp
PC MemberNo
Contact personBabak Hodjat, babak@dejima.com, Phone: (408) 938 4515
Main Fields12. AI-Based Approaches to S/W Engineering
Abstract + KeywordsIn Natural Language Interaction (NLI) the problem is to map the intent of the user to the functionality of the application. We propose a solution to this problem by assigning claim-based agents to functional sub-domains of an application and devising an inter-agent coordination mechanism that selects the best combination of claims on the input, thus delegating the processing of the input to appropriate agents. Real world applications of this method in limited domains have helped rapidly create NLIs that are robust, context aware, and easy to use.
Remarks

44 - TitleThe role of Architecture in Extreme Programming
AuthorsNeil Harrison, Avaya, nbharrison@avaya.com
PC MemberNo
Contact personNeil Harrison, nbharrison@avaya.com, Phone: 1-303-538-1541
Main Fields3. Software Architectures, Patterns, and Frameworks
17. Software Process, Workflow, CSCW
Abstract + KeywordsIndividuals from six projects using Extreme Programming (XP) were interviewed about their use of XP.
They were asked which practices they used, and which they didn't. It was notable that no project used Metaphor,
a key practice in XP, but all performed software architecture, which Metaphor intends to replace.

Architecture is often considered too heavyweight for XP, but architecture can be done in a minimal manner that is
compatible with XP. Architecture can actually strengthen many of the XP practices, allowing XP to scale to larger
projects than XP originally supported.

A platform is currently being developed with architecture setting the stage for development using XP practices.
The architecture is in a minimal style, in order to increase comprehension and support XP-style development.

Keywords:
Agile software, Architecture, Extreme Programming, Information Hiding, Process
Remarks

45 - TitleA Tamper-Detecting Implementation of Lisp
AuthorsDennis Heimbigner, University of Colorado, dennis.heimbigner@colorado.edu
PC MemberNo
Contact personDennis Heimbigner, dennis.heimbigner@colorado.edu, Phone: 303-492-6643
Main Fields14. Safety and Security
Abstract + KeywordsAn important and recurring security scenario involves the need
to carry out trusted computations in the context of untrusted
environments. It is demonstrated how a programming language
- specifically Lisp 1.5 - can be used to provide a convenient and
general mechanism for safe utilization of the memory of an
untrusted host by a secure co-processor. This is accomplished by
providing a tamper-detecting interpreter for the language. The
term "tamper-detecting" means that any attempt to corrupt a
computation carried out by a program in the language will be
detected on-line and the computation aborted. This approach is in
contrast to prior work, which has focused on providing specific
data structures stored in the host's memory. These data
structures have the property that they can detect attempts by the
host to tamper with the data structure. The language approach has
several advantages including ease of use and the ability to
provide tamper-detection for any data structure that can be
constructed using the language.

RemarksThe .doc, .pdf, and .ps.gz files
should all be equivalent.
Ignore the .ps file.

46 - TitleInteractive Metamodel Compliance Checking of Requirements in a Semiformal Representation
AuthorsHermann Kaindl, Siemens AG Austria, hermann.kaindl@ieee.org
Stefan Kramer, Albert-Ludwigs University Freiburg, skramer@informatik.uni-freiburg.de
Mario Hailing, Siemens AG Austria, mario.hailing@siemens.com
Vahan Harput, Siemens AG Austria, vahan.harput@siemens.com
PC MemberNo
Contact personHermann Kaindl, hermann.kaindl@ieee.org, Phone: +43 51707 43288
Main Fields1. Requirements Engineering
16. CASE Tools and Software Development Environments
Abstract + KeywordsChecking requirements is highly desirable but hard to achieve in practice, where only word processors are used in most projects. While in this case reviews are more or less the only means, formal representations allow for a variety of automated checks. Unfortunately, formal representations of requirements are rarely available in practice.
Semiformal representations are easier to obtain and still offer some possibilities for automated checks. Based on an object-oriented hypertext representation, we present an implemented approach for compliance checks against a meta-model. In addition to allowing checks to be invoked by a human user of the tool, the checks are periodically and automatically invoked by taking into account the already existing information on the requirements. In summary, we propose an interactive approach with shared initiative between the tool and its user for compliance checking of requirements against a metamodel in a semiformal representation.

Requirements, semiformal representation, compliance checking
Remarks

47 - TitleUse of Dynamic Algorithms to minimize the Query Response Time in Distributed Query Optimization
AuthorsDr Joan Morrissey, University of Windsor, joan@uwindsor.ca
Lubna Sachwani, University of Windsor, sachwan@uwindsor.ca
PC MemberNo
Contact personLubna Sachwani, lsachwani@yahoo.com, Phone: 519-258-8272
Main Fields6. Reuse
18. Software Project Management and Cost Estimation
Other Main FieldsQuery Optimization in Distributed Databases
Abstract + KeywordsA new JAL dynamic algorithm is presented. This is an efficient method of creating the query plans dynamically without having to provide extra costly information to help decision-making. With no monitoring required, the query plans are generated on the fly and the query response time is minimized. This heuristic is not only dynamic but it also ensures that the query response time is either less than or equal to the existing static query plans without increasing the complexity of the query processing.
Remarks

48 - TitleFunction Point Analysis of Object-Oriented Requirements Specifications
AuthorsVahan Harput, Siemens AG Austria, vahan.harput@siemens.com
Hermann Kaindl, Siemens AG Austria, hermann.kaindl@ieee.org
Stefan Kramer, Albert-Ludwigs University Freiburg, skramer@informatik.uni-freiburg.de
PC MemberNo
Contact personHermann Kaindl, hermann.kaindl@ieee.org, Phone: +43 51707 43288
Main Fields1. Requirements Engineering
8. Object-Oriented Technologies
18. Software Project Management and Cost Estimation
Abstract + KeywordsIn practice, it is very important to determine the size of a proposed software system yet to be built based on its requirements, i.e., early in the development life cycle. Given a size estimate, it is usually possible to estimate the effort that will be needed to build this system. The most widely used approach to size estimation is Function Point Analysis (FPA). It is not clear, however, how function points can be reasonably counted for object-oriented requirements specifications. We found that this cannot be done fully automatically, since several constructs of such a representation can be interpreted in various ways in the spirit of FPA, depending on the context. For applying FPA to object-oriented requirements specifications, we defined rules that specify a semi-automatic transformation from an object-oriented requirements model to an FPA model.

Function Point Analysis, object-oriented modeling, requirements
Remarks

49 - TitleCross Validation of Software Maintenance Types and Problem Management in Corrective Maintenance
AuthorsMira Kajko-Mattsson, IT University, Kista, Sweden, mira@dsv.su.se
Ned Chapin, InfoSci Inc., Menlo Park CA, NedChapin@acm.org
PC MemberNo
Contact personNed Chapin, NedChapin@acm.org, Phone: 650-854-1567
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
17. Software Process, Workflow, CSCW
Abstract + KeywordsThis paper reports an eight-way cross-validation of two
independently done software studies published in 2001, with
results strongly supporting the reported findings of both
research efforts. One of the prior independent studies was
a detailed research study of problem management in
corrective maintenance as practiced in two multinational
organizations in Sweden, and validated within more than
fifteen additional organizations. The other prior
independent study recognized types of software maintenance
at different levels of granularity, based on objective
evidence of the activities done during the maintenance
work. That study was done inthe USA but with
contributions from the UK and from Australia.
The research reported in this paper examined (1) the
extent to which corrective maintenance activities were
observed to include other types of maintenance activities,
and (2) the extent to which management activities presumed
to be present were actually observed. The research results
showed that the corrective maintenance matched the
predicted pattern of supporting maintenance types and the
presence of management activities. The concentration of
management activities was greatest in the evaluative type of
maintenance, and as expected from the types study, the
activities involved in evaluative maintenance contributed
the most support to corrective maintenance.

Keywords: corrective maintenance; activities in software
maintenance; types of software maintenance; problem management
in software maintenance; management of software maintenance.
Remarks

50 - TitleConstructing Test Suites for Interaction Testing
AuthorsMyra B. Cohen, Dept. of Computer Science, University of Auckland, myra@cs.auckland.ac.nz
Peter B. Gibbons, Dept. of Computer Science, University of Auckland, peter-g@cs.auckland.ac.nz
Warwick B. Mugridge, Dept. of Computer Science, University of Auckland, rick@cs.auckland.ac.nz
Charles J. Colbourn, Dept. of Computer Science and Engineering, Arizona State University, charles.colbourn@asu.edu
PC MemberNo
Contact personMyra Cohen, myra@cs.auckland.ac.nz, Phone: 64 9 7599 ext. 4028
Main Fields4. Testing, Analysis, and Verification
Abstract + KeywordsSoftware system faults are often caused by unexpected interactions among components. Yet the size of a test suite required to test all possible combinations of interactions can be prohibitive in even a moderately sized project. Instead, we may use pairwise or t-way testing to provide a guarantee that all pairs or t-way combinations of components are tested together. This concept draws on methods used in statistical testing for manufacturing and has been extended to software system testing. A covering array, CA(N;t,k,v), is an N x k array on v symbols such that every N x t sub-array contains all ordered subsets from v symbols of size t at least once. The properties of these objects, however, do not necessarily satisfy real software testing needs. Instead we examine a less studied object, the mixed level covering array and propose a new object, the variable strength covering array, which provides a more robust environment for software interaction testing. Initial results are presented suggesting that heuristic search techniques are more effective than some of the known greedy methods for finding smaller sized test suites. We present a discussion of an integrated approach for finding covering arrays and discuss how application of these techniques can be used to construct variable strength arrays.

Keywords: software testing, combinatorial designs, heuristic search
Remarks

51 - TitleBINTEST -- Binary Search-based Test Case Generation
AuthorsSami Beydeda, University of Dortmund, sb@ls10.de
Volker Gruhn, University of Leipzig, vg@ls10.de
PC MemberNo
Contact personSami Beydeda, sb@ls10.de, Phone: +49 231 755 4895
Main Fields4. Testing, Analysis, and Verification
Abstract + KeywordsOne of the important tasks during software testing is the generation of appropriate test cases. Various approaches have been proposed to automate this task. The approaches available, however, often have problems limiting their use. A problem of dynamic test case generation approaches, for instance, is that a large number of iterations can be necessary to obtain test cases. This article proposes a novel algorithm for automated test case generation based on binary search. Binary search conducts searching tasks in logarithmic time, as long as its assumptions are fulfilled. This article shows that these assumptions can also be fulfilled in the case of path-oriented test case generation and presents an algorithm which can be used to generate test cases covering certain paths in control flow graphs in methods.
Remarks

52 - TitleFormal Specification for Plywood Production
AuthorsRosziati Ibrahim, Universiti Malaysia, rosziati@fit.unimas.my
Marlene Lu, Universiti Malaysia, marlene@fit.unimas.my
PC MemberNo
Contact personRosziati Ibrahim, rosziati@fit.unimas.my, Phone: 6082 671000 ext 380
Main Fields15. Formal Methods
Abstract + KeywordsFormal notations and mathematics are used in several areas to
capture the requirements and express the functionalities of the
software. This paper focuses on the use of formal specification
to model the real world environment in a Malaysian plywood
production manufacturing industry. The formal specification
describes abstractly the plywood production system in the
aspect of its behavior but not precisely the way the system is
programmed. Other informal description does the same, but with
a formal description we can determine (in theory) whether or
not a real system satisfies its description and
functionalities. Because of this, precise analysis on the
description itself can be performed and it exposes design
decisions which otherwise might not be identified until the
system prototype is being developed.
RemarksEntered by RvdS

53 - TitleEngineering Object-Oriented Theories for MDA
AuthorsTony Clark, King's College London, UK, anclark@dcs.kcl.ac.uk
Andy Evans, University of York, UK, andye@cs.york.ac.uk
Robert France, Colorado State University, france.CS.ColoState.EDU
PC MemberNo
Contact personTony Clark, anclark@dcs.kcl.ac.uk, Phone: +44 208 810 9703
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
6. Reuse
8. Object-Oriented Technologies
9. Component and Interoperability Technologies
Abstract + KeywordsThis paper reviews the requirements for the current OMG initiative for Model Driven Architecture (MDA) and proposes a number of generic modelling technologies that can be used to support MDA. These include: package specialization, templates and OO theories. The paper uses the techniques to engineer a simple modelling language and to outline how object theories can be used to refactor models in the language and refine the models towards an implementation.
Remarks

54 - TitleRequirements Visualisation for Effective User Validation
AuthorsMehmet Ozcan, Sheffield Hallam University, UK, M.B.Ozcan@shu.ac.uk
Paul Parry, Sheffield Hallam University, UK, p.w.parry@shu.ac.uk
PC MemberNo
Contact personMehmet Ozcan, M.B.Ozcan@shu.ac.uk, Phone: +44 (0)114 225 3175
Main Fields1. Requirements Engineering
Abstract + KeywordsUse of requirements visualisation has the potential to facilitate and enhance communication between stakeholders during requirements validation. The use of visual technology supported by a human-centered process to elicit and validate software requirements allows complex concepts and information to be presented in ways that non-technical user stakeholders find easier to understand.
Our work involves the use of an executable formal specification with extensions to form an animation system as the basis for the construction of a prototype system. It employs the notion of ‘scenarios’ for validation through the provision of visual technology to facilitate a flexible and customisable approach that distances the visual representation away from formality. The visual representations correspond to the users’ own perceptions in their application domain, thereby facilitating a social interaction supported by a scenario based approach which allows additional knowledge to be elicited to evolve requirements, rather than just for clarification and validation.

Keywords: Requirements, Visualisation, Animation, Prototyping, Formal Specifications, Validation
Remarks

55 - TitleThe Role of Component Documentation in CBSE Design
AuthorsStephen Owen, Keele University, scowen@cs.keele.ac.uk
David Budgen, Keele University, d.budgen@cs.keele.ac.uk
Pearl Brereton, Keele University, o.p.brereton@cs.keele.ac.uk
PC MemberNo
Contact personStephen Owen, scowen@cs.keele.ac.uk, Phone: +441782584311
Main Fields2. Design
6. Reuse
9. Component and Interoperability Technologies
19. Empirical Studies, Metrics
Abstract + KeywordsThe development of ideas about Component-Based Software Engineering (CBSE) has largely focused upon the nature and form of components, with relatively little attention being given to how CBSE solutions might be developed. In our initial studies of how component-based solutions are developed we have made extensive use of non-intrusive data collection (NIDC). In this paper we review our experiences of combining this with different forms of intrusive data collection when investigating how information about components is used during design, and describe a recent study that we have conducted using a mix of ‘think-aloud’ and NIDC. From our preliminary analysis, we conclude that there are aspects of subject behaviour that could not be easily detected without using such a combination and also that the NIDC data can be useful for managing the video data.

Keywords: software design; protocol analysis; non-intrusive data collection; use of documentation
Remarks

56 - TitleComparison of Two Component Frameworks: The FIPA-Compliant Multi-Agent System and The Web-Centric J2EE Platform
AuthorsMichelle Casagni, The MITRE Corporation, mcasagni@mitre.org
Margaret Lyell, The MITRE Corporation, mlyell@mitre.org
PC MemberNo
Contact personMichelle Casagni, mcasagni@mitre.org, Phone: 703-883-2796
Main Fields3. Software Architectures, Patterns, and Frameworks
Abstract + KeywordsAbstract:
This work compares and contrasts two component frameworks: (1) the web-centric Java 2 Enterprise Edition (J2EE) framework
and (2) the FIPA-compliant multi-agent system (MAS). FIPA, the Foundation for Intelligent Physical Agents, provides specifications
for agents and agent platforms. Both frameworks are component frameworks; servlets and Enterprise Java Beans (EJBs) in the
case of J2EE and software agents in the case of MAS. Both frameworks are specification based. Both frameworks mandate
platform responsibilities towards their respective component(s).

We develop a framework with which to structure the comparison of the component frameworks. We apply this comparison
structure in the context of a 'Data Access' scenario to application development in the respective component frameworks.
Furthermore, we have prototyped this scenario in each of the two component frameworks. We conclude with a discussion of
the benefits, drawbacks, and issues of developing new applications in each of the component frameworks.

Keywords:
Software Agents, FIPA, Java 2 Enterprise Edition (J2EE), Component Frameworks, Enterprise Java Beans (EJB), Components
RemarksIEEE Copyright form is forthcoming

57 - TitleDeterminants of Software Process Improvement Success in Small and Large Organizations: An Empirical Study in the Scandinavian Context
AuthorsTore Dyba, SINTEF Telecom and Informatics, tore.dyba@sintef.no
PC MemberNo
Contact personTore Dyba, tore.dyba@sintef.no, Phone: +47 73 59 29 47
Main Fields19. Empirical Studies, Metrics
Abstract + KeywordsExisting software engineering and organization development literature acknowledges that there are fundamental operational differences between small and large organizations. Despite this recognition, there has been no attempt to verify whether small and large software organizations implement software process improvement (SPI) programs differently in order to advance their businesses.

This study examines whether an organization’s size affects its SPI implementation strategy and the degree of SPI success. Based on an extensive literature review of critical factors of quality management, organizational learning, and SPI, a survey questionnaire was developed and data on the implementation of six organizational factors and the resulting organizational performance was collected through a mail survey of 120 software organizations. The findings show that small organizations reported that they implement SPI elements as effectively as large organizations, and in turn, achieve high organizational performance. The main lesson to be learned from this study is that to implement SPI at least as effectively as their large counterparts, small software organizations should capitalize on their relative strengths in employee participation and exploration of new knowledge.
Remarks

58 - TitleImproving Interceptor Modeling in UML
AuthorsTorben Weis, TU Berlin, weis@ivs.tu-berlin.de
Andreas Ulbrich, TU Berlin, ulbi@ivs.tu-berlin.de
Kurt Geihs, TU Berlin, geihs@ivs.tu-berlin.de
PC MemberNo
Contact personTorben Weis, weis@ivs.tu-berlin.de, Phone: +49 30 314 79833
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
8. Object-Oriented Technologies
Abstract + KeywordsInterceptors represent a frequently used design pattern in different domains such as graphical user interfaces and distributed systems. However, implementing interceptors is a cumbersome job and the resulting code is not type safe. Determining the behavior of an interceptor from its implementation is very difficult, too. We show how UML models can be used to avoid these shortcomings. UML models are strongly typed, therefore, type safety that cannot be achieved on the source code level can be achieved in the model. Furthermore, the same model can provide documentation of the interceptor's behavior and it can be input to a code generator. Interceptor diagrams utilize hierarchical message sequence charts and class diagrams for interceptor modeling and code generation. Thus, standard UML tools can be used to model interceptors.
Remarks

59 - TitleA Mechanism for Performance Improvement and Evaluation for Real-Time Software Systems in the Design Stage with SDL Approach
AuthorsDiyu Wang, Centre for Communications Research, University of Bristol, United Kingdom, diyu.wang@bristol.ac.uk
Alistair T. Munro, Centre for Communications Research, University of Bristol, United Kingdom, alistair.munro@bristol.ac.uk
Michael H. Barton, Centre for Communications Research, University of Bristol, United Kingdom, m.h.barton@bristol.ac.uk
PC MemberNo
Contact personDiyu Wang, diyu.wang@bristol.ac.uk, Phone: +44 (0) 117 9151277
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
15. Formal Methods
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsObject communication protocol efficiency is un-ignorable for performance engineering of software systems. SDL is promising to bridge protocol engineering and software performance in the design stage. This paper proposes a "Flag" entity and "Flag Tree" mechanism for restructuring object communication protocol and improving computation performance in the design stage. Modelled by SDL, the "Flag Tree" mechanism is capable of optimising object communication and computation, by parallelising object processing, reducing message traffic and cutting state space. This is demonstrated by applying the Flag Tree mechanism to the combination of two scenarios of reconfiguration processes for a reconfiguration management architecture of mobile terminals and network servers in software radio environment.
The "Flag" entity and "Flag Tree" mechanism will eventually form a framework for compositional efficient protocol development and performance evaluation for real-time software systems, with concise and formal specification.

Keywords: Software engineering, SDL, performance, finite state machine, object communication protocol
Remarks

60 - TitleVerification of Behavior in Component Frameworks: a Formal Approach
AuthorsSabine Moisan, INRIA, Sabine.Moisan@inria.fr
Annie Ressouche, INRIA, Annie.Ressouche@inria.fr
Jean-Paul Rigault, University of Nice Sophia Antipolis and CNRS, jpr@essi.fr
PC MemberNo
Contact personSabine Moisan, Sabine.Moisan@inria.fr, Phone: +33 4 92 38 78 47
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
6. Reuse
8. Object-Oriented Technologies
9. Component and Interoperability Technologies
15. Formal Methods
Abstract + KeywordsWhen using a component framework, developers need to respect the behavior implemented by the components. Static information about the component interface is not sufficient. Dynamic information such as the description of valid sequences of operations is required. Instead of being in some external documentation, this information should be formally represented and embedded within the components themselves, so that it can be used by tools. In this paper we propose a mathematical model and a formal language to describe the knowledge about behavior. The model is based on behavioral description of components and on model checking techniques. We favor a structural approach allowing incremental simulation, automatic verification, code generation, and
run-time checks. Associated tools may ensure correct and safe reuse of
components. We focus on specialization of components, owing to the notion of behavioral refinement.


Keywords: framework, reusable and adaptable components, behavioral
substitutability, transition systems, model checking
Remarks

61 - TitleSoftware's Role in Aviation Safety: New Lessons from Korean Air Flight 801
AuthorsWilliam Greenwell, University of Virginia, wsg6p@cs.virginia.edu
John Knight, University of Virginia, knight@cs.virginia.edu
PC MemberNo
Contact personJohn Knight, knight@cs.virginia.edu, Phone: 434.982.2216
Main Fields14. Safety and Security
Abstract + KeywordsAbstract
In this paper we examine the August 6, 1997 crash of Korean Air flight 801. This crash involved a Boeing 747-300 carrying 254
people that crashed into Nimitz Hill, Guam while on final approach.
We focus on the Federal Aviation Administrations (FAA) partial
inhibition of a ground-based warning system that, if it had been
fully operational, could have prevented the accident by alerting
air traffic controllers 64 seconds prior to the crash. We show
how the FAA allowed modifications to be made to the software of
this system apparently without considering how those modifications
would affect the safety case the system was designed to address.
We present lessons that should have been learned from this accident
that are in addition to those presented by the National Transportation Safety Board (NTSB) in its final report on the
accident.

Keywords
Configuration management, safety, aviation safety.
Remarks

62 - TitleA Comparative Study of Formal and Informal Specifications through an Industrial Case Study
AuthorsManoranjan Satpathy, Department of Computer Science, University of Reading, UK, M.Satpathy@reading.ac.uk
Colin Snook, Department of Electronics and Computer Science, University of Southampton, cfs98r@ecs.soton.ac.uk
Rachel Harrison, Department of Computer Science, University of Reading, UK, #rachel.harrison@reading.ac.uk
Michael Butler, Department of Electronics and Computer Science, University of Southampton, mjb@ecs.soton.ac.uk
Paul Krause, Philips Research Laboratories, UK, paul.krause@philips.com
PC MemberNo
Contact personManoranjan Satpathy, M.Satpathy@reading.ac.uk, Phone: +44-118-931 6423
Main Fields8. Object-Oriented Technologies
15. Formal Methods
19. Empirical Studies, Metrics
Other Main FieldsFormal Specification
Case Study
Abstract + KeywordsThere are few studies that consider the relative merits of formal specification. In this paper, we discuss an industrial case study using B and UML. The object of our case study is the teletext module of a new generation TV from Philips Electronics. We discuss our experience, and present an analysis of both specifications. We found that in order to specify a real-time event-driven system some formality is necessary
which UML does not usually provide. Our industrial collaborators are
considering changing their specification process based on this.
Remarksboth pdf and ps file submitted
pdf entered by RvdS, by request of author.

63 - TitleRepresenting Usage Models with Stochastic Automata Networks: Lessons Learned
AuthorsAndré Farina, CPTS - FACIN - PUCRS, farina@cpts.pucrs.br
Paulo Fernandes, PPGCC - FACIN - PUCRS, paulof@inf.pucrs.br
Flávio Oliveira, CPTS - FACIN - PUCRS, flavio@cpts.pucrs.br
PC MemberNo
Contact personAndré Farina, farina@cpts.pucrs.br, Phone: +55 (51) 33203695
Main Fields4. Testing, Analysis, and Verification
13. Reliability, Quality Assurance
19. Empirical Studies, Metrics
Abstract + Keywords The benefits of usage models in the statistical testing of software have been recognized by the software engineering community and discrete state formalisms have been largely used to describe such usage models of software. The Markov Chains formalism (MC) is a natural choice to do so. However, in this paper we suggest the use of a more sophisticated discrete state formalism, the Stochastic Automata Networks (SAN). In many problems of the performance evaluation area, the \SAN models present advantages over MC models. Therefore, it seems natural to us to verify similar advantages in the modeling of usage models.
This paper presents a case study of building a software usage model using SAN formalism. A software tool called BTS is modeled using SAN and MC. The models are compared in terms of number of states, scalability, and readability and based on a previous work lessons learned. It is not the objective of this paper to present a full framework to develop and analyse usage models with SAN, but just to show some evident advantages of the use of SAN instead of MC. In order to do this, the conclusion points out the indexes than can be computed from both models and suggests the next steps on future work.
Keywords: Statistical Testing, Usage Models, Stochastic Automata Networks.
Remarks

64 - TitleA Framework for Instability Analysis
AuthorsJennifer Bevan, University of California, Santa Cruz, jbevan@cs.ucsc.edu
E. James Whitehead, Jr., University of California, Santa Cruz, ejw@cs.ucsc.edu
PC MemberNo
Contact personJennifer Bevan, jbevan@cs.ucsc.edu, Phone: (831) 335-4886
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
Abstract + Keywords As software evolves, maintenance practices require a process
of accommodating changing requirements while minimizing the
cost of implementing those changes. Over time, incompatabilities
between design assumptions and the operational environment become
more pronounced, requiring some regions of the implementation to
require frequent or repeated modification. These regions are
considered to be "unstable", and would benefit from targeted
restructuring efforts as a means of realigning these assumptions
and the environment.
An analysis of these regions that results in the identification
and classification of these instabilities can be used to prioritize
and direct structural maintenance efforts. In this paper, we present
a framework for performing such an analysis that does not require
sophisticated change management data, can be performed at the
single-line level of granularity, and can be performed on any
historical set of artifacts for which a static dependence graph
can be constructed. We also describe our work-to-date in validating
the underlying assumptions and performing instability analyses.

Keywords: software evolution, maintenance,
static analysis, software instability
Remarks

65 - TitleThe Value of Conceptual Modeling in Database Development: An Experimental Investigation
AuthorsDaniel Turk, Colorado State University, dan.turk@mail.biz.colostate.edu
Leo Vijayasarathy, Colorado State University, vijayasa@colostate.edu
Jon Clark, Colorado State University, Jon.Clark@mail.biz.colostate.edu
PC MemberNo
Contact personLeo Vijayasarathy, vijayasa@colostate.edu, Phone: 970-686-5181
Main Fields1. Requirements Engineering
2. Design
19. Empirical Studies, Metrics
Abstract + KeywordsIt is generally accepted that models are useful in systems development and a variety of modeling tools and techniques are taught in information technology academic programs and used by software professionals. However, the recent emergence of rapid systems development approaches including Extreme Programming is challenging the value of modeling. Surprisingly, other than anecdotal evidence, there is little empirical data to support or refute the conventional wisdom that models are useful in systems development. This paper reports the results of an experimental study that examined the relationship between conceptual modeling and database schema development. The results suggest that the use of models helps improve the quality of the schema and reduces the time taken to complete it.

Key Words: Modeling, ER Diagrams, Database Development
Remarks

66 - TitleMethods for Calculating Relative Complexity
AuthorsTimothy Woodcock, Sony-Ericsson Mobile Communications, timothy.woodcock@sonyericsson.com
PC MemberNo
Contact personTimothy Woodcock, timothy.woodcock@sonyericsson.com, Phone: (919) 472-6132
Main Fields19. Empirical Studies, Metrics
Abstract + KeywordsRanking modules by complexity has been shown to be a useful tool in such diverse areas as software quality predictions, software maintenance management, and project risk management. One criticism of the Munson-Khoshgoftaar Relative Complexity Measurement (RCM) is that it is heavily weighted towards size. Several suggestions have been made to improve RCM including a volume-based calculation. In this analysis, we show that volume calculation has worse problems than the size weighted RCM. We examine the problems with the volume RCM calculation, propose a new method of calculating volume RCM, and discuss the criteria of choosing one calculation method over another. We conclude that the choice between the corrected volume calculation and the Munson-Khoshgoftaar RCM may just be a matter of taste.
Remarks

67 - TitlePRISM: A Systematic Approach to Planning Technology Transfer Campaigns
AuthorsBrent Capps, Oregon Master of Software Engineering Program, bcapps@hevanet.com
Richard Fairley, OGI School of Science and Engineering, dfairley@cse.ogi.edu
PC MemberNo
Contact personRichard Fairley, dfairley@cse.ogi.edu, Phone: +1-503-748-1558
Main Fields17. Software Process, Workflow, CSCW
Other Main FieldsTechnology Transfer; category 17 perhaps?
Abstract + KeywordsThis paper introduces PRISM, an approach for systematically planning software technology infusion campaigns. PRISM is particularly well-suited to centralized technology diffusion agencies operating within large software organizations. Applying the PRISM methodology results in the selection of an appropriate mix of engagement models, training modes, and success models.

Keywords: technology transfer, technology infusion, change agent, organizational communication, process improvement
RemarksFigures and tables are appended in this draft version. The paper will be less than 10 pages when the figures and tables are inserted into the text.

68 - TitleSoftware Acquisition Management Guidelines
AuthorsAngela Maria Alves, Centro de Pesquisa Renato Archer - CenPRA, alvesam@terra.com.br
Ana Cervigni Guerra, CenPRA, anaguerra@cenpra.gov.br
PC MemberNo
Contact personAngela Alves, alvesam@terra.com.br, Phone: 55 19 3746 6037
Other Main FieldsSoftware Acquisition
Abstract + KeywordsAbstract

Considering that the Products and Services of Software Acquisition is today not an option but a mandatory management tool to be used in public or private organizations, considering the necessity of these organizations to be competitive in local and global market with a high quality, low coast and adequate prices products, considering the constant evolution of the Technology Information and Systems Information, many organizations have a need to acquire customized software products the meet special demands that no commercial of-the-shelf product can meet. Many times the most efficient and economically viable solution to obtain the software is to outsource the development to a contractor instead of developing the software in-house. In order to manage such a software acquisition project successfully, many different non-trivial issues such as requirements elicitation and management, risk analysis and management, contractor selection, contract management, product evaluation and many others need to be addressed. Several frameworks and standards have been developed for assisting and assessing such software acquisition efforts. The purposes of this paper are states the background of the guidances and approaches in several frameworks and standards to assisting the software acquisition efforts in order to promote the processes continuos improvement and increases the possibilities of getting successful acquisitions projects, with benefits for all involved players and presents the concepts and recommendations by a management process.

Key Words: management, selection, software, quality, process, product, SA-CMM®, ISO/IEC 15504
Remarks

69 - TitleScaling Step-Wise Refinement
AuthorsDon Batory, University of Texas at Austin, batory@cs.utexas.edu
Jacob Sarvela, University of Texas at Austin, sarvela@cs.utexas.edu
Axel Rauschmayer, Ludwig-Maximilians-Universität München, axel@rauschma.de
PC MemberYes
Contact personDon Batory, batory@cs.utexas.edu, Phone: 512-471-9713
Main Fields2. Design
6. Reuse
Other Main FieldsSoftware generation
Domain-specific languages
Abstract + KeywordsStep-wise refinement is a powerful paradigm for developing a complex program from a simple program by adding features incrementally. We present the AHEAD (Algebraic Hierarchical Equations for Application Design) model that shows how step-wise refinement scales to synthesize multiple programs and multiple non-code representations. AHEAD shows that software can have an elegant, hierarchical mathematical structure that is expressible as nested sets of equations. We review a tool set that supports AHEAD. As a demonstration of it’s viability, we have bootstrapped AHEAD tools themselves solely from equational specifications, generating Java and non-Java artifacts automatically, a task that was accomplished only by ad hoc means previously.
Remarks

70 - TitleAn Empirical Study of Predicate Dependence Levels and Trends
AuthorsDave Binkley, Loyola.College in Maryland, binkley@cs.loyola.edu
Mark Harman, Brunel University, mark.harman@brunel.ac.uk
PC MemberNo
Contact personDave Binkley, binkley@cs.loyola.edu, Phone: 410-617-2881
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
19. Empirical Studies, Metrics
Abstract + KeywordsMany source code analyses are closely related to and strongly influenced by
interdependence among program components. This paper reports results from an
empirical study of the interdependences involving program predicates and the
formal parameters and global variables which potentially affect them.

The findings show that it is possible to eliminate from consideration
approximately 30% of the formal parameters, 50% of the `touched' global
variables, and 97% of the `visible' global variables.

Another important and encouraging finding is a strong inverse correlation
between the number of formal parameters and dependence level. The fact that no
such correlation was found for global variables provides evidence to support
the conjecture that global variables are harmful.
Remarks

71 - TitleAn Integrated Unit Test Tool for Software Components
AuthorsPerla Velasco, MSc, pvelasco@lania.mx
Juan Fernández , Ph, jfernandez@uv.mx
PC MemberNo
Contact personPerla Velasco, pvelasco@lania.mx, Phone: (52)(228) 841 6100 Ext.1209
Main Fields4. Testing, Analysis, and Verification
Abstract + KeywordsAlthough component-based software development has become a relatively accepted approach, one of its principal limitations is the lack of formal testing methods. JavaBeans is one alternative for constructing component-based software that has gained widespread acceptance. This article introduces the development of a beans testing tool The purpose of the tool is to provide the user with guidelines that permit the performance of component selection and evaluation tasks through the automatic generation and execution of test cases.
Remarks

72 - TitleDesign Recovery of Interactive Graphical Applications
AuthorsKeith Chan, University of New South Wales, kchan@cse.unsw.edu.au
Zhi Cong Leo Liang, University of New South Wales, leozc@cse.unsw.edu.au
Amir Michail, University of New South Wales, amichail@cse.unsw.edu.au
PC MemberNo
Contact personAmir Michail, amichail@cse.unsw.edu.au, Phone: +61 2 9385 5930
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
Other Main Fieldssoftware visualization
Abstract + KeywordsNowadays, the majority of productivity applications are
interactive and graphical in nature. In this paper, we
explore the possibility of taking advantage of these
two characteristics in a design recovery tool.
Specifically, the fact that an application is
interactive means that we can identify distinct
execution bursts corresponding closely to "actions"
performed by the user. The fact that the application is
graphical means that we can describe those actions
visually from fragments of the application display
itself. Combining these two ideas, we obtain an
explicit mapping from high-level actions performed by a
user (similar to use case scenarios/specification
fragments) to their low-level implementation. This
mapping can be used for design recovery of interactive
graphical applications. We demonstrate our approach
using LyX, a scientific word processor.
RemarksI accidentally uploaded a file with the wrong name (it included the date in the filename), possibly confusing the submission script.

The proper files are the latest versions of paper.pdf and paper.ps.gz
(without dates in the filenames).

73 - TitleTowards Achieving a Balance between Planning and Agility in Software Development
AuthorsHema Srikanth, North Carolina State University, hlsrikan@eos.ncsu.edu
Annie Anton, North Carolina State University, aianton@eos.ncsu.edu
PC MemberYes
Contact personHema Srikanth, hlsrikan@eos.ncsu.edu, Phone: 919.515.5764
Main Fields1. Requirements Engineering
17. Software Process, Workflow, CSCW
Other Main FieldsSoftware Engineering for E-commerce.
Abstract + KeywordsPlan-driven software processes, while rich with support for requirements activities and risk management, are not especially
well-suited for rapid software development. Agile software
processes have recently received increased attention due to the need to develop software rapidly; however, they fail to properly support essential requirements engineering practices. There is a need to maintain a balance between agility and planning in software development. This paper proposes Adaptive Development and Prototyping Technique (ADaPT), which employs proven scenario and goal-based analysis techniques to elicit and structure requirements. ADaPT requires a team to ensure system compliance with non-functional privacy and security requirements, which are paramount in e-commerce systems. We have employed the ADaPT on twelve e-commerce projects. This paper discusses how a balance between project planning and agility can result in the on-time delivery of high quality e-commerce systems.
Remarks

74 - TitleFMP: An UI Model to Support Automated Generation of UIs
AuthorsJiancheng Wan, School of Computer Science and Technology,Shandong University, south campus, wanjch@sdu.edu.cn
Bin Sun, School of Computer Science and Technology,Shandong University, south campus, wanjch@sdu.edu.cn
Jigang Qu, School of Computer Science and Technology,Shandong University, south campus, wanjch@sdu.edu.cn
Qingguo Yu, School of Computer Science and Technology,Shandong University, south campus, wanjch@sdu.edu.cn
Hongmei Shi, School of Computer Science and Technology,Shandong University, south campus, wanjch@sdu.edu.cn
PC MemberNo
Contact personJiancheng Wan, wanjch@sdu.edu.cn, Phone: 086 0531 2915892(h)/8395779(o)
Main Fields1. Requirements Engineering
2. Design
10. Interface Technologies
16. CASE Tools and Software Development Environments
Other Main FieldsSoftware Engineering method for UI
Abstract + KeywordsTo promote engineering development of software user interfaces, this paper proposes the FMP Model of user interface to support automatic generation of user interfaces. It captures the information of functional and data processing in user interfaces by using Function model (F) and object model (M), and depicts them as the cooperating relation by using the interaction Model (M). The relationship between internal objects and their external visual presentation is captured in the Presentation model (P), which describes the composition and general layout of user interfaces in terms of the interaction model and UI template. In this way the automatic generation of user interfaces can be achieved.
Remarksthe text file is in MS Word .doc format and zipped.
If not acceptable, please inform me.

75 - TitleUsing pi-calculus to Formalize UML Activity Diagram for Process Modeling
AuthorsZhang Shensheng, Department of computer,Shanghai Jiaotong university,, willfulcn@yahoo.com
PC MemberNo
Contact personYang Dong, dongyangcn@hotmail.com, Phone: 8602162934524
Main Fields17. Software Process, Workflow, CSCW
Abstract + KeywordsUML has become de facto standards for object-oriented software development. It provides rich notations for representing, analyzing architecture and behaviors of systems. Among these notations, UML activity diagram is well-known for describing system¡¯s dynamic behaviors. One of its main purposes is to model software processes and business processes, and represent control flows in activities of processes. As a semi-formal notation, UML activity diagrams have not publicly agreed formal semantics. In this paper, the alternative approach of using pi-calculus to formalize UML activity diagrams is presented. Therefore, activity models can be of rich process semantics. Its main advantages have: (1) According to weak bisimulation in pi-calculus, two process models can be checked for equivalence, thus facilitating the optimization of business processes or software processes. (2) Process model can be verified whether it satisfies certain properties, such as safety and liveness, by means of analytical tools. (3) Correct criterions for process model are expressed with modal mu-calculus, such as the correct termination of processes. Therefore, process model can be automatically verified with the help of pi-calculus analytical tools.
Remarks

76 - TitleA KAOS-Extended modeling of the Imprecise Relationship between Goals
AuthorsShao Kun, the doctor candidate, kshao@mail.shu.edu.cn
Liu ZongTian, the tutor , ztliu@mail.shu.edu.cn
Sun Zhiyong, the parter , zysun@netkiss.com.cn
PC MemberNo
Contact personShao Kun, kshao@mail.shu.edu.cn, Phone: +86-21-56337684
Main Fields1. Requirements Engineering
Abstract + KeywordsGoal concepts have been used in a number of recent approaches to Requirement Engineering (RE) such as KAOS, I* and GBRAM. The formal methods used in those systems only permit the precise and unambiguous modeling of system properties and behavior. However, some system problems, particularly those drawn from the agent-oriented modeling problem domain, may be difficult to model in crisp or precise terms. The work reported in this paper is based on an existing goal-oriented requirements elaboration method, called KAOS. It enriches the KAOS framework through using an extended notation for Z, incorporating fuzzy concepts, to model the uncertain problems of goal concepts and goal links. Although the temporal attribute is also an important feature in the agent-oriented requirement analysis, yet in this paper, we emphasize the uncertain attribute and omit the temporal attribute. In order to illustrate the main ideas, an example in [Let02] is borrowed.
Remarks

77 - TitleAnalyzing Equivalences of UML Statechart Diagrams by Structural Congruence and Open Bisimulations
AuthorsVitus Lam, University of Bath, lsw@cs.bath.ac.uk
Julian Padget, University of Bath, jap@cs.bath.ac.uk
PC MemberNo
Contact personVitus Lam, lsw@cs.bath.ac.uk, Phone: (852)28592484
Main Fields8. Object-Oriented Technologies
15. Formal Methods
Abstract + KeywordsWe illustrate how UML statechart diagrams as distinct from statecharts are
formalized in the pi-calculus as a number of processes which communicate via
a channel-passing interaction paradigm. Different types of equivalences of
statechart diagrams, including isomorphism, strong behavioural equivalence
and weak behavioural equivalence are defined in terms of structural congruence,
strong open bisimulation and weak open bisimulation of the pi-calculus. Checking
equivalence of any two statechart diagrams is transformed to a problem of
verifying whether the two corresponding pi-calculus process expressions are
structurally equivalent, strongly open bisimilar and weakly open bisimilar. Examples
are given to demonstrate how statechart diagrams classified as isomorphism,
strong behavioural equivalence and weak behavioural equivalence can be
checked formally by first translating into the pi-calculus.

Keywords: UML statechart diagrams; Open bisimulation; pi-calculus
Remarks

78 - TitleSpecifying and Analyzing Early Requirements: Some Experimental Results
AuthorsAriel Fuxman, Department of Computer Science, University of Toronto, 40 St. George St. M5S 2E4 Toronto, Canada , afuxman@cs.toronto.edu
Lin Liu, Department of Computer Science, University of Toronto, 40 St. George St. M5S 2E4 Toronto, Canada , liu@cs.toronto.edu
Marco Pistore, ITC-IRST - Istituto per la Ricerca Scientifica e Tecnologica, Via Sommarive 18 - 38050, Trento, Italy, pistore@irst.itc.itc
Marco Roveri, ITC-IRST - Istituto per la Ricerca Scientifica e Tecnologica, Via Sommarive 18 - 38050, Trento, Italy, roveri@irst.itc.itc
John Mylopoulos, Department of Computer Science, University of Toronto, 40 St. George St. M5S 2E4 Toronto, Canada , jm@cs.toronto.edu
PC MemberNo
Contact personMarco Roveri, roveri@irst.itc.it, Phone: +39 0461 314326
Main Fields1. Requirements Engineering
4. Testing, Analysis, and Verification
15. Formal Methods
Abstract + KeywordsFormal Tropos is a specification language for early requirements. It
is based on concepts from an agentoriented early requirement model
framework (i*) and extends them with a rich temporal specification
language. In earlier work, we demonstrated through a small case study
how model checking could be used to verify early requirements written
in Formal Tropos. In this paper we address issues of methodology and
scalability for our earlier proposal. In particular, we propose
guidelines for producing a Formal Tropos specification from an i*
diagram and for deciding what model checking technique to use when a
particular formal property is to be validated. We also evaluate the
scope and scalability of our proposal using a tool, the T-Tool, that
maps Formal Tropos specifications to a language that can be handled by NuSMV, a state-of-the-art model checker. Our experiments are based on a
course management case study.
Remarks

79 - TitleTesting the Protocol Conformance of Distributed CORBA Components
AuthorsPrakash Krishnamurthy, The Ohio State University, prakash@cis.ohio-state.edu
Paolo Sivilotti, The Ohio State University, paolo@cis.ohio-state.edu
PC MemberNo
Contact personPaolo Sivilotti, paolo@cis.ohio-state.edu, Phone: (614) 292-5835
Main Fields4. Testing, Analysis, and Verification
9. Component and Interoperability Technologies
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsA protocol defines the valid sequences of messages that a component
can exchange with its environment. We introduce a specification model
and notation for protocols that supports multiple instantiation of a
protocol for a single component. Our model includes both synchronous
and asynchronous messages, as well as the method arguments and return
values in the definition of a protocol. This specification notation
has been projected into CORBA IDL for the description of real
distributed components. An augmented IDL parser has been developed
that generates a customized run-time test harness for
monitoring component messages and dynamically detecting protocol
violations.
Remarks

80 - TitleComponent Software and Licensing Models
AuthorsYu Zhou, Department of Computer Science, The University of Western Ontario, yuzhou@csd.uwo.ca
Qian Zhao, Department of Computer Science, The University of Western Ontario, qzhao3@uwo.ca
Mark Perry, Department of Computer Science, The University of Western Ontario, markp@csd.uwo.ca
PC MemberNo
Contact personMark Perry, markp@csd.uwo.ca, Phone: 1 519-661-2111 x86644
Main Fields3. Software Architectures, Patterns, and Frameworks
9. Component and Interoperability Technologies
21. Standards, Legal, Social, and Ethical Issues
Abstract + KeywordsThe unauthorized copying, use and distribution of software, often labeled software 'piracy', is a continuing source of concern for software producers worldwide. Today, it is almost inevitable that software is licensed, rather than sold outright. As a part of the licensing regime some protection mechanisms, whether hardware, legal or code based, are built into the license. The focus for the application of such mechanisms has been in the realm of off-the-shelf packaged consumer software. However, as component-based software gradually becomes mainstream in software development, new component-oriented licensing systems are required. This paper proposes an enterprise component licensing model for the management of software component licenses. The model provides a comprehensive license management framework allowing for extensibility and flexibility. In this paper, we identify differences between stand-alone software and component software, describe a high level model and discuss the benefits and drawbacks of this approach.
Remarks

81 - TitleNemo: An Agent-Oriented Software Engineering Methodology
AuthorsMarc-Philippe Huget, Agent ART Group, University of Liverpool, M.P.Huget@csc.liv.ac.uk
PC MemberNo
Contact personMarc-Philippe Huget, M.P.Huget@csc.liv.ac.uk, Phone: +44 151 794 6791
Main Fields22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsMultiagent systems, methodologies
Abstract + KeywordsThe development of multiagent systems is increasing significantly. Thus, multiagent
system designers need methodologies and tools to help them. Last years have seen
an incredible development of agent-oriented software engineering methodologies
trying to cover all the range of features that agents and agent-based systems can
encompass. These methodologies are based on object-oriented methodologies or are
specific to agent theory. The Nemo methodology is a new agent-oriented methodology. Its main advantage is to tackle notions such as mobility, security and open large scale multiagent systems. These notions are more or less not considered for the moment in agent-oriented methodologies. This paper presents the Nemo methodology and its eight models describing organizations, plans, roles, interactions, knowledge or agents.

Keywords: Agents, Multiagent Systems, Methodologies, Mobility, Security
Remarks

82 - TitleBootstrapping Semantic Web Languages using a UML Meta-Modeling Approach
AuthorsSherif Yacoub, Hewlett-Packard Laboratories, sherif_yacoub@hp.com
PC MemberNo
Contact personSherif Yacoub, sherif_yacoub@hp.com, Phone: 650 857 2765
Main Fields8. Object-Oriented Technologies
9. Component and Interoperability Technologies
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsMeta Modeling
Semantic Web Languages
Internet Semantics
Abstract + KeywordsRDF Schema (RDFS) and RDF are evolving as the de facto languages for the Semantic Web. Whereas RDFS can be used to define concepts in a domain ontology, RDF can be used to define instances of that ontology. In an attempt to make these modeling languages evolvable and extensible, the current languages lack a clear semantic support. While RDF and RDFS are easy to use, they are hard to understand and difficult to validate and extend as a result of their ambiguous semantics.
In this paper, we use UML modeling and meta modeling concepts to resolve some of semantic ambiguities and provide support for validation and extension. We describe a UML meta modeling approach that de-fines five modeling layers and identify how RDFS and RDF as Semantic Web languages fit into the architecture. The approach also defines the meta languages required to create RDFS and RDF and to support extensions to both languages and their constructs. The meta modeling approach is based on concepts inspired by the UML meta modeling architecture. Moreover, we use UML to bootstrap the modeling hierarchy and we use the UML extension mechanisms to describe the models developed at each layer including the RDFS and RDF language constructs.
Remarks

83 - TitlePattern Oriented Analysis and Design
AuthorsSherif Yacoub, Hewlett-Packard Laboratories, sherif_yacoub@hp.com
Hany Ammar, West Virginia University, hany.ammar@mail.wvu.edu
PC MemberNo
Contact personSherif Yacoub, sherif_yacoub@hp.com, Phone: 650 857 2765
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
6. Reuse
17. Software Process, Workflow, CSCW
Abstract + KeywordsDesign patterns promise reuse benefits early in the development lifecycle. To reap the benefits of deploying these proven design solutions, we need to define systematic approaches to develop application designs by composing patterns.

In this paper, we discuss a Pattern-Oriented Analysis and Design (POAD) approach that utilizes patterns as design components. The approach glues the design structure of patterns at various levels of abstraction. The internal details of the pattern structure are hidden at high design levels (pattern views) and are traceable to lower design levels (class views). The approach allows classes in the final class diagram to implement participants from several patterns. The POAD approach produces hierarchical traceable design models that capture interaction between patterns, enables forward traceability where patterns are traced to design classes, and enables backward traceability where individual application classes are traced back to patterns from which they originate. We describe the development phases using a purpose/process/product template. We use a running example to describe the application of each step.
Remarks

84 - TitleArchitecture, Design, Implementation
AuthorsAmnon Eden, Center for Inquiry, Amherst, NY, eden@acm.org
Rick Kazman, Software Engineering Institute, Carnegie-Mellon University, Pittsburgh, PA, kazman@sei.cmu.edu
PC MemberNo
Contact personAmnon Eden, eden@acm.org, Phone: +1 (514) 934 1068
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
15. Formal Methods
Abstract + KeywordsThe distinction between the terms architecture, design, and implementation is largely informal. We provide a formal insight into the distinction using the Intension/Locality Criteria. We demonstrate that, regardless the choice of specification language, architectural styles are intensional and non-local; that design patterns are intensional and local; and that implementations are extensional and local.
Remarks

85 - TitleA Mobile Component Based Software Development Architecture
AuthorsFujie Zhang, Department of Computer Science, University of Western Ontario, fzhang3@csd.uwo.ca
Mark Perry, Department of Computer Science, University of Western Ontario, markp@csd.uwo.ca
PC MemberNo
Contact personMark Perry, markp@csd.uwo.ca, Phone: 1 519 661-2111 x86644
Main Fields3. Software Architectures, Patterns, and Frameworks
6. Reuse
21. Standards, Legal, Social, and Ethical Issues
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsSoftware packages can be produced using commercial off-the-shelf components. Middleware is often needed in traditional architectures to support the composition of such packages that use components in heterogeneous, distributed systems. In this paper, we propose an architecture that eliminates the need for proprietary middleware. Components do not need to be brought to a single location for their execution or usage, thus avoiding many content and location constraints. This architecture is also able to take advantage of the code mobility that is built into many commercial software components. Furthermore, we propose a unique licensing scheme for components.
Remarks

86 - TitleTool Support for Traceability between Requirements and Design
AuthorsEwan Tempero, University of Auckland, e.tempero@cs.auckland.ac.nz
James Noble, Victoria University of Wellington, james.noble@mcs.vuw.ac.nz
Robert Biddle, Victoria University of Wellington, robert.biddle@mcs.vuw.ac.nz
PC MemberNo
Contact personEwan Tempero, e.tempero@cs.auckland.ac.nz, Phone: +64 9 373 7599 x7599
Main Fields2. Design
13. Reliability, Quality Assurance
16. CASE Tools and Software Development Environments
Abstract + KeywordsTraceability is the ability to determine relationships between different
development artifacts in the software development process. Being able to
automatically trace from the requirements through to the implementation
allows questions such as ``Are all the requirements met by the
implementation'' to be reliably answered. While answers to such questions
are important for managing the quality of both the process and the product,
gathering and managing the relationships that allows such automatic checking
can be expensive, making it less clear that the benefit justifies the
cost. The creative nature of design means that the relationships between
requirements and design cannot be derived automatically, and so their
management cost is high. We use a design technique that, with appropriate
tool support, can significantly reduce that cost. It represents the
requirements using a particular kind of use case, and develops an
object-oriented design. We present Ukase, a web-based tool that provides
such support.
Remarks

87 - TitleMAIL: A Mobile Agent Itinerary Language and Its Operational Semantics
AuthorsShiyong Lu, Department of Computer Science, Wayne State University, shiyong@cs.wayne.edu
Cheng-Zhong Xu, Department of Electrical and Computer Engineering, Wayne State University, czxu@ece.eng.wayne.edu
PC MemberNo
Contact personShiyong Lu, shiyong@cs.wayne.edu, Phone: 313-577-1667
Main Fields11. Programming Language-Based Approaches to S/W Engineering
15. Formal Methods
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsMobile agent technology is emerging as a novel distributed computing paradigm that provides promising support for applications such as high performance computing, network management, E-commerce, etc. Due to the booming of the Internet and the popularity
of the Java language, there is a growing interest in the investigation of different aspects of this technology including: mobility, security, intelligence, language, coordination, communication and interoperability. In this paper, we introduce an itinerary language MAIL to specify the mobile behavior of an agent. The operational semantics of the language is defined in terms of a set of inference rules and implemented in our prototype {\it Naplet}. This result provides a foundation for mobility reasoning, correctness and security model checking.
Remarks

88 - TitleFrom Requirements to Design - Without Miracles
AuthorsR. Geoff Dromey, Software Quality Institute, Griffith University, rgd@cit.gu.edu.au
PC MemberNo
Contact personR. Geoff Dromey, rgd@cit.gu.edu.au, Phone: +61 7 3875 5040
Main Fields1. Requirements Engineering
2. Design
Abstract + Keywords Despite the advances in software engineering since 1968,
current methods for going from a set of functional requirements
to a design are not as direct, repeatable and constructive as we would like.
Progress with this fundamental problem is possible once we recognize
that individual functional requirements represent fragments of behaviour,
while a design that satisfies a set of functional requirements represents
integrated behaviour. This perspective admits the prospect of constructing
a design out of its requirements. A formal representation for individual
functional requirements, called behavior trees makes this possible.
Behaviour trees of individual functional requirements may be composed,
one at a time, to create an integrated design behaviour tree. From this
problem domain representation it is then possible to transition directly and
systematically to a solution domain representation of the component architecture
of the system and the behaviour designs of the individual components that make
up the system - both are emergent properties.

KEY WORDS
software design, requirements engineering, requirements integration,
behavior trees, use cases, systems analysis, model-driven architecture,
object-oriented design
Remarks

89 - TitleDevelopment of Methodology for Transition from Use Cases to Class Diagrams
AuthorsDr.A.M.Natarajan Natarajan, --, -
Dr.N.V.Balasubramanian Balasubramanian, --, -
Dr.K.Balasubramanian Balasubramanian, --, -
Mrs.R.M.S.Parvathi Parvathi, --, -
PC MemberNo
Contact personMrs.R.M.S.Parvathi Parvathi, rmsparvathi@rediffmail.com, Phone: 91-0424-263237
Other Main FieldsDevelopment of Methodology for Transition from Use cases to Class diagrams
Abstract + KeywordsDevelopment of Methodology for Transition from Use cases to Class diagrams
Remarks

90 - TitleHow Should UML Define Use-Case Classes?
AuthorsSadahiro Isoda, Toyohashi University of Technology, isoda@tutkie.tut.ac.jp
PC MemberNo
Contact personSadahiro Isoda, isoda@tutkie.tut.ac.jp, Phone: +81 532 44 6893
Main Fields8. Object-Oriented Technologies
Abstract + KeywordsUML is revealed to contain three different defects concerning
use-case classes that were buried in OOSE and handed over to it.
These defects are: 1) a use-case class and its instance are
unusually defined, 2) a conjecture that is against the definition
of a use case is introduced without any reasons, and 3) the execution
procedure of a use-case instance does not actually work because
of some flaws concerning the execution control. These defects have
been messing up UML's specification of use-case classes.
An object-oriented real-world model is built that represents a typical
situation of using a use case in the analysis and design stages, and
another definition of use-case classes is constructed that
successfully solves the problems.

keywords
Object-oriented methodology, OOSE, UML, use case, real-world modeling
Remarks

91 - TitleOptimal Resource Allocation for Quality Control Stages in Software Development
AuthorsPankaj Jalote, IIT Kanpur, jalote@cse.iitk.ac.in
Bijendra Vishal, IIT Kanpur, bijendra@cse.iitk.ac.in
Anoop Saha, IIT Kanpur, anoopsah@cse.iitk.ac.in
PC MemberNo
Contact personPankaj Jalote, jalote@cse.iitk.ac.in, Phone: +91-512-597619
Main Fields4. Testing, Analysis, and Verification
13. Reliability, Quality Assurance
18. Software Project Management and Cost Estimation
Abstract + KeywordsA software development process typically has many Quality Control (QC) stages to detect and remove defects. The final quality of the delivered software depends on the effort spent on different QC stages. Given a quality goal, different combinations of efforts for the different QC stages may lead to the same goal. In this paper we address the problem of allocating resources to the different QC stages, such that the overall quality goal is met with minimum cost. We propose a model for the cost of QC process and then view the resource allocation among different QC stages as an optimization problem. We solve this optimization problem using non-linear optimization technique of Sequential Quadratic Programming.We also give examples to show how a sub-optimal resource allocation may either increase the cost significantly or lower the quality of the final software.

keywords: Resource Allocation, Quality Control, Non Linear Optimization
Remarks

92 - TitleA New Software Testing Approach Based on Domain Analysis of Specifications and Programs
AuthorsRuilian Zhao, Beijing University of Chemical Technology, rlzhao@mail.buct.edu.cn
Michael Lyu, Chinese University of Hong Kong, lyu@cse.cuhk.edu.hk
Yin-Hua Min, Chinese Academy of Sciences in Beijing, min@mimi.cnc.ac.cn
PC MemberNo
Contact personMichael Lyu, lyu@cse.cuhk.edu.hk, Phone: +852 26098429
Main Fields4. Testing, Analysis, and Verification
13. Reliability, Quality Assurance
Abstract + KeywordsThis paper presents an innovative testing approach based on analysis of input domain of specifications as well as execution domain of programs. We propose the principle and procedure of boundary test case selection in these two domains. The differences of the two domains are examined by analyzing the set of boundary test cases of the functional domain and that of the operational domain. To automatically determine the operational domain of a program, the ADSOD system is prototyped. The system supports not only the determination of input domain of integer and real data types, but also non-numeric data types such as characters and enumerated types. It consists of several modules in finding illegal values of input variables with respect to each specific expression. Our new testing approach is effective in detecting faults having to do with small shifts in the domain boundary, and the test approach can be combined with the partition testing strategies to significantly enhance testing efficiency.
Remarks

93 - TitleEvolving Socio-technical system solutions by scenario based requirements analysis
AuthorsAlistair Sutcliffe, UMIST, ags@co.umist.ac.uk
Wei-Chun Chang, UMIST, mcaijwc2@co.umist.ac.uk
Andreas Gregoriades, UMIST, andreas@co.umist.ac.uk
Richard Neville, UMIST, rneville@co.umist.ac.uk
PC MemberNo
Contact personAlistair Sutcliffe, ags@co.umist.ac.uk, Phone: +44-161-200-3315
Main Fields1. Requirements Engineering
2. Design
5. Maintenance, Evolution, Re-/Reverse Engineering
12. AI-Based Approaches to S/W Engineering
Abstract + KeywordsSoftware tools for scenario-based requirements analysis of complex socio-technical systems are described. The first, the System Reliability Analysis tool, uses Bayesian Belief Networks to assess the reliability of human and machine agent combinations by running the BBN against executable operational scenarios. This tool enabled the reliability of alternative system models to be compared, but this was still a labour intensive process. The Evolutionary Requirements Analysis tool improved the process by applying evolutionary computing techniques to automatically select optimal combinations of human and machine agents in a system model to match non-functional requirements (NFRs). The tool assessed the reliability, performance times and cost of different system models by executing the models with scenarios and different combinations of environment variables. Better performing models were selected to converge on an optimal solution. Use of both tools is illustrated with a case study of requirements analysis for a command and control system.


RemarksWord file original, can send PDF later, can't get at Acrobat today

94 - TitleXML as Intermediate Representation in Compiler Transformations and Program Visualizations
AuthorsYijun Yu, University of Ghent, yijun@elis.rug.ac.be
Kristof Beyls, University of Ghent, kbeyls@elis.rug.ac.be
Erik D'Hollander, University of Ghent, edh@elis.rug.ac.be
PC MemberNo
Contact personYijun Yu, yijun@elis.rug.ac.be, Phone: 003292643375
Main Fields2. Design
5. Maintenance, Evolution, Re-/Reverse Engineering
9. Component and Interoperability Technologies
10. Interface Technologies
11. Programming Language-Based Approaches to S/W Engineering
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsIntermediate representation forms the information exchanged among
different passes of program compilation. The intermediate format
proposed for extensibility and persistence is written in XML. In
this way, the program transformations that were internal to
compiler become visible.

The tree structure of XML document makes it natural to represent the abstract syntax tree (AST), one of the most important intermediate representations. A compiler parses the program source into IR, then output it as an XML document. The AST can be transformed into various forms: unparsed to source code, or displayed in HTML and PDF that can be shared with human readers. In addition, the AST can also be automatically transformed using XSL transformations. This
allows additional analysis and optimizations to be seamlessly extended to an existing compiler.

Other intermediate representations are also presented in XML, gathering program information such as dependence vectors, transforming matrices, iteration spaces dependence graphs and cache hints. These information can be exchanged between compiler and program visualizers for parallelism and locality. These research
tools are glued as an open environment using XML.

Keywords: XML, intermediate representation, compiler, visualization, abstract syntax tree
Remarks

95 - TitleMethods and Tools for Development of Information Model - Development of Green Products
AuthorsTri Ngoc Pham Van, Department of Computer Integrated Design, University of Technology Darmstadt, phamvan@dik.tu-darmstadt.de
Reiner Anderl, Department of Computer Integrated Design, University of Technology Darmstadt, anderl@dik.tu-darmstadt.de
PC MemberNo
Contact personTri Ngoc Pham Van, phamvan@dik.tu-darmstadt.de, Phone: +49 (6151) 165441
Main Fields1. Requirements Engineering
8. Object-Oriented Technologies
Abstract + KeywordsDevelopment of environmentally sound products becomes more and more important in the industry nowadays. Within this topic a research group at the University of Technology has been involved to work in two main subjects. In the first subject the physical impacts of a product during its entire life (from production, manufacturing, use until recycling or deposal) on the environment will be analyzed. In the second subject the methods and tools will be developed to integrate and treat the knowledge collected in the first subject for the development of green products. These methods and tools will be integrated with CAD (Computer Aided Design) Systems building an IDE (Integrated Development Environment), which will support the product developer design green products in the early phases. The core of the second subject is the development of an object-oriented information model, in which the expert knowledge can be mapped. This paper will introduce the methods and software tools to implement the expert knowledge in an object-oriented model.
Remarks

96 - TitleRevealing Class Structure with Zoomable Concept Lattices
AuthorsUri Dekel, Dept. of Comp. Sc., Technion--Israel Inst. of Technology, udekel@cs.technion.ac.il
Joseph (Yossi) Gil, Dept. of Comp. Sc., Technion--Israel Inst. of Technology, yogi@cs.technion.ac.il
PC MemberNo
Contact personUri Dekel, udekel@cs.technion.ac.il, Phone: +972-54-600665
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
8. Object-Oriented Technologies
16. CASE Tools and Software Development Environments
Other Main FieldsFormal Concept Analysis
Abstract + KeywordsFormal concept analysis (FCA) was previously applied to
re-engineering legacy code, and in restructuring class
hierarchies. In this paper, we suggest, for the first time, that
FCA be applied to individual OO classes, in an attempt to reveal
their internal structure.

A concept here is a maximal set of methods and fields such that
each field is used by every method and each method uses every
field. The partial order between concepts is defined by the inclusion
relation between their respective sets.

We argue that the set of fields representing a class is less
volatile than the set of services it provides, and that in most
cases, all possible implementations of the same operation will use
the same fields. Therefore, usage patterns of fields by methods
are fundamental to understanding the functionality and the
implementation of a class.

After the access relation between methods and fields is elicited
from a Java class file, a class concept lattice is drawn. The user can then employ a
variety of tools to abstract the class information (zooming out),
and focus on interesting details (zooming in).

These tools are discussed as part of a semi-structured 3-stage
methodology of applying FCA to the exploration of an OO class:
learning its interface, examining the implementation, and
inspecting its code. A real life case study demonstrates the
methodology and the various zoom-in and zoom-out views of the
concept lattice. Initial evidence to the efficacy of the
methodology is that despite being external spectators to the
development of the case study, we revealed problems which were
confirmed as errors by the developers, and are expected to be
fixed in future versions. A controlled experiment is required
for further validation.
Remarks

97 - TitleA Model for Designing Secure Electronic Commerce Systems
AuthorsVictor Sawma, CAS Fellow – ECD Security Test, vsawma@site.uottawa.ca
Robert Probert, CAS Visiting Scientist – ECD Test Strategy, bob@site.uottawa.ca
PC MemberNo
Contact personVictor Sawma, vsawma@yahoo.com, Phone: +1-819-776-1113
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
14. Safety and Security
Abstract + KeywordsIntroducing proper security countermeasures at system design time is considered one of the most important challenges for security architects. This is due to the lack of a common standard for IT security. Recently, some documents have been developed addressing this gap in IT systems. As E-commerce (EC) systems are a subset of IT systems, we must consider how these documents apply to E-commerce specifically. In this paper, we will describe a model-based approach for the systematic introduction of security countermeasures in EC systems at design time. The model is based on the NIST security services model. A methodology to derive security countermeasure design models from the NIST security services model is also described. The result of applying our methodology to the security features in the NIST security services model will be a set of security models that are directly useful for designing secure EC systems. Our work was evaluated through case studies by applying the described methodology to derive an EC security countermeasure design model for a security feature in the NIST security services model, namely the authentication security feature, and by applying the derived authentication model to a commercial EC system.
Remarks

98 - TitleChecking Inside the Black Box: Regression Fault Exposure and Localization Based on Value Spectra Differences
AuthorsTao Xie, Department of Computer Science and Engineering, University of Washington, taoxie@cs.washington.edu
David Notkin, Department of Computer Science and Engineering, University of Washington, notkin@cs.washington.edu
PC MemberNo
Contact personTao Xie, taoxie@cs.washington.edu, Phone: 206-934-1338
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
19. Empirical Studies, Metrics
Abstract + KeywordsWe present a new fault exposure and localization approach intended to increase the effectiveness of regression testing. In particular, we extend traditional regression testing, which strongly focuses on black box comparisons, to compare internal program states. These value spectra differences allow a more detailed comparison of executions of the new and old versions of a program. In particular, our approach checks inside the program black box to observe unit behaviors and further checks inside the unit black box to observe some internal variable values besides the ones propagated outside the unit. This approach exposes faults without requiring the faults to be propagated to the outputs of the system or unit. Two heuristics are proposed to locate regression faults based on a fault propagation model. An experiment is conducted to assess their effectiveness. The initial results show our value-spectra-comparison approach can increase the regression fault exposure probability effectively and identify the locations of regression faults accurately.

Keywords: Regression Testing, Fault Exposure, Fault Localization, Empirical Study
Remarks

99 - TitleUsing Service Utilization Metrics to Assess the Structure of Product Line Architectures
AuthorsAndre van der Hoek, University of California, Irvine, andre@ics.uci.edu
Ebru Dincel, University of Southern California, edincel@usc.edu
Nenad Medvidovic, University of Southern California, neno@usc.edu
PC MemberNo
Contact personAndre van der Hoek, andre@ics.uci.edu, Phone: +1 949 824 6326
Main Fields3. Software Architectures, Patterns, and Frameworks
5. Maintenance, Evolution, Re-/Reverse Engineering
19. Empirical Studies, Metrics
Abstract + KeywordsMetrics have long been used to measure and evaluate software products and processes. Many metrics have been developed that have lead to different degrees of success. Software architecture is a discipline in which few metrics have been applied, a surprising fact given the critical role of software architecture in software development. Software product line architectures represent one area of software architecture in which we believe metrics can be of especially great use. The critical importance of the structure defined by a product line architecture requires that its properties be meaningfully assessed and that informed architectural decisions be made to guide its evolution. To begin addressing this issue, we have developed a class of closely related metrics that specifically target product line architectures. The metrics are based on the concept of service utilization and explicitly take into account the context in which individual architectural elements are placed. In this paper, we define the metrics, illustrate their use, and evaluate their strengths and weaknesses through their application on three example product line architectures.
Remarks

100 - TitleInter-procedural Pointer Analysis Targeting Systems Software
AuthorsNikhil Ranade, Iowa State University,Ames IA 50010, rnikhil@iastate.edu
Suraj Kothari, Iowa State University, Ames IA 50010, kothari@iastate.edu
PC MemberNo
Contact personSuraj Kothari, kothari@iastate.edu, Phone: 515-294-7212
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
Abstract + KeywordsPointer Analysis is critical for analyzing systems software written in ‘C’. Systems software like Linux, in general make heavy use of pointers, structures, and function pointers. Developers often spend significant time and find it very tedious to chase pointers to understand complex interactions within a systems software. The problem is even worse for novices who are getting trained. Moreover, users are more likely to make errors in analyzing large software without a tool for automating the analysis. This paper presents a tool called SysProbe, which helps the user to easily navigate through complex systems software. The tool uses a flow and context sensitive pointer analysis algorithm to analyze the source code.
RemarksIf accepted, the paper presentation would also include a demonstration of the SysProbe tool.

101 - TitleA Reuse Definition, Assessment, and Analysis Framework for UML
AuthorsFelix Eickhoff, The University of Connecticut, felix.eickhoff@gmx.net
Jeffrey Ellis, The University of Connecticut, jre95001@yahoo.com
Steven Demurjian, The University of Connecticut, steve@engr.uconn.edu
Donald Needham, United States Naval Academy, needham@usna.edu
PC MemberNo
Contact personSteven Demurjian, steve@engr.uconn.edu, Phone: 860-486-3719
Main Fields6. Reuse
Abstract + KeywordsDespite the popularity of component-based models, languages, and tools,
there is an absence of reusability assessment/analyses throughout the design
and development process. Software engineers must be allowed to precisely measure
the potential and actual reuse of software artifacts to achieve domain-specific
reuse for an organization's current and future products. Towards this goal, our
previous work provided a formal framework for reusability assessment of
components and classes via metrics and refactoring guidelines/algorithms,
at the development stage. This paper significantly extends that work by
incorporating reuse definition, assessment, and analysis into UML at the
design stage, prior to the existence of code. Specifically, we expand our
reuse model/framework to include dependency tracking in use case and class
diagrams in support of reusability analysis and refactoring for UML.
We discuss the integration of these extensions into the UML tool Together
Control Center, to support reusability measurement from design to development.

KEYWORDS:

REUSE, REFACTORING, UML
Remarks

102 - TitleAgile Authoring of Software Documentation Using RaPiD7
AuthorsRoope Kylmäkoski, Nokia, roope.kylmakoski@nokia.com
PC MemberNo
Contact personRoope Kylmäkoski, roope.kylmakoski@nokia.com, Phone: +358 50 5922 367
Main Fields13. Reliability, Quality Assurance
17. Software Process, Workflow, CSCW
Other Main FieldsSoftware Documentation
Abstract + KeywordsThis paper presents a method, developed in Nokia, for agile document authoring in software development projects. The method is called RaPiD7 (Rapid Production of Documentation, 7 steps). The method improves the traditional approach for document authoring in which the work is typically started by informal initiative, and the actual writing of a document is a task performed by a single individual. Traditional document authoring usually relies on inspections to verify the quality of the documentation. RaPiD7 addresses the document authoring problem by getting people involved in the documentation work earlier as a team in order to guarantee quality, calendar time efficiency, commitment and improved communication. This paper also compares RaPiD7 with some other similar approaches and presents results from a large-scale experiment with RaPiD7.
Remarks

103 - TitlePrioritizing Tests for Integration Testing
AuthorsAmitabh Srivastava, Microsoft Research, amitabhs@microsoft.com
Jay Thiagarajan, Microsoft Research, jaythia@microsoft.com
PC MemberNo
Contact personAmitabh Srivastava, amitabhs@microsoft.com, Phone: 425-703-8867
Main Fields4. Testing, Analysis, and Verification
13. Reliability, Quality Assurance
Abstract + KeywordsPrograms are rarely self-contained in real software environments. They depend on other shared subsystems like language run time and operating system libraries for various functionalities. These subsystems are developed external to the program, with their own test and development process. However, a change in one of the external subsystems may affect the program and one or more other external subsystems. As a result, many users are reluctant to upgrade to newer versions of subsystems, as they fear that a dependent subsystem may stop working. Test teams have added an integration testing step to their development process to ensure that programs will continue to operate with different versions of the external subsystems. As full testing may take days or weeks to run, integration testing for various versions can be very expensive.

We have built a system called Scout to improve the efficiency of integration testing. Scout presents a new test prioritization approach that prioritizes an existing set of tests for a program based on changes that have been made to its external subsystems. Scout uses a binary code based approach for all its analysis; therefore, it does not require source code for external subsystems. Scout provides simple abstractions for defining a complex system and uses it to compose and decompose the system at various levels of granularity. Scout is designed for production environments and scales well to a system with large number of binaries.

Scout is part of our test effectiveness infrastructure that runs under the Windows environment. Scout has been tested on internal systems that are widely used inside Microsoft. The results show that Scout is effective in prioritizing tests by detecting affected parts of the program from changes made in external subsystems.
Remarks

104 - TitleStochastic Models of Immature Software Processes
AuthorsRichard Botting, Computer Science Dept., California State University, San Bernardino, rbotting@csusb.edu
PC MemberNo
Contact personRichard Botting, rbotting@csusb.edu, Phone: USA 909 880 5327
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
13. Reliability, Quality Assurance
17. Software Process, Workflow, CSCW
Abstract + KeywordsAbstract
This paper quantifies immature software processes. It presents a family of stochastic processes that model the discovery and removal of defects from modular software. It shows the programmer's knowledge and skill is critical. These diagnostic and coding skills control the number of fixes before a product passes all its tests. Less knowledge and lower skill increase the number of test-and-fix cycles exponentially. The paper discusses the limitations of the author's approach. It includes mathematical demonstrations of the key results.

KeyWords
Software Process, Testing, Maintenance, Evolution, Quality Assurance
RemarksThe PostScript file was generated by an HP Print driver
that prefers to do HP PCL. I tried to edit the extra stuff out
but I fear the result may be less than correct.

105 - TitleArchitecture Synthesis and Analysis Process (ASAP)
AuthorsPaul C. Brown, TIBCO Software Inc., pbrown@tibco.com
PC MemberNo
Contact personPaul Brown, pbrown@tibco.com, Phone: 518-355-9239
Main Fields3. Software Architectures, Patterns, and Frameworks
17. Software Process, Workflow, CSCW
Abstract + KeywordsSelecting an enterprise architecture is a high risk activity upon which the success of the enterprise depends. This paper describes the Architecture Synthesis and Analysis Process (ASAP), a practical approach to the development of architectures for software intensive systems. While the general approach is applicable to all types of systems, the specifics elaborated here pertain to the development of enterprise, collaborative design, and command and control systems. A number of commercial enterprise architectures have been developed and deployed using ASAP.

ASAP reduces risks by emphasizing early explorations of architectural alternatives and the efficient analysis and elimination of unsuitable alternatives. The process leads to the definition of a well-defined architecture with a modest effort, and makes possible the concurrent development of subsystems by independent teams. The approach supports the rapid evolutionary development of systems and fits well into spiral methods such as MBASE and RUP as well as into more classical waterfall-style developments.
RemarksWhen printing, please check the swimlane dividers for figure 4. Some printers seem to drop some of the vertical lines separating the swimlanes.

106 - TitleApplication of Neural Networks for Software Quality Prediction Using Object-Oriented Metrics
AuthorsTong-Seng Quah, School of Electronic & Electrical Engineering, Nanyang Technological University, Nanyang Avenue, Singapore 639798, itsquah@ntu.edu.sg
Mie Mie Thet Thwin, School of Electronic & Electrical Engineering, Nanyang Technological University, Nanyang Avenue, Singapore 639798, p115285@ntu.edu.sg
PC MemberNo
Contact personMie Mie Thet Thwin, p115285@ntu.edu.sg, Phone: 65-90464662
Main Fields8. Object-Oriented Technologies
13. Reliability, Quality Assurance
19. Empirical Studies, Metrics
Other Main FieldsNeural Network
Abstract + KeywordsThis paper presents the application of neural networks in software quality estimation using object-oriented metrics. Quality estimation includes estimating reliability as well as maintainability of a software. Reliability is typically measured as the number of defects. Maintenance effort can be measured as the number of lines changed per class. In this paper, two kinds of investigation are performed. The first on predicting the number of defects in a class and the second on predicting the number of lines change per class. Two neural network models are used, they are Ward neural network and General Regression neural network. Object-oriented design metrics concerning inheritance related measures, complexity measures, coupling measures and memory allocation measures are used as the independent variables. We test the goodness of fit of neural network models by comparing the prediction results with those obtained using multiple regression models.

Keywords:Software Quality, Object-Oriented Design Metrics, Neural Network

Remarks

107 - TitleBiCom – Engineering a Component Evaluation Framework
AuthorsFadrian Sudaman, Monash University, fsudaman@mosca.csse.monash.edu.au
Christine Mingins, Monash University, cmingins@csse.monash.edu.au
PC MemberNo
Contact personFadrian Sudaman, fsudaman@mosca.csse.monash.edu.au, Phone: (613) 85852965
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
7. Software Understanding
9. Component and Interoperability Technologies
Abstract + Keywords Component evaluation and selection are critical component-based software activities that affect the cost and quality of the target systems. Yet current evaluation approaches are limited to comparing text-based functional descriptions, exercising limited versions of the components or purchasing candidate components for evaluation purposes. These approaches are further complicated by consumers’ unwillingness to pay for evaluating candidate components and vendors’ unwillingness to distribute their components prior to purchase.
This paper describes a technical solution that supports the evaluation process and satisfies both the vendors’ and the consumers’ requirements. We have designed a framework that retains the vendor’s component implementation on a server site, yet allows the consumer to exercise it locally via remoting technology. Different design alternatives were evaluated in order to arrive at the most flexible and extensible model.
Remarks

108 - TitleModelling Human Competencies in the Software Process
AuthorsSilvia Teresita Acuña, Departamento de Informática, Universidad Nacional de Santiago del Estero, Argentina, silvac@unse.edu.ar
Natalia Juristo, Facultad de Informática, Universidad Politécnica de Madrid, Spain, natalia@fi.upm.es
PC MemberNo
Contact personSilvia Teresita Acuña, silvac@unse.edu.ar, Phone: (54-385) 4509550
Main Fields17. Software Process, Workflow, CSCW
Abstract + KeywordsAbstract

This paper is based on the premise that people's behavioural competencies influence the effectiveness and efficiency with which they perform a predetermined role in the software process. We propose a Capabilities-Oriented Integral Software Process Model that defines the constitutional elements of the software process (activities, products, techniques and people) and the original elements of this paper (roles and capabilities). With the aim of adding capabilities or behavioural competencies to the process model, we define the capability-person and capability-role relationships involved in software development. Additionally, we propose two procedures that are based on each of these relationships: the Cultural Procedure and the Assignation of People to Roles Procedure. The Cultural Procedure can be used to determine the capabilities of the members of a development team. The Assignation of People to Roles Procedure can be used to assign people to perform roles depending on their capabilities and the capabilities demanded by the roles. Finally, the person-capabilities-role relationship has been empirically validated. Eight projects were developed as part of this experimentation. In four projects, the people appointed to perform each activity were selected according to the proposed assignation procedure. In the other four projects, the people were assigned to roles according to their preferences. The results yielded by this experiment confirm the hypothesis that assigning people to roles according to their capabilities and the capabilities demanded by the role improves the software process.

Keywords
Process modelling, software process, people, development team, capabilities.
Remarks

109 - TitleVisual Constraint Diagrams: Runtime Conformance Checking of UML Object Models versus Implementations
AuthorsChristopher Turner, School of Computing, Queen's University, turner@cs.queensu.ca
Nicholas Graham, School of Computing, Queen's University, graham@cs.queensu.ca
Arthur Ryman, IBM Toronto Software Solutions Laboratory, ryman@ca.ibm.com
Hugh Stewart, School of Computing, Queen's University, hstewart@sympatico.ca
Christopher Wolfe, School of Computing, Queen's University, wolfe@cs.queensu.ca
PC MemberNo
Contact personNicholas Graham, graham@cs.queensu.ca, Phone: +1 613 533 6526
Main Fields2. Design
8. Object-Oriented Technologies
16. CASE Tools and Software Development Environments
Abstract + KeywordsThis paper presents Visual Constraint Diagrams (VCD’s), an extension to UML object diagrams for expressing constraints over object models. VCD’s allow designers to express well-formedness constraints that cannot be expressed using class diagrams alone – e.g., that a linked list data structure is not allowed to have any loops. VCD’s offer two advances over existing techniques. First, they allow constraints to be expressed within the visual notation of UML, without resort to complex textual notations such as OCL. Second, VCD’s can be checked at runtime, increasing the value of design documents to developers. An editor and checker for VCD’s have been implemented as part of the Rosetta software design tool.
RemarksThanks! Enjoy the reviewing!

110 - TitleCost Estimation for Web Applications
AuthorsMelanie Ruhe, University of Kaiserslautern, melli.ruhe@gmx.de
Ross Jeffery, University of New South Wales, rossj@cse.unsw.edu.au
Isabella Wieczorek, Federal Ministry of Education and Research, Germany, Isabella.Wieczorek@BMBF.BUND.DE
PC MemberYes
Contact personRoss Jeffery, rossj@cse.unsw.edu.au, Phone: +61.2.9385 6182
Main Fields18. Software Project Management and Cost Estimation
19. Empirical Studies, Metrics
Abstract + KeywordsIn this paper, we investigate the application and modification of the COBRA method (Cost Estimation, Benchmarking, and Risk Assessment) in a new application domain, the area of web development. COBRA combines expert knowledge with data on a small number of projects to develop cost estimation models, which can also be used for risk analysis and benchmarking purposes. We modified and applied the method to the web applications of a small Australian company, specializing in web development. In this paper we present the modifications made to the COBRA method and the analysis of the results of applying the method. In our study, using data on twelve web applications, the estimates derived from our Web-COBRA model showed a Mean Magnitude of Relative Error (MMRE) of 0.17. This result significantly outperformed expert estimates from Allette Systems (MMRE 0.37). A result comparable to Web-COBRA was obtained when applying regression with size in terms of Web Objects as an independent variable (MMRE 0.23).
Remarks

111 - TitleRequirements Traceability in Agent Oriented Development: The Tropos Case
AuthorsJaelson Castro, Universidade Federal de Pernambuco , jbc@cin.ufpe.br
Rosa Pinto, Universidade Federal de Pernambuco , rccp@cin.ufpe.br
Andrea Castor, Universidade Federal de Pernambuco , aop@cin.ufpe.br
John Mylopoulos, University of Toronto, jm@cs.toronto.edu
PC MemberNo
Contact personJaelson Castro, jbc@cin.ufpe.br, Phone: +55 81 32718430
Main Fields1. Requirements Engineering
12. AI-Based Approaches to S/W Engineering
Abstract + KeywordsAgent orientation has emerged as the paradigm of this new century. Indeed, agents have been used by software developers as a way to understand, model, and develop more naturally an important class of complex system. The growth of interest in software agents has recently led to the development of new methodologies based on agent concepts. However, few agent-oriented methodologies are requirements driven. Indeed, Traceability has been recognized by many as an important pre-requisite for developing and maintaining high quality software. It is intended to ensure continued alignment between stakeholders requirements and various outputs of the system development process. In this paper we deal with the complexity that arises during agent oriented development. In particular we enhance the TROPOS methodology to support traceability.
Remarks

112 - TitleEmpirical Studies for more Human-Centered Software Engineering Tools
AuthorsRex Kline, Department of Psychology, Concordia University, kline@cs.concordia.ca
PC MemberNo
Contact personAhmed Seffah, seffah@cs.concordia.ca, Phone: 514 840 3024
Main Fields7. Software Understanding
16. CASE Tools and Software Development Environments
19. Empirical Studies, Metrics
Abstract + KeywordsMore and more, CASE tools provide a very large set of functionalities intended to support different kind of activities including coding, implementation, and maintenance. The cost of adopting or customizing a CASE is not insignificant: It may be as high as about $25,000 (U.S.) per developer after all product and training costs are considered [1]. Unfortunately, there is evidence that this investment does not always pay off. One recent survey found that the single best predictor of the extent of CASE use is perceived voluntaries. Specifically, if developers believed that CASE tools use is up to them, they tend not to use these tools [2]. Results of other surveys suggest that developers often use only a small number of CASE functionalities out of the total set available [1, 3]. In this article, we begin by motivating our investigations with three tests highlighting common usability problems in the most popular Java software development tools. We then discuss how the developer’s experiences with the complicity of cognitive studies can minimize the gap between developer experiences and CASE tools functionalities while making CASE tools more human-centered. We close our discussion with recommendations for establishing a rigorous scientific investigation for developing and evaluating the ease-of-use of CASE tools.
Remarks

113 - TitleWeb Components meet Semantic Web
AuthorsClaus Pahl, Dublin City University, Claus.Pahl@dcu.ie
Maire Casey, Dublin City University, Maire.Casey@dcu.ie
PC MemberNo
Contact personClaus Pahl, Claus.Pahl@dcu.ie, Phone: ++353 +1 700 5620
Main Fields9. Component and Interoperability Technologies
15. Formal Methods
Abstract + KeywordsComponent-based software engineering using the Web differs from classical
software engineering.
In this paper we present foundations for Web component engineering activites
that are crucial for the development, composition, and deployment of components
on the Web.

The current Web Services and Semantic Web initiatives strongly influence
our work.
Focussing on Web compoment composition we develop description and
reasoning techniques that support a component developer in the composition
activities matching and connection.
We show how a formal component model based on pi-calculus and
modal logics can be integrated into a Semantic Web-style ontology
for component development.
Remarks

114 - TitleApplication of Aspect-Oriented Programming to Calculation of Program Slice
AuthorsTakashi Ishio, Graduate School of Information Science and Technology, Osaka University, t-isio@ist.osaka-u.ac.jp
Shinji Kusumoto, Graduate School of Information Science and Technology, Osaka University, kusumoto@ist.osaka-u.ac.jp
Katsuro Inoue, Graduate School of Information Science and Technology, Osaka University, inoue@ist.osaka-u.ac.jp
PC MemberNo
Contact personTakashi Ishio, t-isio@ist.osaka-u.ac.jp, Phone: +81 6 6850 6571
Main Fields7. Software Understanding
16. CASE Tools and Software Development Environments
Other Main FieldsAspect-Oriented Programming

Abstract + KeywordsAspect-Oriented Programming (AOP) is a new technology for
separation of concerns in program development. Using AOP, it
is possible to modularize crosscutting aspects of a system.
Common examples of crosscutting aspects are design or
architectural constraints, systemic properties or behaviors
(e.g., logging and error recovery), and features. Since such
crosscutting aspects are usually distributed among objects in
Object-Oriented Programming, it is difficult to maintain them
consistently. In AOP, they can be written in a single aspect
and thus easy to maintain. One useful application of AOP is
to modularize collecting program's dynamic information for
program analysis. Since collection of dynamic information
affects over all target program, this functionality becomes
typical crosscutting concerns. In this paper, we intend to
evaluate the usefulness of AOP in the area of program analysis.
At first, we examine the application of AOP to collecting
dynamic information from program execution and calculating
program slice. Then, we develop a program slicing system using
AspectJ, and describe benefits, usability, cost effectiveness
of the module of dynamic analysis based on AOP.

Keywords: Aspect-Oriented Programming, program slicing,
dynamic analysis, Java
Remarks

115 - TitleAn Investigation on Requirements Elicitation Issues in Computer-Supported Collaborative Learning - Malaysian Experience
AuthorsSalim S. S., University of Malaya, salwa@fsktm.um.edu.my
Kasirun Z. M., University of Malaya, zarin@fsktm.um.edu.my
PC MemberNo
Contact personKasirun Z. M., zarin@fsktm.um.edu.my, Phone: 603-79676379
Main Fields1. Requirements Engineering
Abstract + KeywordsThe development of courseware including computer-supported collaborative learning (CSCL) application usually based on document specification, which contains user requirements, called user requirements document (URD). The document would easily be defined if draft statement of user requirements from requirements elicitation (RElicit) stage were completely defined. Although there are many studies supporting these RElicit techniques such as scenario, viewpoint and domain model, the studies do not highlight its suitability for CSCL domain. It also did not highlight the definition of this draft. In addition, in selecting these techniques, not many studies emphasized the importance to look into the RElicit problem faced by CSCL developers. An investigation of RElicit techniques used by CSCL developers in Malaysia is carried out considering that RElicit technique chosen is very much related to RElicit problems that they are most facing. The findings show that three major problems are issues related to RElicit technique, document and tool. The assumed basis of our suggestion is that CSCL developers should know the nature of RElicit technique, which usually aided with certain tool, to define the draft in order to complete the URD of any CSCL developments.
Keywords: requirements elicitation; CSCL; draft statement of user requirements; group RElicit
Remarks

116 - TitleA Generic Approach to Domain Analysis with Object-Process Methodology
AuthorsArnon Sturm, Technion - Israel Institute of Technology , sturm@tx.technion.ac.il
Dov Dori, Technion - Israel Institute of Technology , dori@ie.technion.ac.il
Onn Shehory, IBM Haifa Research Lab, Haifa University, onn@il.ibm.com
PC MemberNo
Contact personArnon Sturm, sturm@tx.technion.ac.il, Phone: 972-4-8292226
Main Fields2. Design
6. Reuse
Other Main FieldsDomain engineering

Abstract + KeywordsDomain engineering is an important means for simplifying software development for specific domains. Domain analysis is the first step of domain engineering, during which the domain is modeled in a reusable manner. Recognizing the need, UML was enhanced with facilities that support domain analysis. However, these facilities are lacking in their expressiveness and formality, and they reduce accessibility. We propose a solution to these problems that diverges from the UML approach. We arrive at this solution by extending the Object-Process Methodology (OPM) - a general-purpose methodology for systems’ development - to support domain analysis. The proposed extension conforms with the OMG Meta Object Facility (MOF) four layers architecture standard. Our approach simplifies the adoption of domain engineering concepts. In particular, it enhances domain analysis accessibility because of its single model and the use of the same model across all stages of domain engineering activities.
Remarksplease confirm the receiving of the paper

117 - TitleA Time-based Binding Update in Mobile IP Networks with Very High Mobility
AuthorsHyunSook Kim, Yonsei Univ., joelle@emerald.yonsei.ac.kr
JooSeok Song, Yonsei Univ., jssong@emerald.yonsei.ac.kr
PC MemberNo
Contact personHyunSook Kim, joelle@emerald.yonsei.ac.kr, Phone: +82-2-365-7966
Main Fields4. Testing, Analysis, and Verification
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsIn this paper we propose a time-based binding network model
for efficient binding in mobile IPv6. We try to reduce the waste
of link bandwidth or the processing load of a correspondent node
and a home agent by binding every periodic time unit, t.
This mechanism can show various advantage in the case of high mobility.
The results of performance analysis show that the network load
concentrated on a correspondent node or a home agent is decreased
in time-based binding update model, and also our model is better
than a mobile IPv6 model with regard to processing delay.

Keywords: time-based, mobile IPv6, binding update,
periodic time
Remarks

118 - TitleModel Checking Programmable Router Configurations
AuthorsLuca Zanolin, Politecnico di Milano, zanolin@elet.polimi.it
Cecilia Mascolo, University College London, c.mascolo@cs.ucl.ac.uk
Wolfgang Emmerich, University College London, w.emmerich@cs.ucl.ac.uk
PC MemberYes
Contact personCecilia Mascolo, c.mascolo@cs.ucl.ac.uk, Phone: +44 20 7679 1390
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
15. Formal Methods
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsProgrammable networks offer the ability to customize router behaviour
at run time, thus increasing flexibility of network
administration. Programmable network routers are configured using
domain-specific languages. In this paper, we describe our approach to
defining the syntax and semantics of such a domain-specific language.
The ability to evolve router programs dynamically creates potential
for misconfigurations. By exploiting domain-specific abstractions, we are able to translate router configurations into Promela and validate them using the Spin model checker, thus providing reasoning support for our domain-specific language. To evaluate our approach we use our configuration language to express the IETF's Differentiated Services specification and show that industrial-sized DiffServ router configurations can be validated using Spin on a standard PC.
Remarks

119 - TitleReverse Engineering of the Interaction Diagrams from C++ Code
AuthorsPaolo Tonella, ITC-irst, tonella@itc.it
Alessandra Potrich, ITC-irst, potrich@itc.it
PC MemberNo
Contact personPaolo Tonella, tonella@itc.it, Phone: +39.0461.314524
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
Abstract + KeywordsIn object oriented programming, the functionalities of a
system result from the interactions (message exchanges)
among the objects allocated by the system. While designing
object interactions is far more complex than designing the
object structure in forward engineering, the problem of
understanding object interactions during code evolution
is even harder.

In this paper, a technique for the automatic extraction of
the interaction diagrams from C++ code is proposed. The
algorithm is based on a static flow analysis, so that results
are ensured to conservatively approximate the behavior of the
system in any execution and for any possible input. Scalability
of the approach to large software is achieved by means of two
mechanisms: partial analysis and focusing. Application of our
method to a real world, large C++ system confirmed its viability
and usefulness.

Keywords: Reverse engineering, object oriented programming, UML,
code analysis.
Remarks

120 - TitleE-Service Workbench – A Visual Planning Tool for Computing Service Deployment and Maintenance
AuthorsTau Chen Cham, Laboratories of Information Technology, tccham@lit.a-star.edu.sg
Jason Tseng, Laboratories of Information Technology, jason@lit.a-star.edu.sg
Emarson Victoria, Laboratories of Information Technology, victoria@lit.a-star.edu.sg
PC MemberNo
Contact personTau Chen Cham, tccham@lit.a-star.edu.sg, Phone: 65-68748205
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
16. CASE Tools and Software Development Environments
20. Configuration Management
Other Main Fieldssoftware deployment planning
Abstract + KeywordsThe challenges of an agile computing infrastructure coupled with diverse technologies and complexities of managing both the infrastructure and its services, led us to develop an automated planning system for computing service deployment and maintenance. Existing infrastructure management and planning solutions either do not provide coverage in the domain of computing services; or addresses actual deployment and post-deployment management; or simply do not provide sufficient technical depth. E-Service Workbench analyzes and evaluates product selections, fresh deployments and intended changes to a computing infrastructure, prior to the actual realization of it. This enables early detection of potential deployment problems and assessment of their alternatives. This paper will present the planning system of E-Service Workbench as well as its usefulness in planning for the deployment and maintenance of an online pet store application.
Remarks

121 - TitleVisual Component Assembly and Tool Support Based on the Architecture
AuthorsSeung-Yun Lee, S/W.Contents Technology Department, Computer & Software Research Laboratory, ETRI, coral@etri.re.kr
Oh-Cheon Kwon, S/W.Contents Technology Department, Computer & Software Research Laboratory, ETRI, ockwon@etri.re.kr
Gyu-Sang Shin, S/W.Contents Technology Department, Computer & Software Research Laboratory, ETRI, gsshin@etri.re.kr
PC MemberNo
Contact personSeung-Yun Lee, coral@etri.re.kr, Phone: 82-42-860-1186
Main Fields3. Software Architectures, Patterns, and Frameworks
16. CASE Tools and Software Development Environments
Abstract + KeywordsComponent-Based Development leverages software reusability and diminishes development costs. EJB is a Component model emerged to reduce the complexity of software development and to facilitate reuse of components. However, EJB does not support component assembly by plug-and-play due to the hard-wired composition in the code level. To cope with this problem, architecture for EJB component assembly is defined in the abstract level and the gap between system architecture and its implementation should be diminished in the implementation level. This paper proposes a tool, COBALT Assembler, to support the design and implementation of EJB component assembly by plug-and-play based on the architecture. The system architecture is defined by ADL, wrapper code and glue code are generated for the assembly, and the assembled EJB components is deployed at any application server as new composite component. A case study applying COBALT Assembler to a shopping mall system suggests that COBALT Assembler can promote the component reuse and leverage the system maintainability.

Keywords: EJB Component Assembly, CASE Tool, Architecture, ADL
Remarks

122 - TitleRigorous EBNF-based Syntax Definition for a Graphic Modeling Language
AuthorsYong Xia, Institut fuer Informatik der Universitaet Zuerich, xia@ifi.unizh.ch
Martin Glinz, Institut fuer Informatik der Universitaet Zuerich, glinz@ifi.unizh.ch
PC MemberNo
Contact personYong Xia, xia@ifi.unizh.ch, Phone: +41-01-6356748
Main Fields1. Requirements Engineering
2. Design
15. Formal Methods
Other Main FieldsModeling Language
Abstract + KeywordsToday, the syntax of visual specification languages such as UML is typically defined using metamodeling techniques. However, this kind of syntax definition has drawbacks. In particular, graphic metamodels are not powerful enough, so they must be augmented by a constraint language.

In this paper, we present a text-based technique for the syntax
definition of a graphic specification language. We exploit the fact that in a graphic specification language, most syntactic features are independent of the layout of the graph. So we map the graphic elements to textual ones and define the context-free syntax of this textual language in EBNF. Using our mapping, this grammar also defines the syntax of the graphic language. Simple spatial and context-sensitive constraints are then
added by attributing the context-free grammar. Finally, for handling complex structural and dynamic information in the syntax, we give a set of operational rules that work on the attributed EBNF.

We explain our syntax definition technique by applying it to the
modeling language ADORA which is being developed in our research group. We also briefly discuss the application of our technique to the syntax definition of UML.
Remarks

123 - TitleA Descriptive Framework for Electronic Meeting Systems Based on UML
AuthorsPedro Antunes, Department of Informatics, Faculty of Sciences of the University of Lisbon, C5, Piso 1, Campo Grande, 1700 Lisboa, Portugal, paa@di.fc.ul.pt
Carlos Costa, Departamento de Ciências e Tecnologias de Informação, ISCTE, Lisboa, Portugal, carlos.costa@iscte.pt
Luis Carriço, Department of Informatics, Faculty of Sciences of the University of Lisbon, C5, Piso 1, Campo Grande, 1700 Lisboa, Portugal, lmc@di.fc.ul.pt
PC MemberNo
Contact personLuis Carriço, lmc@di.fc.ul.pt, Phone: 351 21 750 06 03
Main Fields1. Requirements Engineering
17. Software Process, Workflow, CSCW
Abstract + KeywordsA descriptive framework has the purpose of identifying the major components of a system and their relationships. This paper proposes a descriptive framework for electronic meeting systems. Our intention is to clarify and organize the conceptually and functionally distinctive components that we find in this technology. The proposed framework simplifies the evaluation of EMS functionality by organizations. The adoption of UML increases the potential of communicating EMS requirements to IS developers. The paper presents the evaluation grids of a collection of 10 EMS highlighting what framework components are supported and what components have been ignored.
Remarks

124 - TitleEasing Functional Reuse and Evolution through Bridging Functional and OO Models
AuthorsHee Beng Kuan Tan, Nanyang Technological University, ibktan@ntu.edu.sg
Weihong Li, Nanyang Technological University, ibktan@ntu.edu.sg
PC MemberNo
Contact personHee Beng Kuan Tan, ibktan@ntu.edu.sg, Phone: (65) 7905631
Main Fields1. Requirements Engineering
2. Design
5. Maintenance, Evolution, Re-/Reverse Engineering
6. Reuse
Abstract + Keywords
Abstract

Right at the beginning of requirements analysis, Object-Oriented (OO) approach fragments functions into class operations. This makes both functional reuse and evolution difficult and time-consuming. This paper proposes a novel approach to address the problem by bridging functional and OO models. In the requirements analysis stage, the proposed approach realizes requirements more naturally through functional decomposition. The resulting analysis models are subsequently transformed into OO design and implementation through systematic and precise design methods. In the transformation, the conceptual composition of functions is automatically transformed into composition of class operations. Through the use of the proposed approach, analysis, design and implementation artifacts for the realization of functions can be reused in an integrated manner. Changes on functions can be also made directly to the functional
model and transformed into OO design and implementation. We have evaluated the approach.

Keywords.

Object-oriented software development, functional reuse, functional evolution, bridging requirements and object-oriented design.
Remarks

125 - TitleExecutable Use Cases - Requirements Engineering via Prose, Formal Models, and Animation
AuthorsJens Bæk Jørgensen, Centre for Pervasive Computing, Department of Computer Science, University of Aarhus, jbj@daimi.au.dk
Claus Bossen, Centre for Pervasive Computing, Department of Computer Science, University of Aarhus, bossen@daimi.au.dk
PC MemberNo
Contact personJens Bæk Jørgensen, jbj@daimi.au.dk, Phone: +45 89 42 56 57
Main Fields1. Requirements Engineering
15. Formal Methods
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsIn this paper, the notion of Executable Use Cases (EUCs) is introduced. The purpose is to spur communication between users and system developers and, in this way, to strengthen requirements engineering early in development projects. Especially, EUCs aim at bridging the gap between informal descriptions of the requirements of a future system and the formal, logical coherence that is necessary to implement the system. EUCs combine prose, formal models, and animation to describe work processes and their proposed computer support. An EUC enables interactive investigations of the considered work processes, on a formal basis, and using only concepts and terminology from the domain of the users. The EUC approach is illustrated in requirements engineering for a pervasive IT system for hospitals in Denmark.

Keywords: Requirements engineering, formal methods, mobile/ubiquitous/pervasive computing, workflow modelling, animation, informal vs. formal descriptions.

Remarks

126 - TitleRecovery of Provision and Design for PTUIE Correction through Empirical Inter-Transaction Invariants
AuthorsHee Beng Kuan Tan, Nanyang Technological University, ibktan@ntu.edu.sg
Ni Lar Thein, Nanyang Technological University, ibktan@ntu.edu.sg
PC MemberNo
Contact personHee Beng Kuan Tan, ibktan@ntu.edu.sg, Phone: (65) 7905631
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
Other Main FieldsSoftware Engineering for Transactions
Abstract + KeywordsAbstract

Automated recovery of system features and their designs from program source codes is important in reverse engineering and system comprehension. It is also valuable to the automation of software testing. This paper presents a novel approach for the automated approximate recovery of provisions and designs for transactions for correcting effects that result from executing a database transaction with incorrect user-inputs. The provisions are essential in any database application. The approach recovers the provisions and designs through analyzing the source codes of transactions in a database application. It is based on some statistically probable invariants that exist between the control flow graph of a transaction and the control flow graphs of transactions for correcting post-transaction user-input errors (PTUIEs) of the former transaction. We have validated the invariants statistically.

Keywords

Design recovery, feature recovery, static program analysis, control flow graph, database transaction, post-transaction user input error.

Remarks

127 - TitleA Layered Approach for Capturing Pattern Interactions
AuthorsD.Janaki Ram, Indian Institute of Technology Madras, djram@lotus.iitm.ernet.in
P.Jithendra Kumar Reddy, Indian Institute of Technology Madras, jithendra@cs.iitm.ernet.in
Rajasree M.S., Indian Institute of Technology Madras, rajasree@cs.iitm.ernet.in
PC MemberNo
Contact personD.Janaki Ram, djram@lotus.iitm.ernet.in, Phone: 91-44-2578343
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
Abstract + KeywordsIn recent times, the use of design patterns in designing reusable object-oriented software has increased. A way of representing design
pattern called pattern graph helps in measuring the pattern in terms of some key attributes. Though, the pattern graphs alleviated the problem of
pattern measurement, presently they do not take into account, the interactions possible between two design patterns, which when neglected may lead to wrong
measurements and many other side effects. There is no other mechanism till now to capture and visualize these design pattern interactions. This paper explains
some of the interactions possible between two design patterns and their impact on pattern oriented designs. A mechanism for capturing the pattern interactions
by means of call-sequences of the pattern graph is explained. We propose a layered approach for capturing and visualizing pattern interactions which helps
the designer to make right decisions quickly. Pattern measures considering interactions is also being proposed for each layer.
Remarks

128 - TitleFragment Class Analysis for Testing of Polymorphism in Java Software
AuthorsAtanas Rountev, Ohio State University, rountev@cis.ohio-state.edu
Ana Milanova, Rutgers University, milanova@cs.rutgers.edu
Barbara Ryder, Rutgers University, ryder@cs.rutgers.edu
PC MemberYes
Contact personAtanas Rountev, rountev@cis.ohio-state.edu, Phone: 614-292-7203
Main Fields4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
Abstract + KeywordsAdequate testing of polymorphism in object-oriented software requires
coverage of all possible bindings of receiver classes and target
methods at call sites. Tools that measure this coverage need to use
class analysis to compute the coverage requirements. However,
traditional whole-program class analysis cannot be used when testing
partial programs. To solve this problem, we present a general
approach for adapting whole-program class analyses to operate on
program fragments. Furthermore, since analysis precision is critical
for coverage tools, we provide precision measurements for several
analyses by determining which of the computed coverage requirements
are actually feasible. Our work enables the use of whole-program class
analyses for testing of polymorphism in partial programs, and
identifies analyses that compute precise coverage requirements and
therefore are good candidates for use in coverage tools.

Keywords: testing, object-oriented, polymorphism, coverage tools, static analysis, class analysis
Remarks

129 - TitleA Transformation Based Approach to Scenario Traceability
AuthorsUlf Bergmann, IME - Instituto Militar de Engenharia, ulf@ime.eb.br
Julio Leite, Pontifícia Universidade Católica do Rio de Janeiro, julio@inf.puc-rio.br
Karin Breitman, Pontifícia Universidade Católica do Rio de Janeiro, karin@les.inf.puc-rio.br
PC MemberNo
Contact personUlf Bergmann, ulf@ime.eb.br, Phone: 55 21 2546-7094
Main Fields1. Requirements Engineering
5. Maintenance, Evolution, Re-/Reverse Engineering
20. Configuration Management
Abstract + KeywordsScenarios that evolve along the software process are an important medium for communication with clients and users as well as a mirror of the history of the software process. Standing on a model of scenario evolution, that was based on a series of empirical case studies, we propose a transformation based approach to the automation of the traceability of scenarios during their evolution. Using the Draco-PUC engine, a domain oriented program generator, and the XML Draco-PUC domain, we have a semi-automatic way of establishing and maintaining traceability links. We approach the problem as one of finding the differences between two consecutive scenarios versions and recognizing what operation has been executed by the developer on the original set of scenarios. The operations and relationships among scenarios are the ones established by previous work on scenario evolution. Our results opens an important frontier on the automation of semi structured natural language description as well on the traceability of requirements.
Remarks

130 - TitleTowards Correct Run-Time Composition of Components in Dynamic Service-Oriented Software Architectures
AuthorsHolger Giese, University of Paderborn, Department of Mathematics and Computer Science, Software Engineering Group, hg@upb.de
Ulrich Nickel, University of Paderborn, Department of Mathematics and Computer Science, Software Engineering Group, duke@upb.de
Matthias Tichy, University of Paderborn, Department of Mathematics and Computer Science, Software Engineering Group, mtt@upb.de
PC MemberNo
Contact personHolger Giese, hg@upb.de, Phone: (++49 5251) 60-3321
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
9. Component and Interoperability Technologies
10. Interface Technologies
15. Formal Methods
16. CASE Tools and Software Development Environments
Abstract + KeywordsOpen service-oriented software architectures have recently
received considerable attention in the form of web-services. In this
architectural style, each component determines its embedding into
the context dynamically, by means of service lookup. This
facilitates the integration of independently developed systems
using service contracts. However, the third-party composition of
components in a concurrent environment can result in significant
synchronization problems not covered by contract compatibility.
Therefore, the paper proposes an approach that additionally
requires the identification of specific synchronization dependencies between
the service contracts at design-time, their publication in the form of a
component type, and their use together with the service
contracts compatibility at run-time to guide the composition of
component instances in a manner that rules out synchronization
problems.
Remarks

131 - TitleSpecification and Verification of Object Models with TLA and TLC
AuthorsPurandar Bhaduri, TRDDC, Tata Consultancy Services, pbhaduri@pune.tcs.co.in
R. Venkatesh, TRDDC, Tata Consultancy Services, rvenky@pune.tcs.co.in
PC MemberNo
Contact personPurandar Bhaduri, pbhaduri@pune.tcs.co.in, Phone: +91 20 6871058
Main Fields1. Requirements Engineering
4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
15. Formal Methods
Abstract + KeywordsRequirements captured using popular object-oriented modelling notations like
UML are informal and cannot be analysed automatically. Many formal notations
have associated tools that automatically check specifications for stated
properties but are difficult to use. Here we propose to bridge the gap by
translating from a semi-formal object modelling notation to the formal notation
TLA. Constraints such as cardinality of associations and invariants on
attribute values are translated as global invariants. Operations with pre- and
post-conditions are translated as TLA actions. This enables automatic checking
of inconsistencies in the requirements using the model checker TLC. We present
a small case study to illustrate these ideas and show the usefulness of model
checking in catching many subtle errors early in the software life-cycle.
RemarksIn this second resubmission, I have brought down the number of pages from 12 to 10, as the older version was exceeding the mandated page limit by two pages. I have uploaded the new pdf and ps files with the 10 page manuscript.

Best Regards,
Purandar

132 - TitleConstructivist Learning in Program Comprehension and Reengineering
AuthorsVaclav Rajlich, Wayne State University, rajlich@cs.wayne.edu
Michelle Buckellew, Lockheed Martin Integrated Systems, michelle.buckellew@lmco.com
Norman Wilde, University of West Florida, nwilde@uwf.edu
PC MemberNo
Contact personVaclav Rajlich, rajlich@cs.wayne.edu, Phone: 313-577-5423
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
Abstract + Keywords The paper describes program comprehension in terms of constructivist learning. Constructivist learning is based on the processes of assimilation and accommodation. Assimilation means that the new facts are either added to the existing knowledge or rejected. Accommodation means that the existing knowledge is reorganized in order to absorb new facts.
These processes are illustrated by a case study that reengineered a legacy Fortran 77 program into a new, object-oriented version. The first step was the construction of preliminary knowledge based on the program documentation. The preliminary knowledge was then adjusted by comprehending the actual code. During the code comprehension we used software reconnaissance to locate the program features. The resultant knowledge was then used in program reimplemention. The case study supported the constructivist theory of learning as a suitable theory of program comprehension and also provided several lessons about reengineering.
Remarks

133 - TitleFinite State Modeling: an alternative approach
AuthorsSukhamay Kundu, Computer Science Dept., Louisiana State University, kundu@bit.csc.lsu.edu
PC MemberNo
Contact personSukhamay Kundu, kundu@bit.csc.lsu.edu, Phone: (225) 578-2246
Main Fields2. Design
15. Formal Methods
Abstract + KeywordsAlthough finite-state models (FSMs) have been used in software modeling for quite some time,
a general method for building and manipulating such a model which can be directly related to a
program's structure is not readily available in the literature. We first fill this gap by constructing
the finite-state model M(P) from the flowchart of a program P and present several methods for
simplifying M(P) which correspond to improvements in P by eliminating certain design flaws or
to forming a higher level model for P. Then, we consider building an FSM by starting from the
requirements and illustrate several important features of finite-state modeling in real world
applications. Finally, we introduce the notion of two or more finite-state models working
together by transferring control among them in a fashion similar to ordinary function-calls. This
gives us a new and simpler modeling technique than statecharts.


.
RemarksThis is a shortened version to meet the 10 page requirement, which I had missed the first
time (sorry about that). I hope that the single column formatting would not be a problem
for the reviewing. If I try to format in two column at this stage, with many figures, I might
miss the deadline tonight.

Thank you.

134 - TitlePrinciples Governing the Ideal Allocation of Operations to Classes
AuthorsPeter Bielkowicz , London Metropolitan University, bielkowi@lgu.ac.uk
Thein Than Tun, London Metropolitan University, thein@lgu.ac.uk
PC MemberNo
Contact personThein Than Tun, thein@lgu.ac.uk, Phone: 00(44) 207 320 1705
Main Fields1. Requirements Engineering
2. Design
3. Software Architectures, Patterns, and Frameworks
8. Object-Oriented Technologies
Other Main FieldsObject-Oriented Analysis & Design Method
Unified Modeling Language
Abstract + KeywordsExisting techniques to allocate operations to classes are generally ineffective. These techniques fail to provide detailed guidelines on how to allocate the right opera-tions to the right classes. We believe that it is due to the lack of certain principles that help us rationalise whether or not given allocations of operations are right, at least in theory. Certain principles already exist in the domain of our common knowledge, but these principles perhaps are not always in the fore of our mind when allocating class operations. By extending some fundamental principles and adding new advanced ones, in this paper, we present a suite of five important principles, which collectively form a rigorous logical foundation for a new approach to allocation of class operations we are developing. How-ever, these principles are completely independent of all class operation allocation techniques and hence should be observed regardless.
RemarksNone.

135 - TitleIDEs for Dataflow VPLs
AuthorsWesley Johnston, School of Computing and Maths, University of Ulster, wm.johnston@ulster.ac.uk
Richard Millar, School of Computing and Maths, University of Ulster, rj.millar@ulster.ac.uk
Paul Hanna, School of Computing and Maths, University of Ulster, p.hanna@ulster.ac.uk
PC MemberNo
Contact personWesley Johnston, wm.johnston@ulster.ac.uk, Phone: +44 28 9086 8115
Main Fields16. CASE Tools and Software Development Environments
Abstract + KeywordsRecent years have seen much research in the field of dataflow visual programming languages (DFVPLs). This quite specific class of language is introduced and its history briefly outlined. It is argued that the primary motivation for research into this topic is software engineering. Many of the advantages that DFVPLs offer to software engineering, both proven and theoretical, are therefore presented. The trend towards integrated DFVPL development environments and the research that has been conducted on individual aspects of these is highlighted. The need for an integrated DFVPL development environment is argued, in order to evaluate how well various ideas can be integrated together. The environment is also necessary in order to evaluate future directions of DFVPLs. In the last section a proposed implementation of such a system and its features are described in detail. The conclusions note the contribution of such an integrated system and its usefulness for future work.
Remarks

136 - TitleBRAIN: a Framework for Flexible Role-based Interactions in Multiagent Systems
AuthorsGiacomo Cabri, Dipartimento di Ingegneria dell'Informazione, giacomo.cabri@unimo.it
Letizia Leonardi, Dipartimento di Ingegneria dell'Informazione, letizia.leonardi@unimo.it
Franco Zambonelli, Dipartimento di Scienze e Metodi dell'Ingegneria, franco.zambonelli@unimo.it
PC MemberNo
Contact personGiacomo Cabri, giacomo.cabri@unimo.it, Phone: +39-059-2056190
Main Fields3. Software Architectures, Patterns, and Frameworks
9. Component and Interoperability Technologies
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsAgent-based approaches in application development seem to meet the requirements of adaptability, scalability, decentralization, and flexibility imposed by complex software systems. In open applications, interactions among agents are one of the most important issues that must be faced carefully. In this paper we propose the BRAIN framework, which aims at supporting the different phases of the development of interactions in agent-based applications, relying on the concept of role to model agent interactions. Besides the interaction model, the BRAIN framework includes XRole, an XML-based notation to express roles in an interoperable way, and Rolesystem, an interaction infrastructure that implements the proposed model. An application example shows the advantages of our approach in application engineering.
Keyword: Agents, Interactions, Roles
Remarks

137 - TitleSystematic Management of Software Product Lines
AuthorsKlaus Schmid, Fraunhofer IESE, Klaus.Schmid@iese.fraunhofer.de
Stefan Biffl, TU Vienna, Stefan.Biffl@tuwien.ac.at
PC MemberNo
Contact personStefan Biffl, Stefan.Biffl@tuwien.ac.at, Phone: +43-676-920 87 57
Main Fields6. Reuse
18. Software Project Management and Cost Estimation
Other Main FieldsSoftware Product Lines
Abstract + KeywordsSoftware product lines can effectively facilitate large-scale reuse and can thus bring about order of magnitude improvements in terms of time-to-market, costs, and quality. This comes at the price of a more complex development environment in which many interdependencies are created through the shared generic assets.
In this paper we discuss how this complexity entails that the specific strategy chosen for product line development has a strong impact on the degree to which the potential benefits of product lines can actually be reaped. Thus, we focus on practical guidelines that can support practitioners in optimally scheduling their development tasks.
The empirical evaluation of such variations is time-consuming and very expensive. Thus, we take as preparation a simulation-based approach for an initial study to analyze the performance of different strategies to meet product deadlines with limited resources. Using this approach we identify strategies that consistently provide optimal results in the investigated product line context.
RemarksPaper length: The paper contains a 2 page Appendix, which can be replaced by a reference to a technical report for the final version of the paper.

138 - TitleEvent-Based Performance Analysis
AuthorsSteven Reiss, Brown University, spr@cs.brown.edu
PC MemberNo
Contact personSteven Reiss, spr@cs.brown.edu, Phone: 401-863-7641
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
Abstract + KeywordsUnderstanding performance and related issues in a complex system requires analyzing where and why the program spends its resources. In a reactive system such as a interactive application or a server, it is important for understanding that one be able to associate resource usage with the events, be they user actions or client requests, that triggered the corresponding execution. As part of our software visualization and analysis efforts we have developed a system that lets the programmer define what is meant by an event and then to track the resources used in processing that event through the system. The resultant data is currently used to produce visualizations of event-based resource utilization.
Remarks

139 - TitleHierarchy of Fault Classes for Seven Specific Conditions in Specification Based Testing
AuthorsAnthony Irudhayaraj, Research Scholar, Anna University, anto_irud@hotmail.com
Sankara Narayanan, Director, Ramanujan Computing Centre, Anna University, vsankar@annauniv.edu
PC MemberNo
Contact personAnthony Irudhayaraj, anto_irud@hotmail.com, Phone: 0442352357
Main Fields4. Testing, Analysis, and Verification
Abstract + KeywordsAbstact
-------

On fault based testing, a variety of fault models have been proposed so far namely, Missing Condition Fault, Variable Reference Fault, Variable Negation Fault and Expression Negation Fault. It is possible that typical faults are hypothesized and then test sets are derived to detect these faults. Kuhn [2] showed that there is a hierarchy of fault classes with respect to detecting capability and concluded that focus on detecting Missing Condition Faults will detect a variety of other fault types. T. Tsuchiya et al [3] extended the hierarchy of fault classes and has mentioned that the conclusion of Kuhn [2] was premature and suggested that it suffices to use a test set common to Missing Condition Fault and Variable Reference Fault to cover the above four types of faults and concluded that in order to achieve higher fault coverage, Variable Reference Fault should be hypothesized. The primary motivation of this paper was the emergence of a disjoint between SMCF and SVRF and SVRF is Null for some specifications during our experimental study. Many other such situations were also encountered. This paper investigates the relationship among the various fault classes presented in [2] and [3], present the hierarchy of fault classes to be followed for each of the seven specific conditions and suggests the specific faults to be hypothesized under these conditions.
Remarks

140 - TitleA Model and an Environment for Collaborative Software Development
AuthorsAngelica de Antonio, Universidad Politecnica de Madrid, angelica@fi.upm.es
Marco Villalobos, Universidad de Tarapacá, marco@uta.cl
PC MemberNo
Contact personAngelica de Antonio, angelica@fi.upm.es, Phone: (+34) 91 336 6925
Main Fields16. CASE Tools and Software Development Environments
17. Software Process, Workflow, CSCW
Abstract + KeywordsABSTRACT

This paper proposes a collaborative model that describes the software development process taking into account the intervention
of multidisciplinary and collaborative teams, that is, the model explicitly considers human intervention during the development
process. For this purpose, the model proposes two key concepts: Activity Site and Activity Trajectory, and is inspired by different
theoretical frameworks of collaborative work.
The proposed collaborative development model is being implemented in a software development environment, including software
design, project management and monitoring capabilities. The resulting environment is called SINERGIA.

KEYWORDS

Cooperative software development model, Software development environment, CSCW, Groupware
Remarks

141 - TitleInterferences – A Salient Problem in Developing Software Infrastructures
AuthorsWolf-Gideon Bleek, University of Hamburg, wbleek@acm.org
PC MemberNo
Contact personWolf-Gideon Bleek, wbleek@acm.org, Phone: +494042883-2307
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
18. Software Project Management and Cost Estimation
Other Main Fieldscontinuous engineering
Abstract + KeywordsIn developing software infrastructures one can ob-serve interferences. They characterize unwanted effects on one part of an infrastructure during development on another part. Three examples of interferences observed in an empirical project are evaluated using actor-network theory. Software development activities are proposed to shift from interferences to coordinated interaction. Ex-plicit communication and additional means have proven helpful in doing this. An enriched software development process for infrastructures that takes concurrent devel-opment activities into account is provided.
Remarks

142 - TitleConsistency Checking in Multiple-View Models of Software Product Lines
AuthorsHassan Gomaa, George Mason University, hgomaa@gmu.edu
Michael Shin, Texas Tech University, Michael.Shin@coe.ttu.edu
PC MemberNo
Contact personHassan Gomaa, hgomaa@gmu.edu, Phone: (703) 993-1652
Main Fields15. Formal Methods
Other Main FieldsSoftware Product Lines
Abstract + KeywordsThis paper describes a multiple-view meta-modeling approach for software product lines using the Unified Modeling Language notation (UML). The paper describes a multiple-view meta-model for software product lines, which describes how each view relates semantically to other views. The meta-model depicts life cycle phases, views within each phase, and meta-classes within each view. The relationships between the meta-classes in the different views are described. Consistency checking rules are defined based on the relationships among the meta-classes in the meta-model. These rules, which are specified formally using the Object Constraint Language (OCL), are used to resolve inconsistencies between multiple views in the same phase or other phases, and to define allowable mapping between multiple views in different phases. Finally, tool support for the approach is described.
Remarks

143 - TitleTools for understanding the behavior of telecommunication systems
AuthorsAndré Marburger, Aachen University of Technology, Department of Computer Science III, marand@cs.rwth-aachen.de
Bernhard Westfechtel, Aachen University of Technology, Department of Computer Science III, westfechtel@cs.rwth-aachen.de
PC MemberNo
Contact personAndré Marburger, marand@cs.rwth-aachen.de, Phone: +49 241 80 21 312
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
16. CASE Tools and Software Development Environments
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsMany methods and tools for the re-engineering of software systems have
been developed so far. However, the domain-specific requirements of
telecommunication systems have not been addressed sufficiently. These
systems are designed in a process- rather than in a data-centered
way. Furthermore, analyzing and visualizing dynamic behavior is a key
to system understanding. In this paper, we report on tools for the
re-engineering of telecommunication systems which we have developed
in close cooperation with an industrial partner. These tools are based
on a variety of techniques for understanding behavior such as
visualization of link chains, recovery of state diagrams from the
source code, and visualization of traces by different kinds of
diagrams. Tool support has been developed step by step in response to
the requirements and questions stated by telecom experts.
Remarks

144 - TitleA Software Platform for Reconfiguration, Adaptation and Evolution of a System at Architectural Level
AuthorsSamir Benarif, Prism, Université de Versailles St.-Quentin, benarifsam@hotmail.com
Nicole Levy, Prism, Université de Versailles St.-Quentin, Nicole.Levy@prism.uvsq.fr
PC MemberNo
Contact personAmar Ramdane-Cherif, rca@prism.uvsq.fr, Phone: +33 1 39254078
Main Fields3. Software Architectures, Patterns, and Frameworks
Other Main FieldsDynamic software architecture : reconfiguration, adaptation, evolution
and improvement of quality attributes of software architecture.
Abstract + KeywordsOnly recently the reconfiguration of software architecture at runtime, has grown up considerably for the construction of reliable evolutionary systems. The structure of these systems is dynamic and continuously changing. Consequently, architectures must have the ability to react to events and perform architectural changes autonomously. In this paper, we focus on dynamic architectures reconfiguration, adaptation and evolution. Our principle is to use our platform based agents to achieve these functionalities, to monitor the global architecture and to evaluate and manage changes in an architecture dynamically at the execution time. This Platform can evaluate an architecture with respect to some quality attributes to improve its structural and behavioral properties. Since the software architecture is dynamic and does not cease to evolve, to reconfigure and to extend, we must realise a dynamic and evolutionary platform so that it can constantly reach and follow the evolution of this software architecture. This strategy will enable to the platform the better control of the modifiability and extensibility of the software architecture. In this paper we present the conception and the implementation of this platform. A case study is presented showing the application of our platform on Client-Server architecture and its benefits are outlined.

Keywords: Dynamic software architecture, reconfiguration, adaptation, evolution and improvement of quality attributes of software architecture.
RemarksI think that I respected the suggested format to prepare my paper.
If some mistake appear in my paper about the format, I will revised it according your accommodations


145 - TitleIntegrating Context-Based Constraints into UML
AuthorsFelix Bübl, Technical University Berlin, fbuebl@cs.tu-berlin.de
PC MemberNo
Contact personFelix Bübl, fbuebl@cs.tu-berlin.de, Phone: +49 30 314 21154
Main Fields1. Requirements Engineering
2. Design
5. Maintenance, Evolution, Re-/Reverse Engineering
Abstract + KeywordsSoftware evolution is a major challenge to software development.
When adapting a system model to new, altered or deleted requirements,
existing requirements should not unintentionally be violated.
By treating a requirement as an invariant, it can be considered and
protected during later modifications. One requirement can affect several model
elements that may not be associated with each other or even may
belong to different models. This paper proposes an new constraint
mechanism that facilitates the specification of rather abstract requirements
for possibly unassociated elements: one context-based constraint (CoCon)
can indirectly select the constrained elements via their metadata.
This paper proposes a UML profile for integrating CoCons into UML.
Moreover, it compares CoCons to the Object Constraint Language OCL.
The proposed concepts have been evaluated in case studies and integrated
into the open source CASE tool ArgoUML.
RemarksI hope you like IT

146 - TitlePlanSP: A Framework to Automatically Analyze Software Development and Maintenance Choices
AuthorsBiplav Srivastava, IBM India Research Laboratory, sbiplav@in.ibm.com
PC MemberNo
Contact personBiplav Srivastava, sbiplav@in.ibm.com, Phone: +91 11 686 1100
Main Fields12. AI-Based Approaches to S/W Engineering
16. CASE Tools and Software Development Environments
18. Software Project Management and Cost Estimation
Other Main FieldsDecision-support in Project Management
Abstract + KeywordsIn software engineering, a piece of software is assembled from
components or modules and these components in turn can be
recursively made up from smaller sub-components. The management of
a software project involves tracking the development and maintenance
of the individual components. However, this brings to fore the
crucial issue of how to manage components in such a way that they
could be leveraged effectively -- reusing existing components and
monitoring their evolution during the life cycle of the software.
Currently, when a new piece of software is being created, the user
manually has to evaluate the relevance of existing components based
on her development objectives like time available and expected
performance metric. Similarly, when a software has been released and
is now being maintained, any updates to the dependent components is
evaluated, either manually or blindly (through timestamps), to
decide if a new build of the software is necessary.

Though tools exist to track component dependencies and historical
changes, the key software management hurdle is the manual
evaluation of the trade-offs. We introduce an automated decision
-support framework for software development and maintenance called
PlanSP that can analyze different choices and assist the user
in making cost-effective decisions. Our approach is to build
a formal model of the software and use automated planning/
reasoning techniques to produce alternative choices (``plans'') to
develop or maintain the software under consideration while
respecting the user's effort and performance objectives. We show
that the PlanSP framework is both useful and practical for software
project management.
Remarks

147 - TitleDSSV-Methodology: Software Validation
AuthorsEmmanuelle de Gentili, University of Corsica, gentili@univ-corse.fr
Jean François Santucci, University of Corsica, santucci@univ-corse.fr
PC MemberNo
Contact personEmmanuelle de GENTILI, gentili@univ-corse.fr, Phone: +33495450208
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsIn this paper we defining a modelling methodology formalism by
software validation based on DEVS environment. The originality of
this method is based on a generic approach of High Level
Simulation allowing the abstraction and the independence compared
to the validation specifications before physical implementation.
We also highlight the following levels of validation: level
abstract specification, level formal specifications and code
level. The major interest of this method resides in the fact that
starting from the level of validation that we wish to obtain, it
is possible to re-use the same structures of models because the
models are generic thus reusable. In this paper we will detail
this method called DSSV-methodology (DEVS based Software
Simulation and Validation methodology) which we will apply and
validate in the field of Telecommunication to environment CORBA
and more particularly to the Modelling and Simulation of the
Portable Object Adapter, because one of the interests major
resides in the fact that this software modelling on high level
makes it possible to simulate distributed software architecture an
independently of the distribution which remains with the load of
the distributed environment.
Remarks

148 - TitleImproving User Interfaces and Processes after Usability Problem Analysis
AuthorsEbba Thora Hvannberg, University of Iceland, ebba@hi.is
Lai-Chong Law, Eidgenössische Technische Hochschule Zürich, law@tik.ee.ethz.ch
PC MemberNo
Contact personEbba Thora Hvannberg, ebba@hi.is, Phone: 354 525 4702
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
17. Software Process, Workflow, CSCW
19. Empirical Studies, Metrics
Abstract + KeywordsThis paper suggests a method to locate the source of usability problems. The objective is to improve the feedback that usability testers give to developers and make it easier for developers to correct the usability problems. As a basis for the method, the paper describes user interface development processes and explains the terms user error and usability problem in terms of error, fault and failure. The method is founded in empirical studies of usability tests of the UNIVERSAL Brokerage Platform. Application of the method is done on data gathered from usability tests of the Brokerage Platform. The paper contrasts this method with other more general defect causal analysis methods. Motivation for this work, besides improving the product, is to improve the user interface development process. One of the aims of the method is to help developers better manage the iterations of the user interface design.
Remarks

149 - TitleImproving Knowledge Sharing in Product Family Specification
AuthorsPekka Savolainen, VTT Electronics, Pekka.Savolainen@vtt.fi
Jorma Sajaniemi, University of Joensuu, Department of Computer Science, saja@cs.joensuu.fi
PC MemberNo
Contact personPekka Savolainen, Pekka.Savolainen@vtt.fi, Phone: +358 8 551 2489
Main Fields1. Requirements Engineering
3. Software Architectures, Patterns, and Frameworks
6. Reuse
20. Configuration Management
Other Main FieldsDomain engineering for reuse and automatic component configuration
Abstract + KeywordsAbstract:Constructing families of electronics products, where members of the family are sharing common design parts,
requires co-operative control over the common engineering effort involving several stakeholder groups.
A prerequisite is a shared design model, where the commonalities of family members and the variabilities among them
are clearly identifiable. This paper focuses on the requirements specification and analysis of software applications
embedded in a family of electronics products, where each product is individual in behaviour but they all share
a common software platform. A method catching hold of the product variation early in the design phase is described,
which supports mapping product characteristics to the development platform.
The approach manages variation in software behaviour, related to e.g. varying user preferences and
execution environment, based on a structured text model of the specifications.
Experiences in using the method in an industrial setting are outlined.

Keywords: feature modelling, domain engineering, requirements analysis, product instantiation, SGML, XML
Remarks

150 - TitleReviewing the language PILOT and its control system
AuthorsLaurent NANA, University of Brest - FRANCE, Laurent.Nana@univ-brest.fr
Lionel MARCÉ, University of Brest - FRANCE, marce@univ-brest.fr
PC MemberNo
Contact personLaurent NANA, Laurent.Nana@univ-brest.fr, Phone: (33) 2 98 01 71 67
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
11. Programming Language-Based Approaches to S/W Engineering
15. Formal Methods
Other Main Fieldstelerobotics
Abstract + KeywordsPILOT (Programming and Interpreted Language Of actions for Telerobotics) is a high
level language dedicated to the remote control of systems. It is based on the notion
of action. PILOT was defined in 1996. This paper presents the revision process of the
language PILOT and of its control system. PILOT is first described briefly, then it is
compared to Sequential Function Chart, a well known language in the automated
production systems area. Thereafter, the semantics of continuous actions is
discussed and precisions are brought in their use and their termination. The control
system of PILOT is then presented and some improvements brought are described
(distribution facilities, supervision of plans execution, etc.). Among the improvements,
an incremental approach for plans construction and syntax-checking is described
in more detail. The verification of its accordance with a PROLOG "formal"
syntax-checker built for PILOT is shown.
Remarks

151 - TitleFailures-free Connector Synthesis for Correct Components Assembly
AuthorsPaola inverardi, Dipartimento di Informatica, Universita' dell'Aquila, inverard@di.univaq.it
Massimo Tivoli, Dipartimento di Informatica, Universita' dell'Aquila, tivoli@di.univaq.it
PC MemberNo
Contact personPaola Inverardi, inverard@di.univaq.it, Phone: +39 0862 433127
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
9. Component and Interoperability Technologies
15. Formal Methods
Abstract + KeywordsOne of the main problem in component
assembly is related to the ability to establish properties on the
assembly code by only assuming a relative knowledge of the single
components properties. Our answer to this problem is a software
architecture based approach in which the software architecture
imposed on the assembly allows for detection and recovery of COTS
integration anomalies. We assume that some specification of the
behavior of the assembled system is available in the
form of basic and high level MSC (Message Sequence Charts)
and that a LTL (Linear Temporal Logic) definition of the properties to satisfy exist.
Under these hypothesis we are able to develop a framework
which automatically derives the assembling code for a set of
components in order to obtain a properties-satisfying system.
In the paper, by means of an explanatory example we illustrate our
approach and discuss possible recovery strategies.
RemarksThe page limit has been slightly exceeded because of the use of several Figures and References.

152 - TitleComputer-Assisted Assume/Guarantee Reasoning With VeriSoft
AuthorsJuergen Dingel, School of Computing, Queen's University, dingel@cs.queensu.ca
PC MemberNo
Contact personJuergen Dingel, dingel@cs.queensu.ca, Phone: (613) 533-3071
Main Fields4. Testing, Analysis, and Verification
15. Formal Methods
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsWe show how the state space exploration tool VeriSoft can be
used to analyze parallel C/C++ programs compositionally.
VeriSoft is used to check assume/guarantee
specifications of parallel components automatically.
The analysis is meant to complement standard
assume/guarantee reasoning.
While a successful analysis does not always imply
the general correctness of the specification, it
increases the confidence in the verification
effort. An unsuccessful analysis always produces a
counterexample which can be used to correct
the specification or the program.
VeriSoft's optimization and visualization techniques
make the analysis relatively efficient and effective.
Remarks

153 - TitleDealing with Missing Software Project Data
AuthorsMartin Shepperd, Bournemouth University, mshepper@bmth.ac.uk
Michelle Cartwright, Bournemouth University, mcartwri@bmth.ac.uk
PC MemberNo
Contact personMartin Shepperd, mshepper@bmth.ac.uk, Phone: 44 1202 702756
Main Fields18. Software Project Management and Cost Estimation
19. Empirical Studies, Metrics
Abstract + KeywordsWhilst there is a general consensus that quantitative approaches are an important adjunct to successful software project management there has been relatively little research into many of the obstacles to data collection and analysis in the real world. One feature that characterises many of the data sets we deal with is missing or highly questionable values. Naturally this problem is not unique to software engineering, so in this paper we explore the application of various data imputation techniques that have been used to good effect elsewhere. In order to assess the potential value of imputation we use two industrial data sets containing a number of missing values. The relative performance of effort prediction models derived by stepwise regression methods on the raw data and data sets with values imputed by various techniques is compared. In both data sets we find that k-Nearest Neighbour (kNN) and sample mean imputation (SMI) significantly improve effort prediction accuracy with the kNN method giving the best results.
Keywords: project effort estimation, imputation, data analysis.
Remarks

154 - TitleTriune Continuum Paradigm and Problems of UML Semantics
AuthorsAndrey Naumenko, Swiss Federal Institute of Technology – Lausanne, andrey.naumenko@epfl.ch
Alain Wegmann, Swiss Federal Institute of Technology – Lausanne, alain.wegmann@epfl.ch
PC MemberNo
Contact personAndrey Naumenko, andrey.naumenko@epfl.ch, Phone: +41-21-693-6794
Main Fields3. Software Architectures, Patterns, and Frameworks
Other Main FieldsSoftware Systems Modeling Paradigms
Abstract + KeywordsWe present the results of our research that is positioned in the domain of system modeling. In particular, we present an object-oriented paradigm that provides a logically rigorous and complete theoretical base for various existing object-oriented frameworks. The strong points of the paradigm are presented by demonstrating how the paradigm can resolve a number of existing problems of the Unified Modeling Language (UML). The analysis of these problems and the proposed paradigm-based solutions represent an original research approach towards software systems modeling; the research approach that is based on the theories like Russell’s theory of types and Tarski’s declarative semantics. The paper advances the current state of research in software systems modeling frameworks in general and the state of UML research in particular.
Remarks

155 - TitleA Framework for Component Deployment Testing
AuthorsAntonia Bertolino, ISTI-CNR, bertolino@iei.pi.cnr.it
Andrea Polini, ISTI-CNR, a.polini@iei.pi.cnr.it
PC MemberYes
Contact personAntonia Bertolino, bertolino@iei.pi.cnr.it, Phone: +39 050 3152914
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
9. Component and Interoperability Technologies
Abstract + KeywordsComponent-based development is the emerging paradigm in software production, though several challenges still slow down its full taking up. In particular, the "component trust problem" refers to how adequate guarantees and documentation about a component's behaviour can be transferred from the component developer to its potential users. The capability to test a component when deployed within the target application environment certainly contributes to "increase trust", and can help establish the compliance of a candidate component to the customer's expectations. To this purpose, we propose the CDT framework for Component Deployment Testing. CDT provides the customer with both a technique to early specify a deployment test suite and an environment for running and reusing the specified tests on any component implementation. The framework can also be used to deliver the component developer's test suite and to later re-execute it. The central feature of CDT is the complete decoupling between the specification of the tests and the component implementation.
Remarks

156 - TitleREQAS: Quality Improvement based on Requirements-Tracing and Executable Assertion in the Object-Oriented Software Development Process
AuthorsChristopher Robinson-Mallett, Dept. of Software-Engineering at the Hasso-Plattner-Institute, mallett@hpi.uni-potsdam.de
Joerg Gericke, Dept. of Software-Engineering at the Hasso-Plattner-Institute, gericke@hpi.uni-potsdam.de
PC MemberNo
Contact personJoerg Gericke, joerg.gericke@hpi.uni-potsdam.de, Phone: +49 (0) 331 5509155
Main Fields1. Requirements Engineering
4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
14. Safety and Security
17. Software Process, Workflow, CSCW
Abstract + KeywordsThe quality of object-oriented systems can be increased with the usage of assertions throughout the whole software development process. Unfortunately, their use is often split into individual use during design, implementation and testing. This gap can be bridged by developing a process-integrated methodology, based on a detailed tracing of requirements, and on automatic generation and instrumentation of executable assertions. To achieve this goal assertions are assumed as low-level requirements and a new Meta class Requirement is introduced into the Unified Modeling Language to allow the definition of assertions while analysis or design. During the implementation or the latter testing phases the assertions carried by the Requirements class are automatically instrumented into the code. The original class can be instrumented with class invariants, pre- and post-conditions and an introduced type of assertion defined on attributes. The definition of assertions on attributes is based on a static data flow analysis to identify post definition and pre use instrumentation points. The tracing of requirements from a line of code back to its definition in the design or even in the analysis phase enables the developer to use assertions continuously in the whole software development process. Assertions can be defined on any type of class feature in terms of predicate logic and are evaluated by executable assertions based on a proposed set of instrumentation rules. By the early definition assertions are available throughout the following development phases as semantic information and for construction or testing purpose.
RemarksDear Sirs,

We are two Ph.D. students from the Hasso-Plattner-Institute for Software Systems Engineering at the University of Potsdam (www.hpi.uni-potsdam.de). We had a very good idea to improve the quality of software systems. We want to present this idea of your conference. However, we need one more week to finish our work. Is it possible to send you the paper one week later?

Yours
Joerg Gericke


157 - TitleSecurity Functional Testing Using an Interface-Driven Model-based Test Automation Approach
AuthorsRamaswamy Chandramouli, National Institute of Standards and Technology, mouli@nist.gov
Mark Blackburn, T-VEC Technologies, blackbur@software.org
PC MemberNo
Contact personRamaswamy Chandramouli, mouli@nist.gov, Phone: 3019755013
Main Fields4. Testing, Analysis, and Verification
15. Formal Methods
Abstract + KeywordsIndependent security functional testing on a product occupies a backseat in traditional security evaluation because of the cost and stringent coverage requirements. In this paper we present the details of an approach we have developed to automate security functional testing. The underlying framework is called TAF (Test Automation Framework) and the toolkit we have developed based on TAF is the TAF-SFT toolkit. The TAF-SFT toolkit uses text-based specifications of security functions provided by the product vendor and the requirements of the underlying security model to develop a machine-readable specification of security functions using the SCR (Software Cost Reduction) formal language. The resultant behavioral specification model is then processed through the TAF-SFT Toolkit to generate test vectors. The behavioral model and the test vectors are then combined with product interface specifications to automatically generate test drivers (test execution code). We illustrate the application of TAF-SFT toolkit for security functional testing of a commercial DBMS product. We also discuss the advantages and disadvantages of using TAF-SFT toolkit for security functional testing and the scenarios under which the impact of disadvantage can be minimized


Keywords: Security Functional Testing, Access Control Model, Test Vectors, Security Function Specification
Remarks

158 - TitleReusable Test Patterns for Product Lines modeled in UML
AuthorsClémentine Nebut, Irisa - Campus Universitaire deBeaulieu 35042 Rennes Cédex, France , cnebut@irisa.fr
Simon Pickin, Irisa - Campus Universitaire deBeaulieu 35042 Rennes Cédex, France , spickin@irisa.fr
Yves Le Traon, Irisa - Campus Universitaire deBeaulieu 35042 Rennes Cédex, France , yletraon@irisa.fr
Jean-Marc Jézéquel, Irisa - Campus Universitaire deBeaulieu 35042 Rennes Cédex, France , jezequel@irisa.fr
PC MemberNo
Contact personClémentine Nebut cnebut@irisa.fr, cnebut@irisa.fr, Phone: +33 (0) 2 99 84 72 98
Main Fields1. Requirements Engineering
4. Testing, Analysis, and Verification
6. Reuse
8. Object-Oriented Technologies
Abstract + KeywordsThe object paradigm is increasingly being used in the construction of both centralized and distributed systems and is a key aspect of the current trend for model-driven architectures. In this paper, we present an approach to natural expression of test requirements and to formal validation in a UML-based development process which takes advantage of product lines (PL) specificities. We proceed by building behavioral test patterns (i.e. the test requirements) as combinations of use-case scenarios, these scenarios being product-independent and therefore constituting reusable PL assets. We then present a method for automated synthesis of test cases for specific products from these product-independent behavioral test patterns and product-specific design models, remaining entirely within the Uml framework. We illustrate our approach using a virtual meeting PL case study.
Remarks

159 - TitleLiving With Ambiguities
AuthorsAlexander Egyed, Teknowledge Corporation, aegyed@sunset.usc.edu
PC MemberNo
Contact personAlexander Egyed, aegyed@sunset.usc.edu, Phone: +1 310 578 5350 ext.201
Main Fields2. Design
Other Main FieldsUnified Modeling Language
Decision
Choice
Uncertainty
Inconsistency
Incompleteness
Abstract + KeywordsAutomated techniques that validate software models generally require complete models. Any form of under-specification, either through the omission of modeling information or through the inclusion of choices, tends to have undesired effects and has to be resolved manually. We refer to under-specified models as ambiguous models and in this paper we will demonstrate how one can reason precisely and quickly in their presence despite many non-scalabilities. We will show that our approach produces accurate inconsistency feedback for parts of models that have manageable ambiguities; and we will show that our approach can isolate computationally expensive, infinite, and undefined ambiguities quickly and report them as incompleteness. Our approach is guaranteed to detect correctly inconsistencies but, if incompleteness is reported, our approach may not find all inconsistencies. In the latter case, our approach indicates the scope and impact of incompleteness for manual intervention by the designer. As input, our approach requires an ambiguous model and consistency/well-formedness constraints to validate it. Our approach is precise, fully automated, and tool supported.
Remarks

160 - TitleWhole Program Path-Based Dynamic Impact Analysis
AuthorsJames Law, Oregon State University, law@cs.orst.edu
Gregg Rothermel, Oregon State University, grother@cs.orst.edu
PC MemberNo
Contact personJames Law, law@cs.orst.edu, Phone: 541-737-5583
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
19. Empirical Studies, Metrics
Other Main FieldsImpact Analysis
Abstract + KeywordsImpact analysis, determining when a change in one part of a program
affects other parts of the program, is time-consuming and problematic.
Impact analysis is rarely used to predict the effects of a change,
leaving maintainers to deal with consequences rather than working to a
plan. Previous approaches to impact analysis involving analysis of
call graphs, and static and dynamic slicing, exhibit several tradeoffs
involving computational expense, precision, and safety, require access
to source code, and require a relatively large amount of effort to
re-apply as software evolves. This paper presents a new technique
for impact analysis based on whole path profiling, that provides a
different set of cost-benefits tradeoffs -- a set which can potentially
be beneficial for an important class of predictive impact analysis tasks. The paper presents the results of experiments that show that the technique can predict impact sets that are more accurate than those computed by call graph analysis, and more precise (relative to the behavior expressed in a program's profile) than those computed by static slicing.
Remarks

161 - TitleImproving Web Application Testing with User Session Data
AuthorsSebastian Elbaum, University of Nebraska - Lincoln, elbaum@cse.unl.edu
Srikanth Karre, University of Nebraska - Lincoln, skarre@cse.unl.edu
Gregg Rothermel, Oregon State University, grother@cs.orst.edu
PC MemberNo
Contact personSebastian Elbaum, elbaum@cse.unl.edu, Phone: 402-472-6748
Main Fields4. Testing, Analysis, and Verification
19. Empirical Studies, Metrics
Abstract + KeywordsWeb applications have become critical components of
the global information infrastructure, and thus, it is important
that they are validated to ensure their reliability. Therefore,
many techniques and tools for validating web applications have
been created. Only a few of these techniques, however, have
addressed the problems for testing the functionality of web
applications, and those that do have not fully considered the
unique attributes of web applications. In this paper we explore
the notion that user session data gathered as users operate web
applications can be successfully employed in the testing of those
applications; particularly as those applications evolve and
experience different usage profiles. We report results of an
experiment comparing new and existing test generation techniques
for web applications, assessing both the adequacy of the generated
tests and their ability to detect faults on a point-of-sale web
application. Our results show that user session data can produce
test suites as effective overall as those produced by existing
white-box techniques, but at less expense. Moreover, the classes
of faults detected differ somewhat across approaches, suggesting
that the techniques may be complimentary, and may be beneficially
combined.
Remarks

162 - TitleVery late composition for layered design, technique and implementation
AuthorsDavid Fauthoux, IRIT, Toulouse France, fauthoux@irit.fr
Jean-Paul Bahsoun, IRIT, Toulouse France, bahsoun@irit.fr
PC MemberNo
Contact personDavid Fauthoux, fauthoux@irit.fr, Phone: +33 5 61 55 72 26
Main Fields1. Requirements Engineering
2. Design
3. Software Architectures, Patterns, and Frameworks
6. Reuse
8. Object-Oriented Technologies
11. Programming Language-Based Approaches to S/W Engineering
Abstract + KeywordsThis paper starts from the following outcome: a functionality of a program can be cut up to little pieces and then reassembled down to a layered structure. The very late composition is the ability to get and use the features of the functionality only when it is necessary, and even after the program has been compiled. We achieve this purpose and we lay out a complete implementation which sets up two autonomous sides in the functionality building process: on the one hand, the features are combined as external abstract operators; the external languages derive from XML by being dedicated to a domain. On the other hand, the use of the resultant functionality is independent and does not interfere in the composition process. Our implementation focuses on the compose-time (as opposed to runtime) and exactly matches the layered design; it can be integrated in real world applications right now.
Remarks

163 - TitleCognitive Complexity Driven Software Inspection with Program Slicing
AuthorsJuergen Rilling, Concordia University, rilling@cs.concordia.ca
Tuomas Klemola, Concordia University, t_klemol@cs.concordia.ca
PC MemberNo
Contact personJuergen Rilling, rilling@cs.concordia.ca, Phone: 514-848-3016
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
19. Empirical Studies, Metrics
Abstract + KeywordsAbstract

The market forces affecting today’s software development have placed a larger emphasis on software quality, which in turn has led to an increasingly large body of work being performed in the area of software measurements, particularly for evaluating and predicting the comprehension and quality of software. Understanding and applying cognition involving both short-term and long-term memories, can lead to new software metrics that allow the prediction of human performance in software development and to assess and improve the understandability of text and code. In this research we present novel metrics based on current understanding of both short-term and long-term memory performance, to predict location and frequencies of errors and to evaluate the quality of a software system. We further enhance these metrics by applying static and dynamic program slicing to provide programmers with additional guidance during software inspection and maintenance efforts.

Keywords: complexity measures, program comprehension, program slicing
Remarks

164 - TitleThe Method of Implementing a UML Virtual Machines With Some Constraints Based
AuthorsKevin Compton, Dept of EECS, Univesity of Michgan, kjc@cs.umich.edu
James Huggins, Kettering University, huggins@kettering.edu
PC MemberNo
Contact personWuwei Shen, wwshen@cs.wmich.edu, Phone: (269)3875653
Main Fields15. Formal Methods
16. CASE Tools and Software Development Environments
Abstract + KeywordsUML has become a standard language in designing a software system. To
support rapid UML model prototyping has become an important goal in many
UML CASE tools. However, most of UML CASE tools separate the design environment
from runtime environment when they exeucte a UML model. This separation can result
in many problems such as the inconsistency problem, time delay etc. In this paper, we
propose a new UML virtual machine based on Abstract State
Machines. We combine the semantic model, design model and
runtime model into one under the ASM virtual machine for UML.
Additionally, the ASM virtual machine for UML supports OCL so
any software system with constraints can be supported in the
ASM virtual machine. The ASM virtual machine can make rapid UML
model prototyping sufficient and efficient.
Remarks

165 - TitleManaging Risk by Effective Regression Testing
AuthorsYanping Chen, School of Information Technology and Engineering, University of Ottawa, ychen@site.uottawa.ca
Robert L. Probert, School of Information Technology and Engineering, University of Ottawa, bob@site.uottawa.ca
D. Paul Sims, IBM Canada Limited, sims@ca.ibm.com
PC MemberNo
Contact personYanping Chen, ychen@site.uottawa.ca, Phone: 613-836-0531
Main Fields4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
13. Reliability, Quality Assurance
Abstract + KeywordsRegression testing is essential to ensure software quality. The test team applies a regression test suite to ensure that new or modified features do not regress (make worse) existing features. Most regression test research is code-based. Code-based regression test selection is good for unit testing, but it has a scalability problem. In this paper, we describe a new specification-based method for regression test selection. The basic model we use for describing requirements is the activity diagram, which is a notation of the Unified Modeling Language (UML). To summarize our approach, we present processes for selecting two kinds of regression tests: i) Targeted Tests, which ensure that important current customer features are still supported adequately in a new release and ii) Safety Tests, which are risk-directed, and ensure that potential problem areas are properly handled. We report, based on preliminary evidence, that this approach is effective in an industrial environment. As well, we give details of our approach to cost-of-failure estimation.
RemarksI updated the author #3 affiliation and abstract fields. The PDF file is unchanged and was not resubmitted.

166 - TitleUsing Analytical Models of Complex Real-Time Systems for Temporal Impact Analysis
AuthorsAnders Wall, Mälardalen University, Department of Computer Engineering, Västerås, Sweden, anders.wall@mdh.se
Joakim Fröberg, Volvo Construction Equipment AB, Eskilstuna, Sweden, joakim.froberg@volvo.com
Christer Norström, ABB Robotics, Västerås, Sweden, christer.e.norstrom@se.abb.com
PC MemberNo
Contact personAnders Wall, anders.wall@mdh.se, Phone: +46 21 103159
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
6. Reuse
9. Component and Interoperability Technologies
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsTo predict the temporal impact of adding new functionality to large and complex real-time systems becomes more
difficult the older the system gets. In this paper we describe the concept of analytical models and how we can
use the analytical model for predicting the temporal impact of adding new or changing existing functions. We
define tree levels of abstractions in the analytical model, requirements, components, and implementation. The concept
has been applied on two large and complex industrial embedded real-time systems: a robot control system and a
vehicle control system. The case studies unveil two different approaches to the construction, and maintenance of the
analytical model of a system, "by construction" or "by re-engineering". Moreover, we show that both static analytical
methods and simulation-based methods are applicable when analyzing a real-time system. It is the characteristics of
the system and the correctness criterion that determines the most appropriate method
Remarks

167 - TitleAutomated Support for Classifying Software Failure Reports
AuthorsAndy Podgurski, Case Western Reserve University, andy@eecs.cwru.edu
David Leon, Case Western Reserve University, dzl@po.cwru.edu
Patrick Francis, Case Western Reserve University, paf9@po.cwru.edu
Wes Masri, Case Western Reserve University, qds1@hotmail.com
Melinda Minch, Case Western Reserve University, mlm24@po.cwru.edu
Jiayang Sun, Case Western Reserve University, jiayang@sun.cwru.edu
PC MemberNo
Contact personAndy Podgurski, andy@eecs.cwru.edu, Phone: (216) 368-6884
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
13. Reliability, Quality Assurance
Abstract + KeywordsThis paper proposes automated support for classifying reported software failures in order to facilitate prioritizing them and diagnosing their causes. A classification strategy is presented that involves the use of supervised and unsupervised pattern classification and multivariate visualization. These techniques are applied to profiles of failed executions in order to group together failures with the same or similar causes. The resulting classification is then used to assess the frequency and severity of failures caused by particular defects and to help diagnose those defects. The results of applying the proposed classification strategy to failures of three large subject programs are reported. These results indicate that the strategy can be effective.

Keywords: Software maintenance, bug reports, pattern classification, data mining, cluster analysis, visualization.
RemarksA previous version of this paper was submitted to FSE 2002. The reviewers liked the approach but were not satisfied with the strength of the experimental validation of our failure classification strategy. For the current version, we have done extensive manual evaluation of the strategy, as suggested by the FSE reviewers, and the paper has been revised significantly to improve the presentation.

Note: There is a seventh author: Bin Wang, Case Western Reserve University, bwang@laplace.cwru.edu

168 - TitleManaging Software Professionals
AuthorsLawrence Peters, Software Consultants International Ltd., lpeters@sci-ltd.net
PC MemberNo
Contact personLawrence Peters, lpeters@sci-ltd.net, Phone: +1 253-638-0298
Main Fields18. Software Project Management and Cost Estimation
Abstract + Keywords The management of software projects has often been cited as being
the key element in their success or failure. The practice of
management in fields outside of Software Engineering has been
widely recognized as being an "art" not a science. However, the
various tools, methods and techniques that have been produced to
improve the lot of the Software Engineering management community
are nearly all technical in nature supporting the view
that success in Software Engineering is a technical, not a
management issue. This paper examines this dichotomy, reviews
the bases for success in Software Engineering Project Management
and examines what drives and motivates Software Engineering
Professionals. It closes with a proposed plan of action for
ensuring success in Software Engineering Management.

RemarksIt is understood that I will retain copyright on this submission until such time as it has been accepted at which point it will be signed over to the IEEE Software Engineering Society. Any other reuse prior to such signover other than that related to the review and evaluation process is strictly prohibited by law.

169 - TitleTool for Architectural Styles
AuthorsLutfi Hazem, PRiSM, Université de Versailles St.-Quentin, Lotfi.Hazem@prism.uvsq.fr
Nicole Levy, PRiSM, Université de Versailles St.-Quentin, Nicole.Levy@prism.uvsq.fr
PC MemberNo
Contact personAmar Ramdane-Cherif, rca@prism.uvsq.fr, Phone: +33 1 39254312
Main Fields3. Software Architectures, Patterns, and Frameworks
6. Reuse
Other Main FieldsArchitectural styles
tool based knowledge data-base
Meta-model for storage architectural styles
Mechanisms for researching and detecting architectural styles

Abstract + KeywordsAs the design of software architectures emerges as a discipline within software engineering, it will become important to support architectural description and analysis with tools and environments. The concept of architectural styles (patterns) has had a large impact on component-oriented programming. It has greatly helped specifying and organizing components, and integrating sets of components in a reuse system. In this paper, we propose to design a tool support for architectural styles which take into account the problems that these styles solve. We pay a great attention to the link between problems and solutions underlying architectural styles. This lead to a process which start from the problem definition which will be refined gradually toward the specific solution. Mechanisms of modeling the architectural styles in knowledge data base and the automated searching of the specific architectural style guided by some quality attributes are presented. This paper describes work in progress which will lead in the future to provide a complete knowledge repository which groups all the metadata concerning the software architecture. This knowledge repository will constitute the baseline of some tools related to the architectural styles.

Keywords : Architectural styles,
tool based knowledge data-base,
Meta-model for storage architectural styles,
Mechanisms for researching and detecting architectural styles.
RemarksI think I have respected the format according to your suggestions
If any mistake appear in my paper, I will revised it in order to respect the prescribed format.


170 - TitleExploiting Inspection: Some new practices and some reminders.
AuthorsTom Gilb, Result Planning Limited, tom@gilb.com
PC MemberNo
Contact personTom Gilb, tom@gilb.com, Phone: +47 66801697
Main Fields4. Testing, Analysis, and Verification
13. Reliability, Quality Assurance
17. Software Process, Workflow, CSCW
Other Main FieldsInspection
Peer Reviews
Abstract + KeywordsInspection, a proven technique for achieving quality and identifying process improvements, should be applied to documents throughout software development. The greatest value from inspection can be gained through a proper understanding of its purposes and benefits. Newer practices, such as sampling, should be incorporated into the more traditional application of this technique. The full benefit of inspection can be found as it contributes to measurement, exit control, and defect injection prevention.
Remarks

171 - TitleHIerarchical Relationships among Object Oriented Design Patterns
AuthorsJeffrey Mak, Electronic and Information Enginneering Department, jeffreym@eie.polyu.edu.hk
Clifford Choi, Multimedia Innovation Center, mccliff@polyu.edu.hk
Daniel Lun, Electronic and Information Engineering Department, enpklun@polyu.edu.hk
PC MemberNo
Contact personJeffrey Mak, jeffreym@eie.polyu.edu.hk, Phone: (852)27664738
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
7. Software Understanding
16. CASE Tools and Software Development Environments
Abstract + KeywordsPattern-based design improvement helps designers to locate possible bad design and provide suggestions for improvements base on known patterns. While GoF design patterns are known as recurrent ¡¥good¡¦ (¡¥bad¡¦) design solution, their combination is not necessarily good (bad). Even worse, the quality of a design cannot be ensured simply by applying design patterns unless the combination of them actually resolves the forces of the design problem. Previously proposed algorithms for recognizing bad patterns in design failed to take this into account. Simply locating all pattern instances is not intelligent enough to conclude the existence of bad design substructure. Based on this argument, a pattern-based design improvement approach should be able to recognize composite design patterns.
As a basis for developing this type of approaches, we suggest a formal hierarchical model to capture the composite relationships among patterns. In addition, we define a concept called refinement pattern, which captures possible improvements to bad patterns. This hierarchical model can offer a number of advantages, including rejection of non-informative constituent pattern instances, compactness in the representation of design patterns, reducing complexity in pattern matching by reducing number of constraints to be matched and providing improvement suggestions to bad patterns.
RemarksNo new revision of paper is made.
Only to correct the email address of the contact person.

172 - TitleGenerating State Transition Machines as an Integration of Use Generating State Transition Machines as an Integration of Use Cases
AuthorsStéphane Somé, SITE, University of Ottawa, ssome@site.uottawa.ca
PC MemberNo
Contact personStéphane Somé, ssome@site.uottawa.ca, Phone: 613 562 5800 #6714
Main Fields1. Requirements Engineering
16. CASE Tools and Software Development Environments
Other Main FieldsUse Cases
UML
Abstract + KeywordsUse Cases that describe possible interactions involving a system and its environment are widely used to represent user's requirements as a basis for software development.
This paper presents an approach for automatic generation of finite state transition models from use cases. We propose a formalization of use cases, a natural language based syntax for use cases description, and an algorithm that incrementally composes a set of use cases as a finite state transition machine. We use a domain model as a knowledge base for natural language analysis of use cases, and as a basis for state model generation from use cases.
Remarks

173 - TitleSpecifying Roles in UML
AuthorsReza Jaberi, System Architect & IT Consultant, jaberi@b-et.com
Mohammadreza Razzazi, Member of Faculty in Amirkabir University of Technology, razzazi@ce.aut.ac.ir
PC MemberNo
Contact personReza Jaberi, r_jaberi@yahoo.com, Phone: +9891322648841
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
8. Object-Oriented Technologies
9. Component and Interoperability Technologies
Abstract + KeywordsThe role concept is used in object-oriented models to define a set of responsibilities within the context of a role model. Different classes can implement the same role in different forms. In fact, as a class specifies a group of objects, a role specifies a group of classes. This paper mentions the existing problems of the role concept in UML and to solve them, proposes the linguistic infrastructure that specifies a role as a general description for a family of classes. This paper uses three relations to define the binding between the specification level of a role model and its implementation level. These relations define the implementation of a role, satisfying the structural relationships between roles and conforming to the behavioral specifications of roles, respectively.

Keywords: Object-Orientation,Role Modeling, UML, Metamodel, Precise Semantics.
Remarks

174 - TitleProgramming Context-Aware Pervasive Computing Applications with TOTA
AuthorsMarco Mamei, Dipartimento di Scienze e Metodi dell'Ingegneria, Universita' di Modena e Reggio Emilia, mamei.marco@unimo.it
Franco Zambonelli, Dipartimento di Scienze e Metodi dell'Ingegneria, Universita' di Modena e Reggio Emilia, franco.zambonelli@unimo.it
Letizia Leonardi, Dipartimento di Ingegneria dell'Informazione, Universita' di Modena e Reggio Emilia, letizia.leonardi@unimo.it
PC MemberNo
Contact personMarco Mamei, mamei.marco@unimo.it, Phone: +39-0522-433366
Main Fields2. Design
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsPervasive computing calls for suitable programming models and associated supporting infrastructures to deal with large software systems dived in complex and dynamic network environments. Here we present TOTA, a new approach for the development of pervasive computing applications. TOTA proposes relying on tuple-based information to be spatially diffused in the network on the basis of some application-specific propagation rule, to be exploited by application agents to achieve context-awareness and to effectively coordinate with each other. As shown with the help of a case study scenario, TOTA, while promoting a simple programming model, is effective to facilitate access to distributed information, navigate in complex networks, and enforce complex coordination activities in an adaptive way.
Remarks

175 - TitleEliciting User Expectations for Data Behavior via Invariant Templates
AuthorsOrna Raz, School of Computer Science, Carnegie Mellon University, orna.raz@cs.cmu.edu
Rebecca Buchheit , Civil Engineering Department, Carnegie Mellon University, rebecca.buchheit@cmu.edu
Mary Shaw, School of Computer Science, Carnegie Mellon University, mary.shaw@cs.cmu.edu
Philip Koopman, ECE, Carnegie Mellon University, koopman@cmu.edu
Christos Faloutsos, School of Computer Science, Carnegie Mellon University, christos@cs.cmu.edu
PC MemberNo
Contact personOrna Raz, orna.raz@cs.cmu.edu, Phone: (+1)-412-268-1120
Main Fields1. Requirements Engineering
4. Testing, Analysis, and Verification
7. Software Understanding
12. AI-Based Approaches to S/W Engineering
Abstract + KeywordsPeople expect software that they use for everyday purposes to be
dependable enough for their needs. Usually, they can tolerate some
failures, provided they can notice and recover from problems. Many dependability enhancement techniques rely on failure detection.
Detection requires a model of proper behavior, preferably in the form of specifications. However, the specifications of everyday software are often incomplete and imprecise.

This research uses machine learning techniques to refine the model
and accommodates the necessary human participation. We propose a template mechanism to bridge between user expectations and techniques output. The result is an analyzable model of proper behavior that may serve as a proxy for missing specifications. We use the model to detect semantic anomalies---data behavior that is outside the user's expectations.

We test our template mechanism on truck weigh-in-motion (WIM) data. A domain expert interacts with this mechanism to set up the model of proper behavior. We then analyze the usefulness of this model for anomaly detection and show it is useful. We also compare the model to existing documentation and show how this gave the expert insights about the WIM system.
Remarks

176 - TitleUnderstanding and Predicting Effort in Software Projects
AuthorsAudris Mockus, Avaya Labs, audris@avaya.com
David Weiss, Avaya Labs, weiss@avaya.com
Ping Zhang, Avaya Labs, pingzhang@avaya.com
PC MemberNo
Contact personAudris Mockus, audris@avaya.com, Phone: +1 908 696 5608
Main Fields18. Software Project Management and Cost Estimation
19. Empirical Studies, Metrics
Abstract + KeywordsWe set out to answer a question we were asked by software project
management: how much effort remains to be spent on a specific
software project and how will that effort be distributed over
time? To answer this question we propose a model based on the
concept that each modification to software may cause repairs at
some later time and investigate its theoretical properties and
application to several projects in Avaya to predict and plan
development resource allocation.
Remarks

177 - TitleAdaptive Self-Organizing Map Clustering for Software Fault Prediction Enhancement
AuthorsAtchara Mahaweerawat, Advanced Virtual and Intelligent Computing Center (AVIC),Department of Mathematics, Faculty of Science,Chulalongkorn University, Bangkok 10330, Thailand , matchara@lycos.com
Peraphon Sophatsathit, Advanced Virtual and Intelligent Computing Center (AVIC),Department of Mathematics, Faculty of Science,Chulalongkorn University, Bangkok 10330, Thailand, peraphon.s@chula.ac.th
Chidchanok Lursinsap, Advanced Virtual and Intelligent Computing Center (AVIC),Department of Mathematics, Faculty of Science,Chulalongkorn University, Bangkok 10330, Thailand, lchidcha@pioneer.netserv.chula.ac.th
PC MemberNo
Contact personAtchara Mahaweerawat, matchara@lycos.com, Phone: 662-218-5469
Main Fields12. AI-Based Approaches to S/W Engineering
Abstract + KeywordsThis paper presents a new approach for predicting software faults by means of two-level clustering with unknown number of clusters. We employed Self-Organizing Map method and our proposed clustering approach in the first and second level, respectively, to classify historical and development data into clusters. Next we applied the Radial-Basis Function Network to predict software faults occurred in cluster components. In so doing, we were able to predict software faults reasonably accurate.
Keywords: Self-Organizing Map, Radial-Basis Function, software fault prediction.
Remarks

178 - TitleThe Ten Most Powerful Principles for Quality in Software Engineering
AuthorsTom Gilb, Result Planning Limited, tom@gilb.com
PC MemberNo
Contact personTom Gilb, tom@gilb.com, Phone: +47 66801697
Main Fields1. Requirements Engineering
7. Software Understanding
Other Main FieldsPrinciples of Software Engineering
Abstract + KeywordsSoftware knows it has a problem. Solutions abound. But which solutions work? What are the most fundamental underlying principles we can observe in successful projects? This paper presents10 powerful principles that are not widely taught or appreciated. They are based on ideas of measurement, quantification and feedback. Our maturity level with respect to 'numbers' is known to be poor. Hopefully, as we move to higher maturity levels we will also begin to appreciate the power of measurement and numeric expression of idea. What can we do right now? I suggest the first step is to recognize that all your quality requirements can and should be specified numerically. I am not talking about 'counting bugs'. I am talking about quantifying qualities such as security, portability, adaptability, maintainability, robustness, usability, reliability and performance. Decide to make them numeric on your project. Draft some numeric requirements today, surprise your team tomorrow!
Remarks

179 - TitleNew Directions on Agile Methods: A Comparative Analysis
AuthorsPekka Abrahamsson, Technical Research Centre of Finland, pekka.abrahamsson@vtt.fi
Juhani Warsta, University of Oulu, juhani.warsta@oulu.fi
Mikko Siponen, University of Oulu, mikko.t.siponen@oulu.fi
Jussi Ronkainen, Technical Research Centre of Finland, jussi.ronkainen@oulu.fi
PC MemberNo
Contact personPekka Abrahamsson, pekka.abrahamsson@vtt.fi, Phone: +358405415929
Main Fields17. Software Process, Workflow, CSCW
18. Software Project Management and Cost Estimation
Other Main FieldsSoftware development methods
Agile software development
Abstract + KeywordsAgile software development methods have caught the attention of software engineers and researchers worldwide like no other phenomenon in recent years. Scientific research is yet scarce. This paper reports results from a study, which aims to organize, analyze and make sense out of the dispersed field of agile software development methods. The comparative analysis is performed using the method's life-cycle coverage, project management support, type of practical guidance, fit-for-use and empirical evidence as the analytical lenses. The results show that agile software development methods, without rationalization, cover certain/different phases of the software development life-cycle and most of them do not have adequate support for project management. Yet, many methods still attempt to strive for universal solutions (as opposed to situation appropriate) and the empirical evidence is still very limited. Based on the results, new directions are suggested. In principal, it is suggested to place emphasis on methodological quality - not method quantity.
RemarksThere were 10 pages until a few minutes ago. MS Word reformatted the pages. If accepted, we'll make sure that the length is according to the requirements.

180 - TitleHow to Quantify All Quality Requirements: Principles and Pragmatics from Planguage
AuthorsTom Gilb, Result Planning Limited, tom@gilb.com
PC MemberNo
Contact personTom Gilb, tom@gilb.com, Phone: +47 66801697
Main Fields1. Requirements Engineering
Abstract + KeywordsQualitative requirements can and should always be specified as clearly as possible. Most people do not know how. Everybody can learn how. Organizations should insist on quantitative clarity for all critical qualitative aspects of their project, process or product. The main concept is to define an ‘operational scale of measure’ for all qualitative requirements.
Remarks

181 - TitleArchitectural Interaction Diagrams: AIDs for System Modeling
AuthorsArnab Ray, Department of Computer Science, State University of New York at StonyBrook, arnabray@cs.sunysb.edu
Rance Cleaveland, Department of Computer Science, State University of New York at StonyBrook, rance@cs.sunysb.edu
PC MemberNo
Contact personArnab Ray, arnabray@cs.sunysb.edu, Phone: 631-216-2500
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
9. Component and Interoperability Technologies
15. Formal Methods
Abstract + KeywordsThis paper develops a modeling paradigm called Architectural
Interaction Diagrams, or AIDs, for the high-level design of systems
containing concurrent, interacting components. The novelty of AIDs is that
they introduce interaction mechanisms, or buses, as first-class
entities into the modeling vocabulary. Users then have the capability of
using buses in their modeling whose behavior captures interaction at a higher
level of abstraction than that afforded by modeling notations such as Message
Sequence Charts or process algebra, which typically provide only one fixed
interaction mechanism. This paper defines AIDs formally by giving them an
operational semantics that describes how buses combine subsystem transitions
into system-level transitions. This semantics enables AIDs to be
simulated; to incorporate subsystems given in different modeling notations
into a single system model; and to use
testing, debugging and model checking early in the system design cycle in
order to catch design errors before they are implemented.
Remarks

182 - TitlePrecise Dynamic Slicing Algorithms
AuthorsXiangyu Zhang, Univ. of Arizona, xyzhang@cs.arizona.edu
Rajiv Gupta, Univ. of Arizona, gupta@cs.arizona.edu
Youtao Zhang, Univ. of Texas at Dallas, zhangyt@utdallas.edu
PC MemberNo
Contact personRajiv Gupta, gupta@cs.arizona.edu, Phone: 520-575-1843
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
Other Main FieldsProgram Slicing
Abstract + KeywordsDynamic slicing algorithms can greatly reduce the debugging effort by focusing the
attention of the user on a relevant subset of program statements. In this paper we
present the design and evaluation of three precise dynamic slicing algorithms
called the full preprocessing (FP), no preprocessing (NP) and limited preprocessing
(LP) algorithms. The algorithms differ in the relative timing of constructing the
dynamic data dependence graph and its traversal for computing requested dynamic slices.
Our experiments show that the LP algorithm is a fast and practical precise slicing
algorithm. In fact we show that while precise slices can be orders of magnitude
smaller than imprecise dynamic slices, for small number of slicing requests, the LP
algorithm is faster than an imprecise dynamic slicing algorithm proposed by Agrawal
and Horgan.

Keywords - precise vs imprecise dynamic slices, pointers, demand-driven
RemarksNone

183 - TitleSecure Linking: a Framework for Trusted Software Components
AuthorsEunyoung Lee, Department of Computer Science, Princeton University, elee@cs.princeton.edu
Andrew Appel, Department of Computer Science, Princeton University, appel@cs.princeton.edu
PC MemberNo
Contact personEunyoung Lee, elee@cs.princeton.edu, Phone: 1-609-258-1763
Main Fields9. Component and Interoperability Technologies
14. Safety and Security
15. Formal Methods
20. Configuration Management
Abstract + KeywordsIn linking together a software system from components in the presence of multiple versions, digital signatures, static type information, software fetched over networks, multiple vendors, local libraries, and so on, the policies guiding linking may be quite complex. We show how to describe such policies in a ``linking logic'' that is modular and provably sound. We show a prototype implementation, and we show that this logic is expressive enough to describe a real-world system: the Microsoft .NET ``assembly'' versioning system. The framework is general and expressive enough to represent other existing linking systems and to help different linking systems (and public key infrastructures) interoperate.




Remarks

184 - TitleTowards the Engineering of Requirements
AuthorsTom Gilb, Result Planning Limited, tom@gilb.com
PC MemberNo
Contact personTom Gilb, tom@gilb.com, Phone: +47 66801697
Main Fields1. Requirements Engineering
Abstract + KeywordsAbstract. Software engineers must articulate requirements in a clear testable manner. This paper outlines a framework for specifying requirements and discusses some key concepts for requirement specification.
Remarks

185 - TitleA Faster Recognition of Similar Acoustic Sounds Using Wavelets
AuthorsJalal Karam, American University of Beirut, jk16@aub.edu.lb
PC MemberNo
Contact personJalal Karam, jk16@aub.edu.lb, Phone: 961-135000. Ext 4234
Main Fields22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsThis paper presents a detailed treatement of the training and testing phases of a Radial Basis Functions Neural Network (RBFNN) used for the recognition of the similar acoustic sounds of the letters $ a, j, k $ of the English alphabets. It is shown that the framing and windowing techniques used in the traditional Fourier approach for speech coding is absolete in comparison with the wavelet analysis approach. The subwords of the speech signals were generated by identifying spectral changes of the waveforms. The modeling of each subword was accomplished using a Wavelet Packet Scale (WPS) which has a higher resolution of low frequency components and lower resolution of high frequency components than that of the Mel scale. The analyzing wavelet function used is the wavelet $db6$ which belongs to the Daubechies family of orthogonal wavelets.
Remarks

186 - TitleTowards Scalable Compositional Analysis by Refactoring Design Models
AuthorsYung-Pin Cheng, Dept. of Info. and Comp. Education, National Taiwan Normal Univ., Taipei 106, Taiwan, ypc@ice.ntnu.edu.tw
Michal Young, Department of Computer and Information Science, University of Oregon. Eugene, OR 97403-1202 , michal@cs.uoregon.edu
PC MemberYes
Contact personYung-Pin Cheng, ypc@ice.ntnu.edu.tw, Phone: 886-2-23622841 ext 33
Main Fields4. Testing, Analysis, and Verification
Abstract + KeywordsAutomated finite-state verification techniques have matured
considerably in the past several years, but state-space explosion
remains an obstacle to their use. Theoretical lower bounds on
complexity imply that all of the techniques that have been developed
to avoid or mitigate state-space explosion depend on models that are
``well-formed'' in some way, and will usually fail for other models.
This further implies that, when analysis is applied to models derived
from designs or implementations of actual software systems, a model of
the system ``as built'' is unlikely to be suitable for automated
analysis. In particular, compositional, hierarchical analysis (where
state-space explosion is avoided by simplifying models of subsystems
at several levels of abstraction) depend on the modular structure of
the model to be analyzed. We describe how as-built finite-state
models can be \emph{refactored} for compositional state-space
analysis, applying a series of transformations to produce an
equivalent model whose structure exhibits suitable modularity. The
process is semi-automated (the designer must choose from among a set
of idiomatic transformations, but each transformation is applied and
checked automatically).
Remarks

187 - TitlePriority Management:
AuthorsTom Gilb, Result Planning Limited, tom@gilb.com
PC MemberNo
Contact personTom Gilb, tom@gilb.com, Phone: +47 66801697
Main Fields1. Requirements Engineering
2. Design
17. Software Process, Workflow, CSCW
Abstract + KeywordsAbstract. This paper discusses the means of determining the priority order for implementing system changes. It is concerned with the priority ranking of requirements.
Most papers and books describing trade-off analysis and multi-dimensional priority evaluation methods refer to the use of allocating subjective, fixed numeric weightings to multiple system requirements (Daniels 2001, Keeney 1992, Saaty 1990, Gilb1976). I would like to argue that it is time we threw off the shackles of subjective weightings and gave practising system engineers something more useful and realistic as a tool for determining implementation priority.
Priority determination should be:
• an information-based process, which makes full use of the available factual information and, is able to reuse this information.
• a dynamic process, which uses feedback from the on-going implementation and, is open to instigating and catering for changes in requirements and design ideas.
• a resource-focussed process, which considers Return on Investment (ROI) and takes into account resource availability.
I would like in this paper to demonstrate how Planguage, a specification language and set of methods, which I have developed over many years, has the capability to address all these above aspects.
Remarks

188 - TitleMeta-Representation of Patterns for Platform-Independent Multi-Agent Systems
AuthorsMassimo Cossentino, ICAR/CNR – Istituto di Calcolo e Reti ad Alte Prestazioni / Consiglio Nazionale delle Ricerche, cossentino@cere.pa.cnr.it
Luca Sabatucci, ICAR/CNR – Istituto di Calcolo e Reti ad Alte Prestazioni / Consiglio Nazionale delle Ricerche, luca.sabatucci@infinito.it
Saverio Lombardo, DINFO - Dipartimento di Ingegneria Informatica, Università degli Studi di Palermo, savelomb@libero.it
Piermarco Burrafato, DINFO - Dipartimento di Ingegneria Informatica, Università degli Studi di Palermo, pmb@csai.unipa.it
PC MemberNo
Contact personMassimo Cossentino, cossentino@cere.pa.cnr.it, Phone: +39.091.238261
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
6. Reuse
16. CASE Tools and Software Development Environments
Abstract + KeywordsFrom the increasing diffusion of multi-agent systems derives the need of a quality software engineering approach to their design and realization. New methodological approaches are necessary to address important issues such as ontology representation, security concerns and production costs.
The introduction of an extensive pattern reuse practice can be determinant in cutting down the time and cost of developing these systems.
Patterns can be extremely successful with multi-agent systems (even more than with object-oriented ones) because the great encapsulation of agents allows an easier identification and disposition of reusable parts.
In this paper we refer to the most diffused standard of agents (FIPA-Foundation for Intelligent Physical Agents) and we introduce a multi-level representation of patterns, that allows the progressive construction of their code, for different platforms, starting from their UML design representation
Remarks

189 - TitleRecovering Documentation to Source Code Traceability Links using Latent Semantic Indexing
AuthorsAndrian Marcus, Kent State University, amarcus@cs.kent.edu
Jonathan Maletic, Kent State University, jmaletic@cs.kent.edu
PC MemberNo
Contact personJonathan Maletic, jmaletic@cs.kent.edu, Phone: 330-672-9039
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
Abstract + KeywordsAbstract
An information retrieval technique, latent semantic indexing, is used to automatically identify traceability links from system documentation to program source code. The results of an experiment to identify links in an existing software system, the LEDA library, are presented. These results are compared with other similar type experimental results of traceability link identification using different types of information retrieval techniques. The method presented proves to give good results by comparison and additionally it is a low cost, highly flexible method to apply with regards to preprocessing and/or parsing of the source code and documentation.

Keywords
Traceability, reverse engineering
Remarks

190 - TitleConfiguring Requirements Traceability in UML-based Projects
AuthorsPatricio Letelier, Departamento de Sistemas Informáticos y Computación - Universidad Politécnica de Valencia, letelier@dsic.upv.es
Víctor Anaya, Departamento de Sistemas Informáticos y Computación - Universidad Politécnica de Valencia, vanaya@dsic.upv.es
PC MemberNo
Contact personPatricio Letelier, letelier@dsic.upv.es, Phone: +34 96 387 9351
Main Fields1. Requirements Engineering
17. Software Process, Workflow, CSCW
18. Software Project Management and Cost Estimation
Abstract + KeywordsRequirements traceability allows development team to guarantee the continuous concordance between the stakeholders requirements and the artifacts produced along the software development process. Although the important role of requirements traceability is widely recognized, the application level and consensus about associated practices are quite variable from one software development team to another. When determining the traceability practices that will be applied during the project, one of the main difficulties is to adapt them to the specific project needs. To do this, there is not much support from software development processes or from requirements engineering tools. In this work we present guidelines to configure traceability aspects in a software development project. Our approach is based on the definition of a reference metamodel for requirements traceability. This metamodel constitutes an essential traceability framework that integrates different kinds of traceability information. Our metamodel is mapped to a UML profile that allows us to have a homogeneous representation for all the software development artifacts and traceability links among them. Thus, taking advantage of the UML extension mechanissm, the traceability configuration is easily established by means of adapting the UML profile. We have included an example illustrating how to use our framework in a small project, taking Rational Unified Process (RUP) as a software development process.
Remarks

191 - TitleAffordance-Based Object Modelling for Information Systems
AuthorsZhiwu Xie, The University of Reading, z.xie@reading.ac.uk
Kecheng Liu, The University of Reading, k.liu@reading.ac.uk
PC MemberNo
Contact personZhiwu Xie, z.xie@reading.ac.uk, Phone: +44 118 9316024
Main Fields8. Object-Oriented Technologies
Abstract + KeywordsAffordance is an important concept to understand human perceptions. The concept has been further developed in the context of organisational semiotics. This paper incorporates the affordance theory into the framework of object oriented modelling. The resulting framework is helpful to capture human perceptions, hence produce a more rigorously defined object model. An example is also given to illustrate the modelling approach in the context of online shopping.
Remarks

192 - TitleMeeting the Software Engineering Challenges of Adaptive Mobile Applications
AuthorsRajesh Balan, School of Computer Science, Carnegie Mellon University, rajesh@cs.cmu.edu
Joao Sousa, School of Computer Science, Carnegie Mellon University, jpsousa@cs.cmu.edu
Mahadev Satyanarayanan, School of Computer Science, Carnegie Mellon University and Intel Research Pittsburgh, satya@cs.cmu.edu
PC MemberNo
Contact personJoao Sousa, jpsousa@cs.cmu.edu, Phone: 412-268-3060
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsA critical factor for the commercial success of mobile and task-specific devices is the fast turnaround time of software development. However, developing software for mobile devices is especially hard since applications need to be aware of and adapt
to changing resources such as bandwidth and battery.

In this paper we validate that the idea of stub generation can successfully address the complexity introduced by resource adaptation. Our approach is based on factoring generic resource-adaptation mechanisms out of the applications and into operating system extensions. Rather than having to deal with system-specific details, an application writer provides a
high-level description of the adaptation needs for each
application. The generation of code stubs bridges such
high-level descriptions to the adaptation mechanisms specific
to each platform.

We validated this approach against three representative
applications: a video streaming application, a natural language translator and an augmented reality application. In all three
cases, the effort for the application writer was reduced by
orders of magnitude. The cost of writing the operating system extensions and the stub generator is amortized over the
many applications that can share the generic resource-adaptation mechanisms.
Remarks

193 - TitleA Quantitative Approach for Setting Technical Targets based on Impact Analysis in Software Quality Function Deployment (SQFD)
AuthorsFrank Liu, University of Missouri-Rolla, fliu@umr.edu
Kunio Noguchi, Toshiba Co., guest1@toshiba.com
Anuj Dhungana, Texas Tech University, guest2@ttu.edu
V.V.N.S.N. Srirangam, Texas Tech University, guest3@ttu.edu
Praveen Inuganti, University of Missouri-Rolla, pif29@umr.edu
PC MemberNo
Contact personFrank Liu, fliu@umr.edu, Phone: 573-341-4848
Main Fields13. Reliability, Quality Assurance
Other Main FieldsSoftware Quality Planning
Software Quality Management
Abstract + Keywords Target setting in software quality function deployment is very important since it is directly related to development of high quality products with high customer satisfaction. However target setting is usually done subjectively in practice. In this paper, we explore three quantitative approaches to set target values: benchmarking, primitive linear regression and linear regression based on impact analysis.
The first and second approaches have been developed and applied in industry [1]. But these approaches cannot be used to assess the impact of unachieved targets on satisfaction of customers for customer requirements.
The aim of this paper is to present a systematic approach in SQFD to overcome some of their drawbacks, such as subjective decisions made by the SQFD team, and enable analysis of impact of unachieved target values on customer satisfaction. It is based on assessment of impact of technical attributes on satisfaction of customer requirement using linear regression technique.
Remarks

194 - TitleManaging your project risks in requirements, design and development: using the planning language
AuthorsTom Gilb, Result Planning Limited, tom@gilb.com
PC MemberNo
Contact personTom Gilb, tom@gilb.com, Phone: +47 6801697
Main Fields1. Requirements Engineering
2. Design
13. Reliability, Quality Assurance
17. Software Process, Workflow, CSCW
18. Software Project Management and Cost Estimation
Other Main FieldsRisk Management
Abstract + Keywords Risk management must be fully integrated into all the development and maintenance processes for systems. It involves more than applying risk assessment methods to identify and evaluate system risks.
To explain this broad approach to risk management, this paper discusses the way in which The Planning Language known as ‘Planguage’, and also known as ‘Competitive Engineering (CE)’ methods, contribute to handling risks.
Remarks

195 - TitleA Role-Based Conflict Resolution Method for a Collaborative System
AuthorsHaibin Zhu, Dept. of Computer Science and Mathematics, Nipissing University, 100 College Dr., North Bay, Ontario, P1B 8L7, Canada, haibinz@nipissingu.ca
PC MemberNo
Contact personHaibin Zhu, haibinz@nipissingu.ca, Phone: 705-474-3450ext4434
Main Fields17. Software Process, Workflow, CSCW
Abstract + KeywordsAbstract:
Computer-mediated collaboration is an increasingly prevalent means of connecting individuals and teams. Increasing research is being undertaken to improve virtual environments in order to enhance the ability of collaborators to interact effectively and cooperatively. However, computer-mediated collaboration differs radically from face-to-face human interaction with resultant problems for those relying on technology for collaborative purposes. Even though scientists are working hard to simplify collaboration by producing systems that provide virtual environments and collaborators work hard to be cooperative, there are still unknown problems for collaborators to find and overcome when using a collaborative system. In building a collaborative system, conflict resolution is one of the most important problems to overcome.
Through this paper, we briefly introduce an object model for collaborative systems (OMCS) and a multimedia co-authoring system (MCAS). In this paper, we discuss role management and conflict resolution in MCAS systems. We emphasize the usability of roles in conflict resolution. In the last section, we summarize what we have discussed and conclude that a role-based method can be very helpful in resolving conflicts in collaborative systems.
Key words: Role, Role-based, Conflict, Management, Resolution
Remarks

196 - TitleImproving Test Suites via Behavioral Abstractions
AuthorsMichael Harder, MIT Lab for Computer Science, mharder@lcs.mit.edu
Michael Ernst, MIT Lab for Computer Science, mernst@lcs.mit.edu
PC MemberNo
Contact personMichael Ernst, mernst@lcs.mit.edu, Phone: +1 617 253 0945
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
13. Reliability, Quality Assurance
Abstract + KeywordsThis paper presents the behavioral difference technique, a dynamic
specification-based technique for generating, augmenting, and minimizing
test suites. The technique is analogous to structural code coverage
techniques, but it operates in the semantic domain of program properties
rather than the syntactic domain of program text.

The behavioral difference technique automatically selects test cases; it
assumes the existence of a source of test cases. The technique dynamically
generates behavioral abstractions (which describe observed behavior and are
syntactically identical to formal specifications) from test suite
executions. Test suites can be generated by adding cases until the
behavioral abstraction stops changing. On average, the resulting test
suites are smaller than, and have better fault detection than, suites with
100% branch coverage. Augmenting an existing test suite, such as a
code-covering suite, also increases its fault detection at modest cost.
Minimizing test suites while holding the behavioral abstraction constant
compares favorably to other minimization techniques.

Two observations explain these positive results. First, improving a
behavioral abstraction improves fault detection, even when test suite size,
runtime, and structural code coverage are held constant. Second, when
tests are added at random to a suite, the behavioral abstraction initially
improves rapidly, then levels off near the ideal behavioral abstraction
that would be induced by all possible tests. Even without knowing that
ideal, it is possible to generate a behavioral abstraction very near it and
which has high fault detection.

The behavioral difference technique increases the behavioral coverage of
the test suite, but without knowing an oracle specification and without
examining the source code. In addition to improving fault detection, the
technique generates a good behavioral abstraction, which has many benefits
in itself; but a software engineer interested only in test suite generation
never need examine the behavioral abstraction. In order for the technique
to be effective, the behavioral abstraction need have no particular
relationship to a ``true'' specification of the program as might be written
by a programmer or tester, nor does the program need to be correct: good
(fault-revealing) test suites can be generated even from buggy programs.
Remarks

197 - TitleInspecting Product Line Variability Models
AuthorsJoerg Doerr, Fraunhofer Institute for Experimental Software Engineering, Kaiserslautern, Germany, joerg.doerr@iese.fraunhofer.de
Klaus Schmid, Fraunhofer Institute for Experimental Software Engineering, Kaiserslautern, Germany, klaus.schmid@iese.fraunhofer.de
David M. Weiss, Avaya Labs, Software Technology Research, Basking Ridge, NJ, USA, weiss@avaya.com
Birgit Geppert, Avaya Labs, Software Technology Research, Basking Ridge, NJ, USA, bgeppert@avaya.com
PC MemberNo
Contact personJoerg Doerr, joerg.doerr@imail.de, Phone: +49 6301-707223
Main Fields4. Testing, Analysis, and Verification
Abstract + KeywordsProduct line development has been shown to enable large-scale software reuse, allowing huge benefits in terms of improved quality, reduced effort, and time-to-market. The successful analysis and description of the variabilities relevant to the product line are the key to the success of product line development, either on the basis of a generative or a compositional approach.
As existing approaches to document review do not address the notion of variability, we focus in this paper on review guidelines for product line variability models. Our work is based on both theoretical work as well as industrial case studies. In order to ensure that our guidelines are not restricted to one single product line modeling approach, we validated the derived guidelines with an experiment. In this experiment we applied the guidelines on the two rather different approaches FAST (Commonality Analysis) and PuLSE (trademark of Fraunhofer IESE) in order to ensure broad applicability of our guidelines.

Keywords: inspections, product lines, domain modeling, variability model, reuse, FAST, PuLSE
Remarks

198 - TitleA Method for Program Understanding by Mining Association Rules from Code
AuthorsLoukas Sinos, Department of Computation, UMIST, mcaijls2@ist4.co.umist.ac.uk
Christos Tjortjis, Department of Computation, UMIST, christos@co.umist.ac.uk
Paul Layzell , Department of Computation, UMIST, pjl@co.umist.ac.u
PC MemberNo
Contact personChristos Tjortjis, christos@co.umist.ac.uk, Phone: +44 161 2003304
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
12. AI-Based Approaches to S/W Engineering
Abstract + KeywordsAbstract
Program comprehension is an important part of software maintenance, especially when program structure is complex and documentation is unavailable or outdated. Data mining can produce structural views of source code thus facilitating legacy systems understanding.
This paper presents a method for mining association rules from source code aiming at capturing program structure and achieving better system understanding. A prototype tool was designed and implemented to assess this method. The tool inputs data extracted from source code and derives association rules. Rules are then processed to abstract programs into groups containing interrelated entities. Entities are grouped together if their attributes participate in common rules. This abstraction is performed at function level, in contrast to existing approaches, that work at program level.
The method was evaluated using real, working programs. Programs are fed into a code analyser which produces the input needed for the mining tool. Results show that the method accommodates program comprehension where domain knowledge and reliable documentation are not available, by only using source code.

Keywords:
Program Comprehension, Software Maintenance, Data Mining, Association rules
Remarks

199 - TitleTwoards Understanding Software Evolution: One-Line Changes
AuthorsRanjith Purushothaman, Dell Computer Corporation, ranjith_purush@dell.com
Dewayne Perry, ECE, The University of Texas at Austin, perry@ece.utexas.edu
PC MemberNo
Contact personDewayne Perry, perry@ece.utexas.edu, Phone: 1.512.471.2050
Main Fields19. Empirical Studies, Metrics
Abstract + KeywordsUnderstanding the impact of software change has been a challenge since software
systems were first developed. With the increasing size and complexity of systems,
this problem has become more difficult. There are many ways to identify change
impact from the plethora of software artifacts produced during development and
maintenance. We present the analysis of the software development process using
change and defect history data. Specifically, we address the problem of one-line
changes. The studies revealed that (1) there is less than 4 percent probability that
a one-line change will introduce an error in the code; (2) nearly 10 percent of all
changes made during the maintenance of the software under consideration were
one-line change; (3) although the effort for changing one-line of code is lesser
compared to larger changes, the vast number of changes amount to a significant
amount of effort.
RemarksI (the second author) am not a PC member, but I am a member of the
Executive Committee (Panels Chair, and MIP Chair)

200 - TitleElemental Design Patterns: A Logical Inference System and Theorem Prover Support for Flexible Discovery of Design Patterns
AuthorsJason Smith, Univ of North Carolina at Chapel Hill, smithja@cs.unc.edu
David Stotts, Univ of North Carolina at Chapel Hill, stotts@cs.unc.edu
PC MemberNo
Contact personJason Smith, smithja@cs.unc.edu, Phone: (919) 962-1821
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
8. Object-Oriented Technologies
15. Formal Methods
Abstract + KeywordsPrevious approaches to discovering design patterns in source code have suffered from a need to enumerate static descriptions of structural and behavioural relationships, resulting in a finite library of variations on pattern implementation. Our approach differs in that we do not seek to statically encode each pattern, and each variant, that we wish to find. Rather, we encode in a formal denotational semantics a small number of fundamental OO concepts (elemental design patterns), encode the rules by which these concepts are combined to form patterns(reliance operators), and encode the structural/behavioral relationships among components of objects and classes (rho-calculus). A logical inference system then is used to reveal large numbers of patterns and their variations from this small number of definitions. Our system finds patterns that were not explicitly defined, but instead are inferred dynamically during code analysis by a theorem prover, providing practical tool support for software construction, comprehension, maintenance, and refactoring.
Remarks

201 - TitleVerified Systems by Composition from Verified Components
AuthorsFei Xie, Department of Computer Sciences, The University of Texas at Austin, Austin, TX 78712, USA, feixie@cs.utexas.edu
James Browne, Department of Computer Sciences, The University of Texas at Austin, Austin, TX 78712, USA, browne@cs.utexas.edu
PC MemberNo
Contact personFei Xie, feixie@cs.utexas.edu, Phone: +1 (512) 471-9734
Main Fields4. Testing, Analysis, and Verification
6. Reuse
9. Component and Interoperability Technologies
13. Reliability, Quality Assurance
15. Formal Methods
Abstract + KeywordsThis paper presents an approach to integrating model checking into
component-based development of software systems. This integration
enables development of highly reliable component-based software
systems and reduces the complexity of verifying these systems by
utilizing their compositional structures. In this approach,
temporal properties of a software component are specified, verified,
and packaged with the component. Selection of a component for reuse
considers not only its functionality, but also its temporal
properties. When a component is composed from simpler components,
temporal properties of the composed component are verified on an
abstraction of the component. The abstraction is constructed from
environment assumptions of the component and verified properties of
its sub-components. This approach has been applied to improve
reliability of run-time images of TinyOS, a component-based run-time
environment for networked sensors. Results from an initial case study
demonstrate the applicability of the integration, the improvement of
reliability, and a significant reduction in model checking complexity.
RemarksPlease let us know if you have any problem with the submission.

202 - TitleEnd-User Software Engineering with Assertions
AuthorsMargaret Burnett, Oregon State University, burnett@cs.orst.edu
Curtis Cook, Oregon State University, cook@cs.orst.edu
Omkar Pendse, Oregon State University, pendse@cs.orst.edu
Gregg Rothermel, Oregon State University, grother@cs.orst.edu
Jay Summet, Oregon State University, summet@cs.orst.edu
PC MemberNo
Contact personMargaret Burnett, burnett@cs.orst.edu, Phone: (541) 737-2539
Main Fields4. Testing, Analysis, and Verification
16. CASE Tools and Software Development Environments
19. Empirical Studies, Metrics
Other Main Fieldsend-user software engineering
Abstract + KeywordsThere has been little research on end-user program development beyond
the activity of programming. Devising ways to address additional
activities related to end-user program development may be critical,
however, because research shows that a large proportion of the
programs written by end users contain faults. Toward this end, we have
been working on ways to provide formal software engineering
methodologies to end-user programmers. This paper describes an
approach we have developed for supporting assertions in end-user
software, focusing on the spreadsheet paradigm. We also report the
results of a controlled experiment, with 59 end-user subjects, to
investigate the usefulness of this approach. Our results show that the
end users were able to use the assertions to reason about their
spreadsheets, and that doing so was tied to both greater correctness
and greater efficiency.
Remarks

203 - TitleRepresentation and Analysis of Framework Instantiation
AuthorsToacy Olivera, Computer Science Department University of Waterloo, toacy@acm.org
Paulo Alencar, Computer Science Department University of Waterloo, palencar@csg.uwaterloo.ca
Donald Cowan, Computer Science Department University of Waterloo, dcowan@csg.uwaterloo.ca
PC MemberNo
Contact personToacy Olivera, toacy@acm.org, Phone: 1-519-888-4567 x5611
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
6. Reuse
16. CASE Tools and Software Development Environments
Abstract + KeywordsObject-oriented frameworks are currently regarded as a promising technology for reusing designs and implementations. However, developers find there is still a steep learning curve when extracting the framework design rationale and understanding the documentation during framework instantiation. Thus, instantiation is a costly process in terms of time, people and other resources. Problems like: obtaining design rationale through “Code Mining”; understanding the instantiation process commonly described in natural language; and violating “good” design principles and/or domain constraints, frequently emerge throughout the framework’s reuse process. In this paper we present a process-based approach to framework instantiation that addresses these issues. Our main goal is to represent the framework architectural design models in an explicit and declarative way, and support changes to this architecture based on explicit instantiation processes and activities while maintaining system integrity, invariants, and general constraints.
Remarks

204 - TitleFormalizing Rework in Software Processes
AuthorsAaron Cass, University of Massachusetts, acass@cs.umass.edu
Leon Osterweil, University of Massachusetts, ljo@cs.umass.edu
PC MemberYes
Contact personAaron Cass, acass@cs.umass.edu, Phone: +1 413 545 2013
Main Fields17. Software Process, Workflow, CSCW
Abstract + KeywordsOur long-term research in process programming has attempted to better
understand software development processes by formalizing them and by so
doing to better understand the requirements of process languages. In this
paper, we present new results in the understanding of the common notion of
rework in software processes. We present these results along with new
requirements on process languages intended to support execution, analysis,
and understanding of processes involving rework.

This work makes two contributions. We demonstrate that rework can be
formalized as re-invocation of previously executed steps in a rework context
and that process languages therefore need invocation semantics to support
realistic process definitions with rework. We give details of what
constitutes a rework context and therefore what can be parameterized in a
re-invocation.

While the results are applicable to general process programming efforts, we
argue our case with a software design activity modeled using Little-JIL,
our hierarchical process programming language.
Remarks

205 - TitleUsing the Process Innovation Imperative to Increase Capability
AuthorsJay van Zyl, Rubico Products (Pty) Ltd & SystemicLogic, jay@rubico.com
Alaister Walker, SPI Laboratory, a.walker@spilint.com
PC MemberNo
Contact personJay van Zyl, jay@rubico.com, Phone: +27 11 808 1000
Main Fields17. Software Process, Workflow, CSCW
19. Empirical Studies, Metrics
Abstract + KeywordsSoftware standards and capability measurement frameworks present many concepts and theories. The challenge is to absorb, understand and apply these concepts and reap the benefits on an ongoing basis. Management is in a continuous cycle of finding better ways to deal with the changes required to a business over time. It is not always understood why capability levels decrease from time to time. Reasons for process improvement might include that costs need to be reduced, innovation ability needs to increase in order to be more competitive or efficiencies need to increase when software is delivered into the client environment. Process innovation concepts are required to drive the adoption of new processes in order to have product innovation and sustained innovation capabilities. The contribution of the presented concepts is most relevant to management bodies that are responsible for the implementation of process improvement and process implementation initiatives. It is shown that there are continuous fluctuations in capability levels as organizations evolve.
This paper presents the results of many cycles of process improvement cycles undertaken and demonstrates that it is very difficult to adopt a process in its native form without a clear understanding of the intentions of the outcome. Firstly, a brief discussion shows that the people factor has probably the most major impact on capability. Secondly, the nature of the analysis that was performed is discussed. It is then shown how SPICE is used with the Process Innovation Imperative to solve some of the problems around the fluctuating capability levels. Lastly, the research results are discussed through assertions made based on the observations and analysis.
RemarksPlease excuse the "?"'s used as bullets. Styles will be updated for final submission.

206 - TitleIntegrating Process, Product, and People Models to Improve Software Engineering Capability
AuthorsScott Hawker, University of Alabama, hawker@cs.ua.edu
PC MemberNo
Contact personScott Hawker, hawker@cs.ua.edu, Phone: +1 205 348 1667
Main Fields6. Reuse
16. CASE Tools and Software Development Environments
17. Software Process, Workflow, CSCW
Abstract + KeywordsWe present a software engineering model that integrates three important elements: software product components, software process components, and people. We focus on ways these three elements should be integrated to provide a foundation for process execution and product engineering tools that improve software engineering capability.

Software Process, Process Engineering
Remarks

207 - TitleProgDoc - a new Program Documentation System
AuthorsVolker Simonis, Scientific Assistent, simonis@informatik.uni-tuebingen.de
PC MemberNo
Contact personVolker Simonis, simonis@informatik.uni-tuebingen.de, Phone: +49 7071 2974009
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
6. Reuse
7. Software Understanding
16. CASE Tools and Software Development Environments
Abstract + KeywordsThough programming languages and programming styles evolve with remarkable speed today, there is no such evolution in the field of program documentation. And although there exist some popular approaches like Knuth's literate programming system WEB, and nowadays JavaDoc or Doxygen, tools for managing software development and documentation are not as widespread as desirable.

This paper analyses a wide range of literate programming tools available during the past two decades and introduces ProgDoc, a new software documentation system. It is simple, language independent, and it keeps documentation and the documented software consistent. It uses LaTeX for typesetting purposes, supports syntax highlighting for various languages, and produces output in Postscript, PDF or HTML format.
RemarksI hope the format is OK. I used the suggested style file "latex8.sty" and everything looks right to me. If there are any problems, please contact me at any time.

Thanks,

Volker Simonis


208 - TitleCase-Based Composition: An Approach to the Reuse of UML Class Diagrams
AuthorsPaulo Gomes, CISUC - Centro de Informática e Sistemas da Universidade de Coimbra, pgomes@dei.uc.pt
Francisco Pereira, CISUC - Centro de Informática e Sistemas da Universidade de Coimbra, camara@dei.uc.pt
Paulo Carreiro, CISUC - Centro de Informática e Sistemas da Universidade de Coimbra, carreiro@student.dei.uc.pt
Paulo Paiva, CISUC - Centro de Informática e Sistemas da Universidade de Coimbra, paiva@student.dei.uc.pt
Nuno Seco, CISUC - Centro de Informática e Sistemas da Universidade de Coimbra, nseco@student.dei.uc.pt
Carlos Bento, CISUC - Centro de Informática e Sistemas da Universidade de Coimbra, bento@dei.uc.pt
PC MemberNo
Contact personPaulo Gomes, pgomes@dei.uc.pt, Phone: +351 91 7372861
Main Fields2. Design
6. Reuse
12. AI-Based Approaches to S/W Engineering
16. CASE Tools and Software Development Environments
Abstract + KeywordsWith the increase of software complexity, development companies face a growing demand for information systems with better quality and with a wider spectrum of functionalities. Software reuse can be a solution, providing companies with a methodology that can increase team performance and software quality. Though code reuse is the most used form of reuse, it is not the more efficient one. Software design reuse can be more profitable, but there is the need for CASE tools capable of supporting such type of reuse. In this paper we present an approach to software design reuse based on Case-Based Reasoning and Design Composition. We show how this approach is integrated in an intelligent CASE tool being developed at the AI Lab of Coimbra. This approach generates new UML designs based on successful previous ones, which are stored in a central repository.
Remarks

209 - TitleQualities of Relevant Software Documentation: An Industrial Study
AuthorsAndrew Forward, University of Ottawa, aforward@site.uottawa.ca
Timothy Lethbridge, University of Ottawa, tcl@site.uottawa.ca
PC MemberNo
Contact personAndrew Forward, aforward@site.uottawa.ca, Phone: (613)255 - 3492
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
19. Empirical Studies, Metrics
Other Main FieldsSoftware Documentation
Documentation Relevance
Abstract + KeywordsThis paper highlights the results of a survey of software professional conducted in March and April, 2002. The results are compiled from 48 software professionals ranging from junior developers to managers and project leaders. One of the goals of this survey was to uncover the perceived relevance (or lack thereof) of software documentation, and the tools and technologies used to maintain, verify and validate such documents. Another goal was to uncover how software documentation is used in industry and the extent to which, and under what circumstances, documentation can be effective. The data suggest somewhat conflicting views of the importance of documentation maintenance. In particular, participants responded that not-so-up-to-date documents could still be an effective resource. Conversely, the extent to which a document is up-to-date was selected as one of the most important factors in determining its effectiveness. The results suggest that the software industry and academia may overemphasize the importance of document maintenance relative to a software professional’s tolerance of out-dated content.
RemarksThe paper presents findings based on a survey of software professionals. The survey is about the role of documentation in current software project environments.

210 - TitleArchitectural Support for Building Automated Capture & Access Applications
AuthorsKhai Truong, Georgia Institute of Technology, khai@cc.gatech.edu
Gregory Abowd, Georgia Institute of Technology, abowd@cc.gatech.edu
PC MemberNo
Contact personKhai Truong, khai@cc.gatech.edu, Phone: 404.545.1036
Main Fields3. Software Architectures, Patterns, and Frameworks
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsUbiquitous computing
Automated capture and access applications
Abstract + KeywordsApplications that automatically capture some details of a live experience and provide future access to that experience are increasingly common in the ubiquitous computing community. The exploration of this class of applications raises software engineering problems pertaining to proper software structuring and programming abstractions to support the design, development and evolution of these systems. In this paper, we present our experience in building a number of capture and access applications, sharing insights on relative successes and failures. These lessons learned are now embodied in a toolkit called Infrastructure for Capture and Access (INCA) which supports a distillation of the essential architectural features for this class of applications. We will demonstrate how this toolkit encourages a simplified model for designing, implementing, and evolving such applications ?lowering the barrier for building automated capture and access applications and inspiring the construction of a larger variety of applications previously unexplored.
Remarks

211 - TitleAnalyzing Feature Interactions and Their Resolutions
AuthorsP Ann Meade, University of Waterloo, pameade@math.uwaterloo.ca
Joanne M. Atlee, University of Waterloo, jmatlee@se.uwaterloo.ca
PC MemberNo
Contact personP Ann Meade, pameade@math.uwaterloo.ca, Phone: 519-888-4567 X3062
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsFeature Interactions
Abstract + KeywordsTraditional feature development in feature-rich applications is time-consuming and costly because designers have to analyze how each new feature might interact with existing features. We are investigating models and techniques to ease feature development by allowing designers to treat features as independent increments to the application's core functionality. In particular, we are interested in run-time approaches that detect and resolve interactions on-the-fly. In this paper, we present a reachability analyzer called CIRA that we have developed for evaluating run-time resolution strategies. CIRA composes feature specifications, resolving interactions as they are detected, and reports interactions and their resolutions. We give a general description of CIRA and report on our experience in using CIRA to evaluate how well our first strategy, feature priority, resolves interactions from the Bellcore feature interaction benchmark.

Keywords: Feature Interactions, Conflict Resolution, Reachability Analysis,
Remarks

212 - TitleAn XVCL Approach to Handling Variants in Software: A KWIC Product Line Example
AuthorsHongyu Zhang, Department of Computer Science, School of Computing, National University of Singapore, zhanghy@comp.nus.edu.sg
Stan Jarzabek, Department of Computer Science, School of Computing, National University of Singapore, stan@comp.nus.edu.sg
PC MemberNo
Contact personHongyu Zhang, zhanghy@comp.nus.edu.sg, Phone: +65 98369508
Main Fields6. Reuse
9. Component and Interoperability Technologies
Abstract + KeywordsWe developed XVCL (XML-based Variant Configuration Language), a method and tool for product lines, to facilitate handling variants in reusable software assets (such as architecture, code components or documentation). XVCL is a modern and versatile version of Bassett’s frames [1], a technology that has achieved substantial productivity improvements in large data processing product lines written in COBOL. Unlike original frames, XVCL blends with contemporary programming paradigms, offering an effective reuse mechanism complementing other design techniques. XVCL is based on “composition with adaptations” mechanism. Despite its simplicity, XVCL can effectively manage a wide range of product lines variants from a compact base of meta-components, structured for effective reuse. We applied XVCL in two medium-size product line projects and a number of smaller case studies. In this paper, we communicate XVCL’s capabilities to support product lines by means of a simple, but still interesting, example of the KWIC system introduced by Parnas in 1970’s. We show how we can handle functional variants, variant design decisions and implementation-level variants in a generic KWIC system.

Keywords: XVCL, Frame Technology, Product Line, KWIC
RemarksEntered by RvdS

213 - TitleBeyond the Next Release
AuthorsNazim Madhavji, University of Otago, madhavji@infoscience.otago.ac.nz
Josée Tassé, University of New Brunswick, jtasse@unbsj.ca
PC MemberNo
Contact personNazim Madhavji, madhavji@infoscience.otago.ac.nz, Phone: +64 3 479-8090
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
Abstract + KeywordsA software system is increasingly more difficult to evolve over time unless appropriate measures are taken. In this paper, we propose a new approach that monitors an evolving software system, or its evolution process, against evolutionary policies so that any feedback obtained can be used to improve the system or its process. Two key concepts that make this possible are: (1) a constraint-checking mechanism to trap policy-violations and (2) a contextual framework to support broader activities of evolving software beyond the next release. Together, they provide a wide and deep scope for managing software evolution. The benefit of our approach is that it would help in: sustaining the quality of a software system as it evolves, reducing evolutionary costs, and improving evolutionary processes.
RemarksI noticed that labels in Figures 4, 5 and 6 did not come out very sharply when converted to the PDF format. The reviewer may need to squint the eyes a bit, esp. for Figure 6. Sincere apologies for this.

214 - TitleAn Application Framework for Active Spaces
AuthorsManuel Roman, University of Illinois at Urbana - Champaign, mroman1@cs.uiuc.edu
Roy Campbell, University of Illinois at Urbana-Champaign, rhc@cs.uiuc.edu
PC MemberNo
Contact personManuel Roman, mroman1@cs.uiuc.edu, Phone: 217 390 2129
Main Fields3. Software Architectures, Patterns, and Frameworks
8. Object-Oriented Technologies
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsUbiquitous computing challenges the conventional notion of a user logged into a personal computing device, whether it is a desktop, a laptop, or a digital assistant. When the physical environment of a user contains hundreds of networked computer devices each of which may be used to support one or more user applications, the notion of personal computing becomes inadequate. Further, when a group of users share such a physical environment, new forms of sharing, cooperation and collaboration are possible and mobile users may constantly change the computers with which they interact. We present in this paper an application framework that provides mechanisms to construct, run or adapt existing applications to ubiquitous computing environments. The framework binds applications to users, uses multiple devices simultaneously, and exploits resource management within the users' environment that reacts to context and mobility. Our research contributes to application mobility, partitioning and adaptation within device rich environments, and uses context-awareness to focus the resources of ubiquitous computing environments on the needs of users.
Remarks

215 - TitleEliminating Redundancies in Class Libraries:the Case for the "Composition with Adaptation" Program Design Technique
AuthorsStan Jarzabek, Department of Computer Science, School of Computing, National University of Singapore, stan@comp.nus.edu.sg
Shubiao Li, Department of Banking Information Engineering, School of Economics and Finance, Xi'an Jiaotong University, China, li_shubiao@163.net
PC MemberNo
Contact personStan Jarzabek, stan@comp.nus.edu.sg, Phone: +65 96255863
Main Fields6. Reuse
9. Component and Interoperability Technologies
Abstract + KeywordsWe studied a number of class libraries and encountered much redundant code among classes that, in essence, differ very little. Such redundancies lead to overly complex and big classes, creating well-known problems for program maintenance. In the first part of the paper, we present results of redundant code analysis in the Java Buffer class library. We point to common sources of redundancies and argue why the problem cannot be easily dealt with using contemporary OO programming techniques such as inheritance and templates. In the second part of this paper, we describe a meta-programming technique based on "composition with adaptation" (called XVCL), that allows us to eliminate code redundancies. The XVCL solution comprises 40% of code we find in the original Buffer library. We argue that the XVCL solution is easier to maintain than the original Buffer library. As we produce classes in exactly the same form as they appear in the original Buffer library, the XVCL solution can be seamlessly integrated into contemporary programming methodologies and systems.

Keywords: XVCL, Frame Technology, Class Library, Software Reuse
RemarksEntered by RvdS

216 - TitleTowards Rational Architectural Design – A Bayesian Network Approach
AuthorsH. Zhang, School of Computing, National University of Singapore, iscp0225@nus.edu.sg
PC MemberNo
Contact personH. Zhang, iscp0225@nus.edu.sg, Phone: 67730267
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
12. AI-Based Approaches to S/W Engineering
Abstract + KeywordsAlthough getting an architectural design right is very important, achieving a rational design is difficult. We could make a more systematic progress towards the rational architectural design by capturing and reusing domain experts’ design knowledge and experience. For developing specific systems in a domain, we reuse these expertises instead of working from scratch. In this paper, we propose a Bayesian Network based approach to capture design knowledge and experience. We can perform both qualitative and quantitative analysis over the Bayesian Network to understand how the design decisions influence system quality attributes, and to reason about the rational design decisions. We shall use the KWIC (Key Word In Context) example, a well-know example to software engineering community, to illustrate the principles of our approach. We believe our approach can help organizations achieve more matured, reuse-based software development.

Keywords: Architectural Design, Bayesian Network, Quality Attributes
Remarks

217 - TitleSupport for Mobile Teamwork and Publish-Subscribe Systems
AuthorsPascal Fenkam, Technical University of Vienna, fenkam@tuwien.ac.at
Harald Gall, Technical University of Vienna, gall@tuwien.ac.at
Engin Kirda, Technical University of Vienna, kirda@tuwien.ac.at
Helmut Veith, Technical University of Vienna, veith@tuwein.ac.at
Somesh Jha, University of Wisconsin, Madison, jha@cs.wisc.edu
Sagar Chaki, Carnegie Mellon University, chaki@cs.cmu.edu
PC MemberYes
Contact personSomesh Jha, jha@cs.wisc.edu, Phone: 608-(262)-9519
Main Fields3. Software Architectures, Patterns, and Frameworks
15. Formal Methods
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsPublish-subscribe systems
Abstract + KeywordsSoftware that supports distributed and mobile collaboration is
becoming a key technology in the context of a large and distributed
enterprise. Employees are often on the move and use different
computing devices. However, they should be able to continue with their
business tasks independent of their physical location. Based on case
studies of two global enterprises, we have distilled key requirements
for a system providing support for distributed and mobile
collaboration (DMC). Moreover, we have developed an
architecture that satisfies these requirements. Using these
requirements and our experience in designing the architecture, we
argue that publish-subscribe (P/S) is a suitable paradigm to
effectively support mobile teamwork. We contrast user-level
requirements for P/S with capabilities of existing P/S middleware
components and demonstrate how such P/S components can be integrated
into a system that supports mobile teamwork. To facilitate this
integration, we define a mapping from capabilities of a P/S component
and the user-level requirements. We also demonstrate how a
publish-subscribe system Spear can be integrated into
an architecture supporting mobile teamwork (MOTION).
Experimental results that demonstrate the effectiveness of our integration
methodology are also presented.
Remarks

218 - TitleBuilding a Constraint-Based Software Environment
AuthorsSteven Reiss, Brown University, spr@cs.brown.edu
Christina Kennedy, Brown University, cmkenned@cs.brown.edu
Tom Wooldridge, Brown University, twooldri@cs.brown.edu
Shriram Krishnamurthi, Brown University, sk+39@cs.brown.edu
PC MemberNo
Contact personShriram Krishnamurthi, sk+39@cs.brown.edu, Phone: +1 401-863-7600
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
16. CASE Tools and Software Development Environments
Abstract + KeywordsWe have built a software development environment that uses constraints
to ensure the consistency of the different artifacts associated with
software. This approach to software development makes the environment
responsible for detecting most inconsistencies between software
design, specifications, documentation, source code, and test
cases. The environment provides facilities to ensure that these
various dimensions remain consistent as the software is written and
evolves. This paper describes the techniques that underlie the
environment, concentrating on those that deal with the diversity of
artifacts the environment supports and on the definition and
incremental maintenance of constraints between these artifacts.
Remarks

219 - TitleA Platform for Building Clearinghouse Software Systems
AuthorsHira Agrawal, Telcordia Technologies, hira@research.telcordia.com
Munir Cochinwala, Telcordia Technologies, munir@research.telcordia.com
Ashish Jain, Telcordia Technologies, jain@research.telcordia.com
Saul London, Telcordia Technologies, saul@research.telcordia.com
PC MemberNo
Contact personHira Agrawal, hira@research.telcordia.com, Phone: 973-829-5023
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
6. Reuse
9. Component and Interoperability Technologies
17. Software Process, Workflow, CSCW
Abstract + KeywordsThe growing trend towards automated processes between loosely affiliated
entities calls for message passing systems that can manage complex sets
of business interactions and coordinate automated flow of business
objects among systems. Rapid changes in business and technology require
that new solutions be developed quickly and cost effectively, that
remain flexible enough to handle changing business rules and processes,
and yet be deployable in reliable, high capacity, highly available
configurations. We call these systems clearinghouse systems. We
describe a strategy for developing such systems and an implementation of
a generalized platform to support solutions based on that strategy. Our
solution achieves a high degree of reuse, supports high level, finite
state machine based specification of business process rules, and
automates much of the application testing. We also discuss the role
this platform plays in contrast to workflow and EAI systems.

Keywords: Process Automation, Business Rules Automation,
Declarative Frameworks, Software Reuse, Workflow Systems,
Automated Testing, Architecture Patterns, Design Patterns,
Software Components, and Java J2EE Based Architecture
RemarksThe attached PDF file requires Adobe Acrobat 5.0 to read all the figures properly.
If you have trouble reading the file, let me know.

220 - TitleToward an Understanding of the Motivation of Open Source Software Developers
AuthorsYunwen Ye, University of Colorado, yunwen@cs.colorado.edu
Kouichi Kishida, SRA Key Technology Laboratory, k2@sra.co.jp
PC MemberNo
Contact personYunwen Ye, yunwen@cs.colorado.edu, Phone: +1-303-492-3547
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
17. Software Process, Workflow, CSCW
Other Main FieldsOpen Source Software
Software Engineering Education
Abstract + KeywordsAn Open Source Software (OSS) project is unlikely to be successful unless there is an accompanied community that provides the platform for developers and users to collaborate. Members of such communities are volunteers whose motivation to participate and contribute is of essential importance to the success of OSS projects. In this paper, we aim to create an understanding of what motivates people to participate in OSS communities. We theorize that learning is one of the motivational forces. Our theory is grounded in the learning theory of Legitimate Peripheral Participation, and is supported by analyzing the social structure of OSS communities and the co-evolution between OSS systems and communities. We also discuss practical implications of our theory for creating and maintaining sustainable OSS communities.

Keywords: open source software, community of practice, software evolution, learning, legitimate peripheral participation, software engineering education
Remarks

221 - TitleA Stateful Approach for Publish-Subscribe Systems in Mobile Environments
AuthorsMihail Ionescu, Rutgers University, mihaii@caip.rutgers.edu
Ivan Marsic, Rutgers University, marsic@caip.rutgers.edu
PC MemberNo
Contact personMihail Ionescu, mihaii@caip.rutgers.edu, Phone: 732-445-0549
Main Fields22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsThe Publish-Subscribe paradigm has become an important architectural style for designing distributed systems. In the recent years, we are witnessing an increasing demand for supporting publish-subscribe for mobile computing devices, where conditions used for filtering the data can depend on the particular state of the subscriber (quality of the connection, space and time locality, device capabilities). In this paper we present a stateful model for publish-subscribe systems, suitable for mobile environments. In our system, the server maintains a state for each client, which contains variables that describe the properties of the particular client, such as the quality of the connection or the display size. The interest of each client can be expressed in terms of these variables. Based on the client interests, an associated agent is created on the server. The agent filters the data that reach the client based on the current client state. Experimental results show good performance and scalability of our approach.
Remarks

222 - TitleUsing Benchmarking to Advance Research: A Challenge to Software Engineering
AuthorsSusan Sim, University of Toronto, simsuz@cs.utoronto.ca
Steve Easterbrook, University of Toronto, sme@cs.utoronto.ca
Richard Holt, University of Waterloo, holt@uwaterloo.ca
PC MemberYes
Contact personSusan Sim, simsuz@cs.utoronto.ca, Phone: 416 351 9667
Main Fields19. Empirical Studies, Metrics
Other Main Fieldsresearch methodology
Abstract + KeywordsBenchmarks have been used in computer science to compare the performance of computer systems,
information retrieval algorithms, databases, and many other technologies. The creation and widespread
use of a benchmark within a research area is frequently accompanied by rapid technical progress and
community building. These observations have led us to formulate a theory of benchmarking within scientific
disciplines. Based on this theory, we challenge software engineering research to become more scientific and
cohesive by working as a community to define benchmarks. In support of this challenge, we present a case
study of the software reverse engineering community, where we have successfully used benchmarks to advance
the state of research.
Remarks

223 - TitleTask/Scheduler Logic: Reasoning about Concurrency in Component-Based Systems Software
AuthorsAlastair Reid, School of Computing, University of Utah, reid@cs.utah.edu
John Regehr, School of Computing, University of Utah, regehr@cs.utah.edu
PC MemberNo
Contact personAlastair Reid, reid@cs.utah.edu, Phone: +44-141-357-3203
Main Fields3. Software Architectures, Patterns, and Frameworks
9. Component and Interoperability Technologies
11. Programming Language-Based Approaches to S/W Engineering
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsAlthough component-based software development promises increased reuse and faster development time, it has proven difficult to build component-based systems software.
One obstacle is that the concurrency structure in systems software
tends to be complex.
First, instead of a single scheduler, there is a hierarchy of
schedulers: the processor schedules interrupts, the OS schedules
software interrupts and threads, and threads run event loops.
This gives rise to many different execution environments, each with
its own restrictions on actions that can be taken by code running in
it.
Second, the preemption relationships between these execution
environments are often asymmetric: an interrupt handler can
preempt a thread but not vice versa.
This results in an asymmetric pattern of locking where low priority code must protect against high priority code but not vice versa.
This situation is rare in other application domains but common in systems software.

We have developed Task/Scheduler Logic (TSL) for reasoning about
component-based systems software.
We show that TSL can be used to reason about race conditions, illegal lock usage, and redundant or unnecessary synchronization points in component-based systems software. Further, we show that TSL can realistically be applied to large, complex systems.
Remarks

224 - TitleA Methodology for the Development of Knowledge Discovery Systems
AuthorsMaria Madalena Dias, UEM - Universidade Estadual de Maringá, mmdias@din.uem.br
Roberto C. S. Pacheco, UFSC - Universidade Federal de Santa Catarina , pacheco@eps.ufsc.br
PC MemberNo
Contact personMaria Madalena Dias, mmdias@din.uem.br, Phone: (55)442614324
Main Fields8. Object-Oriented Technologies
15. Formal Methods
Other Main FieldsKnowledge Discovery
Data Mining
Abstract + KeywordsAbstract

A further step that a firm has to take after solving its operational problems is the adoption of
decision-taking support. Data mining is on the increase since firms need be assisted in precisely
these new requirements. However, the use of data mining techniques may become difficult and
unreliable if a complete and systematic methodology in the development of knowledge discovery
systems is not followed. A methodology, called MeDesC, which integrates UML (Unified Modeling
Language), and E-LOTOS (Enhancements to Language of Temporal Ordering Specification) is
provided. Its main objective is to generate relevant and secure information for decision taking
through the application of data mining techniques.

Keys words

Knowledge Discovery, Data Mining, Object-oriented Model, Formal Methods.
Remarks

225 - TitleA Process for Analyzing Software Architecture and Avoiding Degeneration During System Evolution
AuthorsPatricia Costa, Fraunhofer Center for Experimental Software Engineering, Maryland, pcosta@fc-md.umd.edu
Mikael Lindvall, Fraunhofer Center for Experimental Software Engineering, Maryland, mlindvall@fc-md.umd.edu
Roseanne Tesoriero Tvedt, Fraunhofer Center for Experimental Software Engineering, Maryland and Washington College, rtesoriero@fc-md.umd.edu
PC MemberNo
Contact personPatricia Costa, pcosta@fc-md.umd.edu, Phone: 301-403-8995
Main Fields3. Software Architectures, Patterns, and Frameworks
5. Maintenance, Evolution, Re-/Reverse Engineering
Abstract + KeywordsSoftware systems undergo constant change throughout their lifetime due to new requirements, bug fixes and enhancements. Even though some systems are carefully designed, as they change, the structure of the system tends to decay. This paper describes an evaluation process designed to detect deviations in the actual software system that lead to architectural degeneration. The process has been used on three versions of a software system. We report on the results of using the evaluation process and give lessons learned from using the process. We believe that the process can be used in other contexts to help keep the software on its planned course.

Software Architecture Evaluation, Process, Software Evolution
Remarks

226 - TitleImplementation of a Monitoring Language Based on Virtual Machine Run Time and Post-Mortem Behavior Analysis
AuthorsMikhail Auguston, New Mexico State University, mikau@cs.nmsu.edu
Clinton Jeffery, New Mexico State University, jeffery@cs.nmsu.edu
Scott Underwood, New Mexico State University, sunderwo@cs.nmsu.edu
PC MemberNo
Contact personMikhail Auguston, mikau@cs.nmsu.edu, Phone: 505-646-5286
Main Fields4. Testing, Analysis, and Verification
11. Programming Language-Based Approaches to S/W Engineering
Abstract + KeywordsUFO is a new implementation of FORMAN, a declarative monitoring language, in which rules are compiled into execution monitors that run on a virtual machine supported by the Alamo monitor architecture. FORMAN’s event trace model uses precedence and inclusion relations to define a DAG structure that abstracts execution behavior. Compiling FORMAN rules into hybrid run-time/post-mortem monitors gives substantial speed and size improvements over pure post-mortem analyzers that operate on the event trace DAG. The UFO optimizing compiler generates code that computes, at run-time when possible, the minimal projection of the DAG necessary for a given set of assertions. UFO enables fully automatic execution monitoring of realistic size programs. The approach is non-intrusive with respect to program source code. The ability to compile suites of debugging rules into efficient monitors, and apply them generically to different programs, will enable long-overdue breakthroughs in program debugging automation.

Keywords: program monitoring, dynamic analysis, debugging automation,
event traces
Remarks

227 - TitleA Compositional Formalization of Connector Wrappers
AuthorsBridget Spitznagel, Carnegie Mellon University, sprite@cs.cmu.edu
David Garlan, Carnegie Mellon University, garlan@cs.cmu.edu
PC MemberNo
Contact personBridget Spitznagel, sprite@cs.cmu.edu, Phone: 412-268-8101
Main Fields3. Software Architectures, Patterns, and Frameworks
15. Formal Methods
Abstract + KeywordsIncreasingly systems are composed of parts: software components, and
the interaction mechanisms (connectors) that enable them to
communicate. When assembling systems from independently developed and
potentially mismatched parts, wrappers may be used to overcome
mismatch as well as to remedy extra-functional deficiencies.

Unfortunately the current practice of wrapper creation and use is ad
hoc, resulting in artifacts that are often hard to reuse or compose,
and whose impact is difficult to analyze. What is needed is a more
principled basis for creating, understanding, and applying wrappers.
Focusing on the class of connector wrappers (wrappers that address
issues related to communication and compatibility), we present a means
of characterizing connector wrappers as protocol transformations,
modularizing them, and reasoning about their properties. Examples are
drawn from commonly practiced dependability enhancing techniques.
Remarks

228 - TitleModular Verification of Software Components in C
AuthorsSagar Chaki, Carnegie Mellon University, chaki+@cs.cmu.edu
Edmund Clarke, Carnegie Mellon University, emc+@cs.cmu.edu
Alex Groce, Carnegie Mellon University, agroce+@cs.cmu.edu
Somesh Jha, University of Wisconsin, Madison, jha@cs.wisc.edu
Helmut Veith, TU Vienna, veith@dbai.tuwien.ac.at
PC MemberYes
Contact personSagar Chaki, chaki+@cs.cmu.edu, Phone: +1-412-268-5942
Main Fields4. Testing, Analysis, and Verification
14. Safety and Security
15. Formal Methods
Abstract + KeywordsWe present a new methodology for automatic verification of C programs against finite state machine specifications. Our approach is compositional, naturally enabling us to decompose the verification of large software systems into subproblems of manageable complexity. The decomposition reflects the modularity in the software design. We use weak simulation as the notion of conformance between the program and its specification. Following the abstract-verify-refine paradigm, our tool MAGIC first extracts a finite model from C source code using predicate abstraction and theorem proving. Subsequently, simulation is checked via a reduction to Boolean satisfiability. MAGIC is able to interface with several publicly available theorem provers and SAT solvers. We report experimental results with procedures from the Linux kernel and the OpenSSL toolkit.

Keywords: Compositionality, Labeled Transition System, Predicate Abstraction, Safe Abstraction, Security, Simulation, Software Verification
Remarks

229 - TitlePluggable Reflection: Decoupling Meta-Interface and Implementation
AuthorsDavid Lorenz, Northeastern University, lorenz@ccs.neu.edu
John Vlissides, IBM T. J. Watson Research Center, vlis@us.ibm.com
PC MemberNo
Contact personDavid Lorenz, lorenz@ccs.neu.edu, Phone: 6173732076
Main Fields9. Component and Interoperability Technologies
Abstract + KeywordsReflection remains a second-class citizen in current program-ming models, where it's assumed to be imperative and tightly bound to its implementation. In contrast, most object-oriented APIs allow interfaces to vary independently of their implemen-tations. Components take this separation a step further by describing unforeseeable attributes-the key to pluggable third-party components. This paper describes how reflection can benefit from a similar evolutionary path.
Remarks

230 - TitleAn Approach for Tracing and Understanding Asynchronous Systems
AuthorsScott Hendrickson, Institute for Software Research, University of California, Irvine, shendric@ics.uci.edu
Eric Dashofy, Institute for Software Research, University of California, Irvine, edashofy@ics.uci.edu
Adrita Bhor, Institute for Software Research, University of California, Irvine, abhor@ics.uci.edu
Richard Taylor, Institute for Software Research, University of California, Irvine, taylor@ics.uci.edu
Santiago Li, Institute for Software Research, University of California, Irvine, lis@uci.edu
Nghi Nguyen, Institute for Software Research, University of California, Irvine, nghin@uci.edu
PC MemberNo
Contact personEric Dashofy, edashofy@ics.uci.edu, Phone: +19498244101
Main Fields3. Software Architectures, Patterns, and Frameworks
7. Software Understanding
Abstract + KeywordsApplications built in a strongly decoupled, event-based interaction style have many commendable characteristics, including ease of dynamic configuration, accommodation of platform heterogeneity, and ease of distribution over a network. It is not always easy, however, to humanly grasp the dynamic behavior of such applications, since many threads are active and events are asynchronously (and profusely) transmitted. This paper presents a set of requirements for an aid to assist in exploring the behavior of such applications, with the aim of assisting in the development and understanding of such applications. A prototype tool is presented, indicating viable approaches to meeting requirements. Experience with the tool reinforces some of the requirements and indicates others.
Remarks

231 - TitleUsing the System Modular Analysis Approach to Represent the Level 2 of the CMM-SW
AuthorsJavier Pereira, Departamento Informática de Gestión, Universidad de Talca, Chile, jpereira@utalca.cl
Narciso Cerpa, Departamento de Ingeniería de Sistemas, Universidad de Talca, Chile, ncerpa@utalca.cl
PC MemberNo
Contact personJavier Pereira, jpereira@utalca.cl, Phone: 56-71-200356
Main Fields17. Software Process, Workflow, CSCW
18. Software Project Management and Cost Estimation
Abstract + KeywordsIn this article, we introduce a model for the CMM-SW's Level 2 based in the management process analysis approach known as System Modular Analysis (SMA). This technique permits to represent the schema relating the key process areas (KPA) of the CMM-SW Level 2 and also the interaction structure established by the CMM-SW among the common features on each KPA. Furthermore, we show that the fundamental cybernetic approach of the SMA (depicting the control and regulation schemas of management) represents the PDCA (Plan-Do-Check-Act) cycle of a KPA structure, as defined by goals and common features.
RemarksNo remarks

232 - TitleFault-tolerant Distribution and Persistence of Objects Using Replication
AuthorsRobert Smeikal, Vienna University of Technology, smeikal@ict.tuwien.ac.at
Karl M. Goeschka, Frequentis Nachrichtentechnik GmbH, goeschka@acm.org
PC MemberNo
Contact personRobert Smeikal, smeikal@ict.tuwien.ac.at, Phone: ++43 1 58801 38414
Main Fields3. Software Architectures, Patterns, and Frameworks
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsToday's large and complex object-oriented applications demand both transparent distribution and persistence. When fault-tolerance is required, improving single component availability is insufficient, because it does not scale well to large systems. Therefore, we propose to provide scalable fault-tolerance for both distribution and persistence by using only a single mechanism: replication. We thereby introduce a component-based architecture, which clearly separates distribution, persistence and replication. During normal operation the system is set up like a conventional distributed system, while propagating object data prepares for degraded scenarios. As these considerations are of concern for two different communities - databases and distributed systems - the second major contribution of this paper is to clarify and unify the terminology, thereby describing the system model. The central terms are object-readiness and levels of consistency, which capture the trade-off between availability and consistency. As proof of concept we present the results of a successful real-life implementation: a distributed telecommunication management system, which uses asynchronous primary copy replication as algorithm for propagating the persisted object-data. The result is a flexible, robust and highly available framework for managing object-oriented software in a distributed system.

Keywords: fault-tolerance, replication, transparent distribution and persistence, consistency, availability, network partition, serializability
Remarks

233 - TitleA Lightweight Coordination Model and Middleware for Mobile Computing
AuthorsGruia-Catalin Roman, Washington University in Saint Louis, roman@cse.wustl.edu
Chien-Liang Fok, Washington University in Saint Louis, liang@cse.wustl.edu
PC MemberYes
Contact personChien-Liang Fok, liang@cse.wustl.edu, Phone: 935-7535
Main Fields2. Design
Other Main FieldsMobile Computing
Abstract + KeywordsCoordination models promise to become an important software engineering tool in our efforts to facilitate the rapid development of mobile applications that must execute on devices having limited resources and must respond to frequent contextual changes. In this paper, we seek to identify a minimalist coordination model specifically designed for ad hoc wireless networks. Our efforts build upon earlier experience with the development of Lime and its empirical evaluation on automotive applications involving peer-to-peer communication on the highway. LimeLite is the direct result of this application-centered investigation. While preserving the general character of its predecessor, LimeLite emerges as a slimmer and more agile middleware. It offers a simple computational model, a small set of coordination constructs, and an economical implementation. Despite the fact that LimeLite makes fewer assumptions about the computing environment and provides weaker atomicity guarantees, it appears to be functionally rich enough to satisfy application needs in demanding ad hoc settings, including those in which Lime was previously used successfully.
Remarks

234 - TitleSecure Sharing of Tuple Spaces in Ad Hoc Settings
AuthorsCatalin-Gruia Roman, Washington University in Saint Louis, roman@cs.wustl.edu
Radu Handorean, Washington University in Saint Louis, raduh@cs.wustl.edu
PC MemberYes
Contact personRadu Handorean, raduh@cse.wustl.edu, Phone: (314) 781.56.38
Main Fields3. Software Architectures, Patterns, and Frameworks
14. Safety and Security
Other Main FieldsMiddleware
Coordination models
Abstract + KeywordsPractical applications of coordination models demand
appropriate security guarantees. In ad hoc settings this must be
achieved without reliance on any central point of control. Lime
is one of the few coordination models and middleware to provide
support for ad hoc networking and mobility. This paper shows how
security can be added to Lime by simple extensions to the
original model. The extensions include password protected tuple
spaces, per tuple access controls and encrypted communication
between parts of application running on different hosts.
Furthermore, these new capabilities are accommodated with minimum
changes to the original design.
Remarks

235 - TitleAdaptable Architectural Middleware for Programming-in-the-Small-and-Many
AuthorsMarija Mikic-Rakic, University of Southern California, marija@usc.edu
Nenad Medvidovic, University of Southern California, neno@usc.edu
PC MemberNo
Contact personMarija Mikic-Rakic, marija@usc.edu, Phone: (213) 740-6504
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsA recent emergence of small, resource-constrained, and highly-mobile computing platforms presents numerous new challenges for software developers. We refer to development in this new setting as programming-in-the-small-and-many (Prism). This paper provides a description and evaluation of a middleware intended to support software architecture-based development in the Prism setting. The middleware, called Prism-MW, provides highly efficient and scalable implementation-level support for the key aspects of Prism application architectures. Additionally, Prism-MW is easily extensible to support different application requirements and, in fact, different architectural styles suitable for the Prism setting. Prism-MW is accompanied with design, analysis, deployment, and run-time monitoring tool support. It has been applied in a number of applications and used as an educational tool in a graduate-level embedded systems course. Recently, Prism-MW has been successfully evaluated by a major industrial organization for use in one of their key distributed embedded systems. Our experience with the middleware indicates that the principles of architecture-based software development can be successfully, and flexibly, applied in the Prism setting.
Remarks

236 - TitleA Practical Method for Documenting Software Architectures
AuthorsPaul Clements, Software Engineering Institute, Carnegie Mellon University, clements@sei.cmu.edu
Felix Bachmann, Software Engineering Institute, Carnegie Mellon University, fb@sei.cmu.edu
Len Bass, Software Engineering Institute, Carnegie Mellon University, ljb@sei.cmu.edu
David Garlan, School of Computer Science, Carnegie Mellon University, garlan@cs.cmu.edu
James Ivers, Software Engineering Institute, Carnegie Mellon University, jivers@sei.cmu.edu
Reed Little, Software Engineering Institute, Carnegie Mellon University, little@sei.cmu.edu
PC MemberYes
Contact personPaul Clements, clements@sei.cmu.edu, Phone: 512-453-1471
Main Fields3. Software Architectures, Patterns, and Frameworks
Abstract + KeywordsA practical approach for documenting software architectures is presented. The approach is based on the well-known architectural
concept of views, and holds that documentation consists of documenting the relevant views and then documenting the information
that applies to more than one view. Views can be usefully grouped into viewtypes, corresponding to the three broad ways an
architect must think about a system: as a set of implementation units, as a set of runtime elements interacting to carry out the system's
work, and as a set of elements existing in and relating to external structures in its environment. A simple three-step procedure for
choosing the relevant views to document is given, and applied to the problem of documentation for a large, complex NASA system.
RemarksThere are eight authors. The remaining two are:
Robert Nord Software Engineering Institute rn@sei.cmu.edu
Judith Stafford Software Engineering Institute jas@sei.cmu.edu

237 - TitleTagging Knowledge Acquisition
AuthorsHeather Richter, Georgia Institute of Technology, hrichter@cc.gatech.edu
Chris Miller, Smart Information Flow Technologies, cmiller@SIFTech.com
Gregory Abowd, Georgia Institute of Technology, abowd@cc.gatech.edu
Harry Funk, Smart Information Flow Technologies, hfunk@SIFTech.com
PC MemberNo
Contact personHeather Richter, hrichter@cc.gatech.edu, Phone: +1 404-385-1101
Main Fields1. Requirements Engineering
Other Main FieldsKnowledge Acquisition
Abstract + KeywordsKnowledge Acquisition (KA) is an important phase of systems development for collaboratively gathering expert domain knowledge that is incorporated into the design of a system. There are problems ensuring that accurate and useful knowledge is captured from Subject Matter Experts and in transferring the vast amount of information learned to later development efforts. We present a method, called tagging, for addressing these problems along with a study to inform the design of a tool called TAGGER. TAGGER operates by permitting KA discussions to be ‘tagged’ as they happen with concepts and groupings relevant to software development.
Remarks

238 - TitleSound Methods and Effective Tools for Engineering Modeling and Analysis
AuthorsDavid Coppit, The College of William and Mary, icse2003@coppit.org
Kevin Sullivan, The University of Virginia, sullivan@cs.virginia.edu
PC MemberNo
Contact personDavid Coppit, icse2003@coppit.org, Phone: 757-221-3476
Main Fields2. Design
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsModeling is indispensable in engineering. Safe, effective modeling methods require languages having clearly specified and validated semantics, and low-cost, feature-rich, easy-to-use software tools. Today we lack cost-effective means to develop such methods, with serious consequences for engineering. We present and evaluate an approach combining two techniques: formal methods to aid in language design and validation; and package-oriented programming for effective tools at low cost. We have evaluated the approach in an end-to-end feasibility experiment. First, we deployed an existing language for reliability analysis to NASA in a package-oriented tool and surveyed NASA engineers to assess its industrial effectiveness. Second, we designed a formally specified (and significantly corrected and improved) modeling language. Finally, to assess the overall effort required, we developed a package-based tool from scratch which embodies the new language. The data support the claim that the approach promises to enable cost-effective deployment of sound methods by effective software tools
Remarks

239 - TitleThe Magical Number Seven, Plus Or Minus Two (Again): Information Overload Effects on End User Understanding of Entity Relationship Models
AuthorsDaniel Moody, Norwegian University of Science and Technology (NTNU) and Monash University, dmoody@idi.ntnu.no
PC MemberNo
Contact personDaniel Moody, dmoody@idi.ntnu.no, Phone: +47 91897298
Main Fields1. Requirements Engineering
19. Empirical Studies, Metrics
Abstract + KeywordsPsychological studies show that humans have a strictly limited capacity for processing information. If this limit is exceeded, a state of information overload ensues and un-derstanding degrades rapidly. This paper describes a laboratory experiment investigating the effects of complexity on end user understanding of Entity Relationship (ER) Models. Participants were all naïve users and were given a data model consisting of around 100 entities. One group was given the model in standard ER form and the other was given the same model organised into cognitively manageable “chunks”. Understanding was evaluated in terms of comprehension performance (the ability to answer questions about the model) and verification performance (the ability to identify discrepancies between the model and a set of textual requirements). Performance on both tasks was measured in terms of time (efficiency), accuracy (effectiveness) and accuracy/time (efficacy). “Chunking” was found to improve comprehension and verification accuracy by more than 50%, though conflicting findings were found for time taken. The results suggest that there are significant information overload effects on end user understanding of data models, which may help to explain why ER models are so poorly understood in practice. The findings of this study have implications for all diagrammatical techniques used in software engineering.
Remarks

240 - TitleComponent Rank: Relative Significance Rank for Software Component Search
AuthorsKatsuro Inoue, Osaka University, inoue@ist.osaka-u.ac.jp
Reishi Yokomori, Osaka University, yokomori@ist.osaka-u.ac.jp
Hikaru Fujiwara, Osaka University, hikaru@dsnw.ne.jp
Tetsuo Yamamoto, Osaka University, t-yamamt@ist.osaka-u.ac.jp
Makoto Matsushita, Osaka University, matusita@ist.osaka-u.ac.jp
Shinji Kusumoto, Osaka University, kusumoto@ist.osaka-u.ac.jp
PC MemberNo
Contact personKatsuro Inoue, inoue@ist.osaka-u.ac.jp, Phone: +81-6-6850-6570
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
6. Reuse
9. Component and Interoperability Technologies
Abstract + KeywordsCollections of already developed programs are important resources for
efficient development of reliable software systems. In this paper, we
propose a novel method of ranking software components, called
Component Rank, based on analyzing actual use relations among the
components and propagating the significance through the use relations.
We have developed a component-rank computation system, and applied it
to various Java programs. The result is promising such that
non-specific and generic components are ranked high. Using the
Component Rank system as a core part, we are currently developing
Software Product Archiving, analyzing, and Retrieving System named
SPARS.

Keywords:
Software Component, Ranking, Weight, Use Relation, Convergence
Remarks

241 - TitleConsidering Multiple Factors to Focus Programmer Attention
AuthorsCraig A. Damon, Computer Science Department, University of Vermont, cdamon@cs.uvm.edu
PC MemberNo
Contact personCraig A. Damon, cdamon@cs.uvm.edu, Phone: 802 656-4665
Main Fields7. Software Understanding
Abstract + KeywordsOne long term goal of software engineering is to provide a tool that, given a failed test, can focus programmer attention on the portion of the program that contains the actual flaw. Slicing, the traditional approach to this problem, considers only the known point of failure to determine all possibly flawed program locations. Real world programmers also consider additional factors, such as change history and platform differences, to narrow their focus. The cheddar project is building a slicer-like tool that can consider these additional factors to reduce further the portion of the program to be considered.
Remarks

242 - TitleDesigning and Implementing A Family of Intrusion Detection Systems
AuthorsGiovanni Vigna, UCSB, vigna@cs.ucsb.edu
Fredrik Valeur, UCSB, fredrik@cs.ucsb.edu
Richard Kemmerer, kemm@cs.ucsb.edu, kemm@cs.ucsb.edu
PC MemberYes
Contact personGiovanni Vigna, vigna@cs.ucsb.edu, Phone: +1-805-8937565
Main Fields3. Software Architectures, Patterns, and Frameworks
6. Reuse
14. Safety and Security
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsIntrusion detection systems are distributed applications
that analyze the events in a networked system to identify possibly malicious behavior. Intrusion detection systems may operate in heterogeneous environments, analyzing different types of event streams. Unfortunately, existing systems fail to manage the complexity that is inherent in today's networks. We developed a framework, called STAT, that overcomes these limitations. Instead
of providing yet another system tailored to some domain-specific requirements, STAT provides a software framework for the development of new intrusion detection functionality in a modular fashion. The resulting intrusion detection systems represent a software family with the ability to reconfigure its behavior dynamically. The reconfiguration functionality is supported by a component model and by a control infrastructure, called MetaSTAT. The final product of the STAT framework is a highly-configurable, well-integrated web of intrusion detection sensors.

Keywords: Security, Intrusion Detection, Object-Oriented Frameworks, Program Families.
Remarks

243 - TitleService Facilities: A Pattern-Oriented Approach to Dynamic Module Replacement
AuthorsNigamanth Sridhar, The Ohio State University, sridhar.4@osu.edu
Scott Pike, The Ohio State University, pike@cis.ohio-state.edu
Bruce Weide, The Ohio State University, weide.1@osu.edu
PC MemberNo
Contact personNigamanth Sridhar, nigamanth@yahoo.com, Phone: 614.292.8234
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
5. Maintenance, Evolution, Re-/Reverse Engineering
6. Reuse
8. Object-Oriented Technologies
11. Programming Language-Based Approaches to S/W Engineering
Abstract + KeywordsIn previous work, we presented Service Facilities (Serfs) as a
powerful design pattern for decoupling advanced dependencies
in software systems. In this paper, we apply the decoupling
capabilities of Serfs to solve the problem of dynamic
module replacement in long-lived and/or highly-available
systems. Previous solutions to this problem typically depend
on non-enterprise research languages, or require specialpurpose
middleware. These limiting factors on deployment
and portability render most existing approaches inapplicable
to real development environments. The contributions of
our work are two-fold. First, to address the needs of practitioners,
we illustrate how Serfs enable module replacement in
any language supporting reflection. Second, we demonstrate
that module replacement is not limited to data containers; it
is as powerful as our ability to modularize aspects of computation
into units of encapsulation. Further, we bring these
two contributions together through an illustrative case study
to demonstrate the use of the service facility pattern for dynamic
reconfiguration.
Remarks

244 - TitleStatically Finding Errors in Spreadsheets
AuthorsYanif Ahmad, Brown University, yna@cs.brown.edu
Tudor Antoniu, Brown University, taj@cs.brown.edu
Sharon Goldwater, Brown University, sgwater@cs.brown.edu
Shriram Krishnamurthi, Brown University, sk@cs.brown.edu
PC MemberNo
Contact personYanif Ahmad, yna@cs.brown.edu, Phone: 401-863-7698
Main Fields4. Testing, Analysis, and Verification
11. Programming Language-Based Approaches to S/W Engineering
13. Reliability, Quality Assurance
Abstract + KeywordsWe describe a methodology for detecting user errors in spreadsheets, using the notion of units as our basic elements of checking. We define the concept of a header and discuss two types of relationships between headers, namely is-a and has-a relationships. With these, we develop a set of rules to assign units to cells in the spreadsheet. We check for errors by ensuring that every cell has a well-formed unit. We describe an implementation of the system that allows the user to check Microsoft Excel spreadsheets.
Remarks

245 - TitleA Specification Model for Automated Construction of Secure Distributed Collaboration Systems
AuthorsAnand Tripathi, Univeristy of Minnesota, tripathi@cs.umn.edu
Tanvir Ahmed, Univeristy of Minnesota, tahmed@cs.umn.edu
Richa Kumar, Univeristy of Minnesota, richa@cs.umn.edu
PC MemberNo
Contact personAnand Tripathi, tripathi@cs.umn.edu, Phone: 612-625-9515
Main Fields17. Software Process, Workflow, CSCW
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsThe primary objective of the work presented here is to support
rapid construction of distributed collaboration systems from
their high level specifications. We present here a model of
specifying the security and coordination requirements in
composing a collaboration system by integrating application
specific objects and user tasks. We use a role-based access
control model for user participation and identify here inter-
dependencies of security and coordination requirements for
supporting dynamic access control policies in such systems. In
our project we express this model using XML. The specifications
for a collaboration system are interfaced with a policy-driven
middleware to construct its runtime environment.

Keywords: Distributed collaboration, CSCW, Role based access
control, Policy-based, Middleware, Process coordination,
Security policy specification.
Remarks

246 - TitleSplit Context Model for Components
AuthorsWenxu Tong, College of Information and Computer Science, Northeastern University, wxtong@ccs.neu.edu
Srikanth Krishnamurthy, College of Information and Computer Science, Northeastern University, srikanth@coe.neu.edu
David Lorenz, College of Information and Computer Science, Northeastern University, lorenz@ccs.neu.edu
PC MemberNo
Contact personDavid Lorenz, lorenz@ccs.neu.edu, Phone: 6173732076
Main Fields3. Software Architectures, Patterns, and Frameworks
9. Component and Interoperability Technologies
Abstract + KeywordsThe concept of a context is an integral part of a software component.
Currently, most context models are restricted to single address spaces.
When extending the concept of a context from a local computing
model to a remote computing model, issues with respect to multiple address spaces
are to be considered. Currently there is a dearth of structured ways of representing
and evaluating the various alternatives in designing remote context models.

In this paper we address the issues pertaining to extending the component
based models designed for a local computing model to a remote
computing model. We address the issues of containment, membership and
services by providing a structured classification of models.
We discuss the concepts of equivalence, unification and matching of contexts and propose
six split context architectures and discuss how requirement-based relaxation approaches
increase the flexibility of models.
We provide two implementation examples for two of our models to enhance
understanding of the proposed models.
Remarks

247 - TitleExtending UML to Modeling and Design of Multi-Agent Systems
AuthorsKrishna Kavi, University of North Texas, kavi@cs.unt.edu
David Kung, University of Texas at Arlington, kung@cse.uta.edu
Hitesh Bhambhani, University of Texas at Arlington, hrb6480@omega
Gaurav Pancholi, University of Texas at Arlington, g_pancholi@hotmail.com
Marie Kanikarla, University of Texas at Arlington, marievijaya@hotmail.com
Riken Shah, University of Texas at Arlington, riken_shah@hotmail.com
PC MemberNo
Contact personDavid Kung, kung@cse.uta.edu, Phone: 817-272-3785
Main Fields1. Requirements Engineering
2. Design
3. Software Architectures, Patterns, and Frameworks
8. Object-Oriented Technologies
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsOver the last decade the popularity of agent-based systems have increased
rapidly
because agents bring intelligence, reasoning and autonomy to software
systems. Recent advances in middleware and run-time systems have
helped in designing agent-based systems. However, little work has been
reported in defining a software architecture, modeling and analysis
tools that can be used by software engineers. In this paper, we
present a framework for modeling, analysis and construction of
agent-based systems. The framework is an extension of the Unified
Modeling Language (UML) to include a new classifier called Agent
which is modeled by three abstract types called Belief, Goal and Plan,
respectively. In addition, we introduce Goal
Diagram to depict the relationships between use cases and goals,
Inter-Agent Sequence Diagram and Intra-Agent Sequence Diagram to model
interactions between agents and within an agent. We illustrate the
framework through an agent-based intelligent elevator system.
Remarks

248 - TitlePalantír: Raising Awareness among Configuration Management Workspaces
AuthorsAnita Sarma, University of California, Irvine, asarma@ics.uci.edu
Zahra Noroozi, University of California, Irvine, znoroozi@yahoo.com
Andre van der Hoek, University ofCalifornia, Irvine, andre@ics.uci.edu
PC MemberNo
Contact personAndre van der Hoek, andre@ics.uci.edu, Phone: +1 949 824 6326
Main Fields17. Software Process, Workflow, CSCW
20. Configuration Management
Abstract + KeywordsCurrent configuration management systems promote workspaces that isolate developers from each other. This isolation is both good and bad. It is good, because developers make their changes without any interference from changes made concurrently by other developers. It is bad, because not knowing which artifacts are changing in parallel regularly leads to problems when changes are promoted from workspaces into a central configuration management repository. Overcoming the bad isolation, while retaining the good isolation, is a matter of raising awareness among developers, an issue traditionally ignored by the discipline of configuration management. To fill this void, we have developed Palantír, a novel workspace awareness tool that complements existing configuration management systems by providing developers with insight into other workspaces. In particular, the tool informs a developer of which other developers change which other artifacts, calculates a simple measure of severity of those changes, and graphically displays the information in a configurable and generally non-obtrusive manner. To illustrate the use of Palantír, we demonstrate how it integrates with two representative configuration management systems.
Remarks

249 - TitleDesigning Distributed Components to Dynamically Support Multiple RPC Protocols
AuthorsWilliam Acosta, University of Notre Dame, wacosta@cse.nd.edu
Gregory Madey, University of Notre Dame, gmadey@cse.nd.edu
PC MemberNo
Contact personWilliam Acosta, wacosta@cse.nd.edu, Phone: 574-271-3474
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
6. Reuse
8. Object-Oriented Technologies
9. Component and Interoperability Technologies
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsSoftware applications are becoming more complex and must increasingly integrate with each other in order to provide the required levels of performance, fault-tolerance, and access to new features. To provide this level of integration, software developers have turned to the wide range of Remote Procedure Call (RPC) technologies which are available for building distributed, component based applications. However, semantic and syntactic incompatibilities between these different RPC mechanisms pose significant barriers to software developers wishing to integrate with multiple applications, each of which might require the use of a specific technology for its distributed component model. Ideally, a distributed component system would dynamically incorporate new RPC mechanisms into its functionality and support transparent access to all previously deployed components via the new RPC mechanism. This paper analyzes the different problems encountered in supporting multiple RPC protocols for distributed component communication and proposes a model for designing distributed component systems that can transparently and dynamically adapt to support new RPC protocols.

Keywords: Distributed Components, Object Oriented Programming, Java
Remarks

250 - TitleThe Method Evaluation Model: A Theoretical Model for Validating IS Design Methods
AuthorsDaniel Moody, Norwegian University of Science and Technology (NTNU) and Monash University, dmoody@idi.ntnu.no
PC MemberNo
Contact personDaniel Moody, dmoody@idi.ntnu.no, Phone: +47 91897298
Main Fields1. Requirements Engineering
2. Design
19. Empirical Studies, Metrics
Abstract + KeywordsInformation Systems (IS) design research tends to emphasise the development of new methods (normative research), while addressing the evaluation of methods in only a limited fashion. A possible reason for this is the philosophical and methodological problems involved in validating methods (“knowledge how”) as opposed to theses (“knowledge that”). “Knowledge that” or propositional knowledge has been the major focus of scientific research, which is generally about establishing the truth of particular propositions (hypotheses). However an entirely different approach is required to validate methodological knowledge. The reason for this is that methods have no truth value, only pragmatic value: a method cannot be true or false, only effective or ineffective. This paper proposes a theoretical model and associated measurement instrument for evaluating IS design methods. The model is based on two previously unrelated areas of theory: the Technology Acceptance Model (TAM) from the IS success literature and Methodological Pragmatism from the philosophy of science. The resulting theoretical model combines two different but related dimensions of method “success”: actual effectiveness and adoption in practice. The model is applicable to all types of IS design methods as well as methods used in other domains. A laboratory experiment and a field experiment are conducted to test the model. The paper also presents some interesting findings about the use of undergraduate students in experimental studies.
Remarks

251 - TitleUsing Service-Oriented Architecture and Component-Based Development to Build Web Service Applications
AuthorsAlan Brown, Rational Software, abrown@rational.com
Simon Johnston, Rational Software, sjonsto@rational.com
PC MemberNo
Contact personAlan Brown, abrown@rational.com, Phone: 425-497-6163
Main Fields3. Software Architectures, Patterns, and Frameworks
9. Component and Interoperability Technologies
10. Interface Technologies
Abstract + KeywordsBuilding an enterprise-scale software system is a complex undertaking. Despite decades of technological advances, the demands imposed by today’s information systems frequently stretch to breaking point a company’s ability to design, construct, and evolve its mission-critical software solutions. In particular, few new systems are designed from the ground up. Rather, a software architect’s task is commonly that of extending the life of an existing solution by describing new business logic that manipulates an existing repository of data, presenting existing data and transactions through new channels such as an Internet browser or handheld devices, integrating previously disconnected systems supporting overlapping business activities, and so on.
To assist software developers, commercial software infrastructure products are now available from vendors such as Microsoft and IBM. They form the centerpiece of the approaches to software development they advocate in their .NET and WebSphere product lines, respectively. Both approaches focus on assembly of systems from distributed services. However, is there anything new about building enterprise-scale solutions from services? How do the lessons of component-based systems apply to construction of service-based architectures (SOA)? What are the best approaches for building high quality systems for deployment to this new generation of software infrastructure products? These important questions are the topic of this paper.
Remarks

252 - TitleDesigning Good Research Projects in Software Engineering and Getting Results Accepted for Publication
AuthorsMary Shaw, School of Computer Science, Carnegie Mellon University, mary.shaw@cs.cmu.edu
PC MemberNo
Contact personMary Shaw, mary.shaw@cs.cmu.edu, Phone: 412-268-2589
Other Main FieldsResearch methods in software engineering
Abstract + KeywordsSoftware engineering researchers solve problems of several different kinds. They produce several kinds of results, and they should develop appropriate evidence to validate their results. They often report their research in conference papers. I analyzed the abstracts of research papers submitted to ICSE 2002 to identify the types of research reported in the submitted and accepted papers, and I observed the program committee discussions about which papers to accept. This report presents the research paradigms of the papers, common concerns of the program committee, and statistics on success rates. This information should help researchers design better research projects and write papers that present their results to best advantage.
RemarksThis isn't properly a research result, but rather a report on the sorts of research approaches and papers that lead to good ICSE papers, based on the papers submitted to ICSE 2002. Nevertheless, I think it will be of interest to the software engineering research community, and this seems to be the best way to make it available to you.

253 - TitleEmpirical Validation Of A Method For Representing Large Data Models: An Action Research Programme
AuthorsDaniel Moody, Norwegian University of Science and Technology (NTNU) and Monash University, dmoody@idi.ntnu.no
PC MemberNo
Contact personDaniel Moody, dmoody@idi.ntnu.no, Phone: +47 91897298
Main Fields1. Requirements Engineering
19. Empirical Studies, Metrics
Abstract + KeywordsOne of the most serious theoretical and practical limitations of the Entity Relationship (ER) Model is its inability to cope with complexity. Once data models exceed a certain threshold size, they become difficult to understand, document and maintain. A number of approaches have been proposed in the literature to address this problem, but so far there has been little or no empirical validation of these methods. This paper describes an action research programme in which a method for representing large data models was tested in eight different organisations in eight different industries at both the application and enterprise levels. Action research was chosen as it provides a way of validating the method in a real world context using real practitioners. It also provides a way of overcoming the cultural divide between research and practice in IS design. The method evolved significantly as a result of experience in practice, and is now a stable and mature method, as evidenced by the lack of change to the method in the last three action research studies. The paper argues for more widespread use of action research in IS design research, and describes a way of conducting it in a way that is defensible to positivist critics.
Remarks

254 - TitleThe Software Concordance: Using a Uniform Document Model to Integrate Program Analysis and Hypermedia Program Analysis and Hypermedia Program Analysis and Hypermedia Program Analysis and Hypermedia
AuthorsSatish Gupta, University of Wisconsin-Milwaukee, scgupta@cs.uwm.edu
Tien Nguyen, University of Wisconsin-Milwaukee, tien@cs.uwm.edu
Ethan Munson, University of Wisconsin-Milwaukee, munson@cs.uwm.edu
PC MemberNo
Contact personEthan Munson, munson@cs.uwm.edu, Phone: 414-229-4438
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
10. Interface Technologies
11. Programming Language-Based Approaches to S/W Engineering
16. CASE Tools and Software Development Environments
Other Main FieldsDocument Engineering

Abstract + KeywordsThe Software Concordance is a prototype programming environment for experimenting with the benefits of enhanced hypermedia services for managing software documents, especially program source code. The Software Concordance's central tool is a program source editor that allows developers to embed multimedia documentation and hyperlinks in their source code, while still supporting advanced program analysis services, including lexing, parsing, and type checking.

This paper motivates the need for environments like the Software Concordance, describes the design and implementation of its program editor, and discusses lessons learned while creating it. The system is based on a uniform, Web compatible document model for both program source code and non-program software documents and a corresponding API. Important technical problems addressed by this research include creating a persistent representation of program lexemes that the analysis suite considers to be ephemeral (such as keywords), providing a simple incremental parsing system, and embedding multimedia in source code without disrupting program analysis. Based on insight gained in the process of implementing the document API, a new approach to the design of a more suitable program analysis infrastructure is suggested.
RemarksWe're crossing our fingers and hoping that you don't have printing/formatting problems. Let us know if you do.

255 - TitleAn Analysis of the Fault Correction Process in a Large-Scale SDL Production Model
AuthorsWayne Zage, Ball State University, wmz@cs.bsu.edu
Dolores Zage, Ball State University, dmz@cs.bsu.edu
PC MemberNo
Contact personWayne Zage, wmz@cs.bsu.edu, Phone: 765-285-8664
Main Fields19. Empirical Studies, Metrics
Abstract + KeywordsImprovements in the software development process depend on our ability to collect and analyze data drawn from various phases of the development life cycle. Our design metrics research team was presented with a large-scale SDL production model plus the accompanying problem reports that began in the requirements phase of development. The goal of this research was to identify and measure the occurrences of faults and the efficiency of their removal by development phase in order to target software development process improvement strategies. Through our analysis of the system data, the study confirms that catching faults in the phase of origin is an important goal. The faults that migrated to future phases are on average ten times more costly to repair. The study also confirms that upstream faults are the most critical faults and more importantly it identifies detailed design as the major contributor of faults, including critical faults. When the entire correction process is accounted for, this project follows the Pareto principle, or the 80/20 rule. However, when observing only downstream activities this ratio is much more extreme, approximating a 95/5 distribution.
KEYWORDS: Fault Detection, SDL, Metrics, Effort, Changes
Remarks

256 - TitleSoftware Evolution in the Classroom
AuthorsKal Toth, Oregon State University, ktoth@cs.orst.edu
PC MemberNo
Contact personKal Toth, ktoth@cs.orst.edu, Phone: 503-806-6735
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
16. CASE Tools and Software Development Environments
17. Software Process, Workflow, CSCW
Abstract + KeywordsSoftware engineering students at the undergraduate and graduate levels are typically given simple problems to solve. They rarely work on projects that involve evolving, verifying, integrating and releasing software components in a project setting. This paper describes a learning approach that addresses the challenge of providing students with real-world software development experience. Learners work in small teams to apply software engineering processes and tools to evolve the same tools they are using. This approach will provide students with realistic industry-oriented experience and increase the likelihood that they will practice sound software engineering once they join the workforce. The approach is being introduced into software engineering curricula at Oregon State University (OSU) and the Oregon Master of Software Engineering (OMSE) program. Tektronix Inc. has supported this effort by providing open source software engineering tools and by offering their expertise and advice to help assure the success of this project.

Keywords: Software Education, Software Evolution, Software Process
RemarksThank you for the opportunity to submit this paper.

257 - TitleOn the Economic Evaluation of XP Projects
AuthorsMatthias Mueller, Universit\"at Karlsruhe, muellerm@ira.uka.de
Frank Padberg, Universit\"at Karlsruhe, padberg@ira.uka.de
PC MemberNo
Contact personFrank Padberg, padberg@ira.uka.de, Phone: 00
Main Fields17. Software Process, Workflow, CSCW
18. Software Project Management and Cost Estimation
Other Main FieldsExtreme Programming
Agile Methods
Evaluation of Process Paradigms
Abstract + KeywordsWe use the concept of net present value to study for which project settings
Extreme Programming yields an economic advantage over conventional
development. The key question is whether XP's increased personnel cost,
which is caused by pair programming, is balanced by a shorter time to market.
Our study indicates that when the project is small scale and time to market
is the decisive factor, Extreme Programming can be the right paradigm to
choose.
Remarks

258 - TitleAlgorithm Prototyping and the Nickle Programming Environment
AuthorsBart Massey, Computer Science Department, Portland State University, bart@cs.pdx.edu
PC MemberNo
Contact personBart Massey, bart@cs.pdx.edu, Phone: 01 503 725 5393
Main Fields2. Design
11. Programming Language-Based Approaches to S/W Engineering
16. CASE Tools and Software Development Environments
Abstract + KeywordsAlgorithms are rarely produced by a process of pure
mathematical reasoning. In practice, the specification and
design of new algorithms is almost always accompanied by
some sort of Algorithm Prototyping (AP) process, in which
alternatives are explored and evaluated. The discardable
algorithm prototype is then used as the basis of product
implementation, and often as an effective oracle to test
that implementation. The AP process has long been a feature
of real-world software development, distinct from
prototyping activities such as user-interface prototyping
and rapid application development that have received more
attention in the software engineering community.

The Nickle language-based prototyping environment is a long
term project having as one of its principal goals support
for easy and effective AP. Nickle has been used to
prototype a wide range of numeric and semi-numeric
algorithms, with good success.

In this paper, the prerequisites for AP are explored. The
Nickle prototyping environment is evaluated as a tool for AP,
with several examples of its use in this mode. Finally,
suggestions are made as to the direction of future
improvements in this area.
RemarksLinux + Mozilla 1.0.1 --- hope the submission works.

259 - TitleTool Support for Adaptable Software Architecture Generation
AuthorsNary Subramanian, Anritsu Company, Richardson, TX., narayanan.subramanian@anritsu.com
Lawrence Chung, University of Texas at Dallas, Richardson, TX., chung@utdallas.edu
PC MemberNo
Contact personNary Subramanian, narayanan.subramanian@anritsu.com, Phone: 469-330-3333
Main Fields1. Requirements Engineering
2. Design
3. Software Architectures, Patterns, and Frameworks
16. CASE Tools and Software Development Environments
Abstract + KeywordsAdaptability is emerging as an important NFR (Non-Functional Requirement) for software systems. Briefly stated, adaptability is the ability of software systems to adjust to changing requirements. It is believed that NFRs such as adaptability have to be engineered into the software design right from the beginning, i.e., at the architecture development phase itself. However, the process of developing adaptable architectures remains more-or-less ad-hoc. It would benefit the software engineering community greatly if this process could be rationalized. In this paper we present a tool called the Adaptable Software Architecture Assistant (or ASAA) that helps to generate adaptable software architectures. The tool is based on the principles of the NFR Approach. The use of this tool will help the software development organization by implicitly instituting a process for generating adaptable software architectures. The principles behind ASAA, the tool description, the use of ASAA to generate adaptable architectures in three different domains, and validation of the generated architectures are described in this paper.

Key Words: Adaptability, Software Architecture, Non-Functional Requirements, Tool
Remarks

260 - TitleCharacterizing the `Vulnerability Likelihood' of Software Components
AuthorsDan DaCosta, Drexel University, dwd22@drexel.edu
Christopher Dahn, Drexel University, ucdahn@mcs.drexel.edu
Spiros Mancoridis, Drexel University, smancori@mcs.drexel.edu
Vassilis Prevelakis, Drexel University, vp@drexel.edu
PC MemberNo
Contact personDan DaCosta, dwd22@drexel.edu, Phone: 215.895.0203
Main Fields4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
14. Safety and Security
19. Empirical Studies, Metrics
Abstract + KeywordsSoftware developers and auditors would benefit from a tool to help them focus their attention on components that are likely to be the source of security vulnerabilities. However, the existence of such a tool is predicated on the ability to characterize a component's `vulnerability likelihood.'

Our hypothesis is that a software component that is close to a source
of external input is more likely to be vulnerable from a security
standpoint. We performed an extensive experiment involving thirty nine
open source systems to validate our hypothesis. This paper describes the experiment, its outcome, and the tools used to conduct it. It also describes the FLC Finder, which is a tool that was developed using knowledge gathered from the outcome of the experiment. This tool automates the detection of high risk code. To demonstrate the effectiveness of the FLC Finder, a case study was performed on the OpenSSH secure shell daemon software.
Remarks

261 - TitleRequirements for User Centered Security
AuthorsKal Toth, Oregon State University, ktoth@cs.orst.edu
Mahesh Subramanium, Oregon State University, subramma@cs.orst.edu
PC MemberNo
Contact personKal Toth, ktoth@cs.orst.edu, Phone: 503-806-6735
Main Fields1. Requirements Engineering
14. Safety and Security
Abstract + KeywordsThis paper introduces a concept and strategy aimed at better serving the authentication and privacy needs of the user. Currently, private and personal consumer data is scattered across the landscape stored in government, company and web service provider databases and applications. The persona concept proposed herein aims at offering better control over the web user’s identity, authentication data, credentials, electronic wallet contents and other personal information. This paper presents the requirements for such a user-centered model. The persona approach is contrasted with the single sign-on strategies of MS Passport and Liberty Alliance and explores how existing and emerging technologies like PKI, PGP, SOAP, WSDL and SAML might be applied or adapted to implement the persona concept.

Keywords: Computer Security, Privacy, Authentication, Requirements
RemarksThank you for this opportunity to submit our paper.

262 - TitleEnabling Validation of UML Formalizations
AuthorsBetty Cheng, Michigan State University, chengb@cse.msu.edu
Laura Campbell, Michigan State University, campb222@cse.msu.edu
Min Deng, Michigan State University, dengmin1@cse.msu.edu
Kurt Stirewalt, Michigan State University, stire@cse.msu.edu
PC MemberYes
Contact personKurt Stirewalt, stire@cse.msu.edu, Phone: (517)-355-2359
Main Fields4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
15. Formal Methods
Abstract + KeywordsRecently, there has been
growing interest in defining formal semantics for UML diagrams,
where formalization has largely meant associating formal
specifications with the various elements of a UML diagram.
It is becoming increasingly clear that different domains demand different
semantic interpretations for UML diagrams.
With the large number of proposed formalizations, there is increasing
need by potential users of the formalizations, as well as tool builders,
to be able to validate the formalizations.
That is, for each individual
UML feature, it should be possible
to assess that the target-language elements that formalize this feature
correctly capture the intended meaning of the feature in the
given domain.
This paper presents an approach to formalization that
lends itself to validation due to the compositional nature
of the formalization definitions.
We demonstrate this approach on two independent formalizations,
one of which was developed by another group.
RemarksReferences caused us to go over the 10-page limit by
just a few lines.

263 - TitleEvaluating the Quality of Information Models: Empirical Testing of a Conceptual Model Quality Framework
AuthorsDaniel Moody, Norwegian University of Science and Technology (NTNU) and Monash University, dmoody@idi.ntnu.no
Guttorm Sindre, Department of Computer and Information Science, Norwegian University of Science and Technology (NTNU), guttors@idi.ntnu.no
Terje Brasethvik, Department of Computer and Information Science, Norwegian University of Science and Technology (NTNU), brase@idi.ntnu.no
Arne Arne Sølvberg, Department of Computer and Information Science, Norwegian University of Science and Technology (NTNU), asolvber@idi.ntnu.no
PC MemberNo
Contact personDaniel Moody, dmoody@idi.ntnu.no, Phone: +47 91897298
Main Fields1. Requirements Engineering
13. Reliability, Quality Assurance
19. Empirical Studies, Metrics
Abstract + KeywordsThis paper conducts an empirical analysis of the effectiveness of a quality framework for evaluating the quality of information models. 194 participants were trained in the concepts of the quality framework, and then used it to evaluate models represented using an extended ER language. A randomised, double-blind design was used, in which each participant independently reviewed multiple different models and each model was evaluated by multiple reviewers (average of three reviewers per model). A combination of quantitative and qualitative analysis techniques were used to evaluate the results, including reliability analysis, validity analysis, weight estimation, interaction analysis, defect pattern analysis and task accuracy analysis. Finally, an analysis was conducted of the framework’s perceived ease of use, usefulness and likelihood of adoption in practice. The study provides strong support for the validity of the framework and suggests that it is likely to be adopted in practice, but raises questions about its reliability and the ability of participants to use the framework to identify defects. The research findings provide clear directions for further refinement of the framework. The research methodology used provides a general approach to empirical validation and improvement of quality frameworks.
Remarks

264 - TitleSubdomain Analysis for Probabilistic Correctness
AuthorsDave Mason, Ryerson University, dmason@sarg.ryerson.ca
Joanne Atlee, University of Waterloo, jmatlee@uwaterloo.ca
PC MemberNo
Contact personDave Mason, dmason@sarg.ryerson.ca, Phone: 416-979-5063
Main Fields9. Component and Interoperability Technologies
13. Reliability, Quality Assurance
Abstract + KeywordsOne of the impediments to using composition of component reliabilities to determine system reliability is the extreme dependence of a component's reliability on the operational profile that the component will encounter in each particular system.
This paper describes how to generate, from an analysis of the component and its specification, a function that can be applied to a statistical description of any operational profile which the component may encounter and which will return a reliability figure for the component in that particular context.
This function is independent of any particular operational profile.
In order to produce this function, we introduce the idea of fault blocks and fault paths and use them to create a statistically valid sampling of input sub-domains.
Remarks

265 - TitleA Role-Based Approach to Testing Object-Oriented Software
AuthorsMoritz Schnizler, Software Construction Group, Informatik III, University of Aachen, moritz@informatik.rwth-aachen.de
Horst Lichter, Software Construction Group, Informatik III, University of Aachen, lichter@informatik.rwth-aachen.de
PC MemberNo
Contact personMoritz Schnizler, moritz@informatik.rwth-aachen.de, Phone: +49-241-8021340
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
Abstract + KeywordsAlthough object-orientation today is widespread, testing object-oriented applications still causes problems.
We claim that the shift of complexity from methods into the interaction of objects at runtime, and the insufficient
consideration of this fact by current approaches to testing object-oriented software are main reasons for these
problems. We present a novel approach to testing object-oriented software that focuses instead on testing object
collaborations that are specified by role models. A role model permits to isolate a collaboration from the
application context and to specify it independent of an implementation. Test cases that are derived from it are
then reusable for different implementations of the same collaboration and can be implemented for efficient
regression testing. The effectiveness of the approach is demonstrated with an example from the JHotDraw
framework.
RemarksThe submitted PDF version is the best we could make. Actually we used the provided Word template exactly keeping the given margins, but PDF
conversion seems to make them always smaller. However, the result is consistent with the provided instruct.pdf, so we hope that is no real problem for the review process.

266 - TitleModel Checking Publish-Subscribe Systems
AuthorsDavid Garlan, Carnegie Mellon University, garlan@cs.cmu.edu
Serge Kersonsky, Carnegie Mellon University, kersonsky@cs.cmu.edu
Jung Soo Kim, Carnegie Mellon University, jungsoo@cmu.edu
PC MemberNo
Contact personDavid Garlan, garlan@cs.cmu.edu, Phone: 412 268-5056
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
6. Reuse
15. Formal Methods
Abstract + KeywordsWhile publish-subscribe systems have good engineering properties, they are difficult to reason about and to test. Model checking such systems is an attractive alternative. However, in practice coming up with an appropriate state model for a pub-sub system can be a difficult and error-prone task. In this paper we address this problem by describing a generic pub-sub model checking framework. The key feature of this framework is a reusable, parameterized state machine model that captures pub-sub run-time event management and dispatch policy. Generation of models for specific pub-sub systems is then handled by a translation tool that accepts as input a set of pub-sub component descriptions together with a set of pub-sub properties, and maps them into the framework where they can be checked using off-the-shelf model checking tools.
Remarks

267 - TitleTaking Alloy to the Movies
AuthorsMarcelo Frias, Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires, mfrias@dc.uba.ar
Carlos Gustavo Lopez Pombo, Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires, clpombo@dc.uba.ar
Gabriel Baum, LIFIA, Facultad de Informática, Universidad Nacional de la Plata, gbaum@sol.info.unlp.edu.ar
Nazareno Aguirre, Department of Computer Science, Kings College, University of London, aguirre@dcs.kcl.ac.uk
Thomas Maibaum, Department of Computer Science, Kings College, University of London, tom@dcs.kcl.ac.uk
PC MemberNo
Contact personMarcelo Frias, mfrias@dc.uba.ar, Phone: (+54)-11-4576-3390/6 (ext. 713)
Main Fields4. Testing, Analysis, and Verification
15. Formal Methods
Abstract + KeywordsWe present a modified semantics and an extension for the Alloy
specification language. We show that the modified semantics allows
us to avoid the higher-order quantification currently used in
Alloy, keeping the language first-order. Also, the extended
language, which includes features from dynamic logic, enables a
cleaner treatment of properties of executions. Finally, we present
a calculus for the extended language that is complete with respect
to the extended semantics. This allows us to complement the model
checking provided in Alloy with theorem proving.
Remarks

268 - TitleSlicing of State-Based Models
AuthorsBogdan Korel, Illinois Institute of Technology, korel@iit.edu
Luay Tahat, Lucent Technologies, ltahat@lucent.com
Inderdeep Singh, Illinois Institute of Technology, singind1@iit.edu
Boris Vaysburg, Illinois Institute of Technology, vaysbor@iit.edu
PC MemberNo
Contact personBoris Vaysburg, vaysbor@iit.edu, Phone: (847) 969-8150 x4524
Main Fields1. Requirements Engineering
4. Testing, Analysis, and Verification
5. Maintenance, Evolution, Re-/Reverse Engineering
7. Software Understanding
13. Reliability, Quality Assurance
Abstract + KeywordsSystem modeling is a widely used technique to model state-based systems. Several state-based languages are used to model such systems, e.g., EFSM, SDL. Although state-based modeling is very useful, system models are frequently large and complex and are hard to understand and modify. Slicing is a well-known reduction technique. Most of the research on slicing is code-based. There is a limited research on specification-based slicing and model-based slicing. In this paper, we present a novel approach of slicing EFSM models. Our approach automatically identifies the parts of the model that affect an element of interest using EFSM dependence analysis. Slice reduction techniques are then used to minimize the size of the EFSM slice. Our initial experience with the presented EFSM slicing approach showed that significant reduction of EFSM models could be achieved.
Remarks

269 - TitleVienna Component Framework: Enabling Composition Across Component Models
AuthorsJohann Oberleitner, Technische Universität Wien, Institut für Informationssysteme, joe@infosys.tuwien.ac.at
Thomas Gschwind, Technische Universität Wien, Institut für Informationssysteme, tom@infosys.tuwien.ac.at
Mehdi Jazayeri, Technische Universität Wien, Institut für Informationssysteme, jazayeri@infosys.tuwien.ac.at
PC MemberNo
Contact personJohann Oberleitner, joe@infosys.tuwien.ac.at, Phone: +43 (1) 58801 58400
Main Fields3. Software Architectures, Patterns, and Frameworks
9. Component and Interoperability Technologies
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsComponent-based software engineering promotes a style of application construction based on composing pre-built and pre-validated components. Different component models have been proposed and standardized for creating such composable components. Each component model is independent of the others, however, and does not support composition with the other models. We present the Vienna Component Framework (VCF) whose goal is to support the interoperability and composability of components from different component models. The VCF
presents a unified component model - implemented by a facade component - to the application programmer. The model supports common component features, namely, methods, properties, and events. To support a component model within the VCF, a plugin component is needed that contains the meta-information about the component model. The meta-information is used by the fa\c{c}ade component to provide
access to components. The programmer may write new components by
composing components from different component models, accessed through the VCF.

We present the Vienna Component Frameworks design, implementation issues, and evaluation. We present the issues to be considered when implementing a plugin for representing a new component model in the VCF. To evaluate the generality of the VCF, we have implemented plugins for COM, Enterprise JavaBeans, CORBA distributed objects, and JavaBeans. Performance measurements show that the overhead of accessing component through the VCF is negligible for distributed components. This implies that the programmer may select the appropriate components from any available component model without concern for the performance overhead of inter-model composition.

keywords: component, composition, component model, interoperability
Remarks

270 - TitleScalability issues of COTS EJB technology : an empirical study
AuthorsYan Liu, Postgraduate student, School of information technologies, Unversity of Sydney, Australia, jennyliu@it.usyd.edu.au
PC MemberNo
Contact personYan Liu, jennyliu@it.usyd.edu.au, Phone: +61 02 9351 4623
Main Fields19. Empirical Studies, Metrics
Abstract + KeywordsEnterprise Java Bean (EJB) is the core technology of J2EE platform to provide the foundation for scalable enterprise applications. It is the most complex computational tier to provide applications infrastructure components and the off-the-shelf service, such as transaction, security, clustering, resource management etc. Consequently it becomes the limiting factor in performance of the multi-tier application. Therefore it is essential for developers to understand the performance and scalability issues of COTS EJB technologies so that the system can meet the performance requirements. In this paper, we investigate the scalability issues of COTS EJB technology. We focus on three EJB architectures, namely stateless session bean, stateful session bean and session bean as façade of entity bean. An EJB architecture and its behavior directly correlate to the scaling strategies such as thread tuning, multi-server clustering, load balancing and cache behavior of an EJB container. Our empirical results demonstrate that the architecture implementation can have a great impact on the performance and scalability of an EJB based application. Some of the observation confirms intuition. Others are counter-intuitive and therefore are most useful for system design and implementation. Insights into the system behavior that highlight the performance bottleneck are also presented. We conclude that benchmarking representative operations of real application, observing the actual behavior of the EJB container and utilizing sensible scaling strategies are likely to lead to a significantly better outcome.

Keywords: scalability, performance, EJB, measurement, empirical study
Remarks

271 - TitleCadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems
AuthorsJohn Hatcliff, Kansas State University, hatcliff@cis.ksu.edu
William Deng, Kansas State University, deng@cis.ksu.edu
Matthew Dwyer, Kansas State University, dwyer@cis.ksu.edu
Georg Jung, Kansas State University, jung@cis.ksu.edu
Venkatesh Ranganath, Kansas State University, rvprasad@cis.ksu.edu
PC MemberYes
Contact personMatthew Dwyer, dwyer@cis.ksu.edu, Phone: 7855326350
Main Fields2. Design
4. Testing, Analysis, and Verification
7. Software Understanding
9. Component and Interoperability Technologies
15. Formal Methods
16. CASE Tools and Software Development Environments
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsThe use of component models such as Enterprise Java Beans and the CORBA
Component Model (CCM) in application development
is expanding rapidly. Even in real-time
safety/mission-critical domains, component-based development is
beginning to take hold as a mechanism for incorporating non-functional
aspects such as real-time, quality-of-service, and distribution.
To form an effective basis for development of such systems, we believe that
support for reasoning about correctness properties of component-based
designs is essential.

In this paper, we present Cadena -- an integrated environment for
building and modeling CCM systems. Cadena provides facilities for
defining component types using CCM IDL, specifying dependency
information and transition system semantics for these types,
assembling systems from CCM components, visualizing various dependence
relationships between components, specifying and verifying correctness
properties of models of CCM systems derived from CCM IDL, component
assembly information, and Cadena specifications, and producing CORBA
stubs and skeletons implemented in Java. We are applying Cadena to
avionics applications built using Boeing's Bold Stroke framework.
Remarks

272 - TitleAn Object-Oriented Framework for Modeling and Analysis of Security Protocols
AuthorsDavid Kung, Univ. Texas at Arlington, kung@homer.uta.edu
Yu Lei, Univ. Texas at Arlington, ylei@cse.uta.edu
Parikshit Singh, Univ. Texas Arlington, Parikshit_Singh@yahoo.com
Qizhi Ye, Univ. Texas Arlington, yeqizhi@hotmail.com
PC MemberNo
Contact personDavid Kung, kung@homer.uta.edu, Phone: 817-272-3785
Main Fields2. Design
4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
14. Safety and Security
16. CASE Tools and Software Development Environments
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsMore and more companies and individuals are conducting business on-line. Since the Internet is an open environment, security of Internet transactions has always been a major concern. Malicious attacks from unknown sources happen everyday. To protect networked systems, security protocols have been proposed. Many were found flawed by applications of formal methods. To facilitate application engineers in the modeling and analysis of security protocols, we propose a set of predefined, abstract UML classifiers for security protocols specification. A security protocol is described by a UML sequence diagram using the proposed classifiers. The model can be translated into the representation of a formal method for verification. In addition, an intelligent intruder, which is capable of deriving attack rules and planning an attack, is described. In this approach, the application engineer does not need to know the syntax of a formal language and a formal method. The sequence diagram is an integral part of the application’s design and hence no additional translation is needed. The approach also facilitates re-use of the security protocol’s design and implementation.
Remarks

273 - TitleTowards A Library for Process Programming
AuthorsGuangxin(Gavin) Yang, Bell-Labs Research, Lucent Technologies, gxyang@research.bell-labs.com
PC MemberNo
Contact personGuangxin(Gavin) Yang, gxyang@research.bell-labs.com, Phone: 1-908-582-7830
Main Fields6. Reuse
11. Programming Language-Based Approaches to S/W Engineering
17. Software Process, Workflow, CSCW
Abstract + KeywordsProcess programming is regarded as a critical approach in many cooperative process related areas, e.g. software engineering, workflow management, and business management. Many process models, languages, and corresponding runtime support systems have been developed. We argue that a comprehensive library for process programming is essential for the acceptance, popularity, and success of this new programming paradigm. We define in this paper the general requirements and critical elements of such a library and present an implementation in the context of P, a novel process langauge and system for developing integrated cooperation applications. A series of P programs tackling the ISPW benchmark problem is developed and enacted to validate our ideas and to demonstrate the capabilities of our solutions.
Remarks

274 - TitleModels of Thumb: Assuring Best Practice Source Code in Large Java Software Systems
AuthorsTimothy Halloran, Carnegie Mellon University, thallora@cs.cmu.edu
William Scherlis, Carnegie Mellon University, wls@cs.cmu.edu
PC MemberNo
Contact personTimothy Halloran, thallora@cs.cmu.edu, Phone: (412) 268-8187
Main Fields13. Reliability, Quality Assurance
19. Empirical Studies, Metrics
Abstract + KeywordsWe explore a scalable programmer-in-the-loop approach to improving
Java source code quality, which focuses on "routine" code quality
concerns. We specifically explore overspecific variable
declarations, for which we introduce a novel analysis, and ignored
exceptions (for which the analysis is straightforward).

In order to assess feasibilty of our approach, we have developed
several style checkers for Java programs and applied them to a 2MLOC
corpus of deployed production code. Our analysis of the corpus
indicates that fully 20% of Java exceptions are ignored and 60% of
those lack an explanatory comment. In addition, 4% of all variable
declarations overspecify the variable type (i.e., fail to abstract
to an appropriate level of the inheritance hierarchy).

We consider issues of adoptability and the user experience. For
example, we introduce an annotation scheme for documenting
programmer intent with respect to violation of these style rules.
We also describe a capability in our prototype tool to offer repairs
to the programmer when quality issues are raised. This is a factor
in the design of the analyses.

We call the overall approach "models of thumb" because it
is designed to assist in identifying and addressing code quality
criteria usually expressed in the literature as informal rules of
thumb. A "model of thumb" includes a precise characterization of
the particular quality attribute, scalable analyses for compliance,
and rules for suggesting repairs to violation.
Remarks

275 - TitleApplying the Decorator Pattern for Non-Intrusive Profiling of Object-Oriented Software
AuthorsEdward Duffy, Clemson University, eduffy@cs.clemson.edu
Paul Gibson, NUI Maynooth, pgibson@cs.may.ie
Brian Malloy, Clemson University, malloy@cs.clemson.edu
PC MemberNo
Contact personBrian Malloy, malloy@cs.clemson.edu, Phone: (864) 656-0808
Main Fields2. Design
4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
Abstract + KeywordsA profiler can provide valuable information to
a developer to facilitate program optimization,
debugging or testing. In this paper, we describe
the use of the Decorator pattern for non-intrusive
profiling of object-oriented applications. We provide
a formal specification of the Decorator pattern,
and show that the pattern can be used as a program
transformation without altering the external, observable
behavior of the system. We refer to such a transformation
as a correctness preserving transformation, or CPT.
As a CPT, the Decorator pattern can be used to non-intrusively
profile object-oriented applications and we illustrate
this application with an invariant validator, for enforcement of
Design by Contract, and for profiling memory.
We provide a case study to compare the cost tradeoffs
of validating invariants at different points in a program.
Remarks

276 - TitleThe Deployer's Problem: Configuring Application Servers for Performance and Reliability
AuthorsMukund Raghavachari, IBM T.J Watson Research Center, mrm@watson.ibm.com
Darrell Reimer, IBM T.J Watson Research Center, dreimer@us.ibm.com
Robert Johnson, IBM T.J Watson Research Center, rdjohnson@us.ibm.com
PC MemberNo
Contact personMukund Raghavachari, mrm@watson.ibm.com, Phone: 914-784-7581
Main Fields19. Empirical Studies, Metrics
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsFrameworks such as J2EE have been designed to simplify the process of
developing enterprise applications by handling much of the complexity
of concurrency, transaction, and persistence management. An
application server that supports such a framework implements these
concerns, freeing the application developer to focus on the task of
implementing the business logic aspect of the application. In such
frameworks, the deployer, the individual(s) who configures the
application server to manage concurrency, transaction and persistence
correctly and efficiently, plays a central role. A deployer has few
tools to assist with performing this complicated task. Incorrect
configuration can lead to application failure or severe
underperformance. In this paper, we outline the problems facing the
deployer of applications, present a methodology that can assist the
programmer with the task of configuring application servers, and
present two case studies that validate the usefulness of our
methodology.
Remarks

277 - TitleProtoMol, an object-oriented framework for prototyping novel applications of molecular dynamics
AuthorsThierry Matthey, Department of Informatics, University of Bergen, Norway, matthey@ii.uib.no
Alice Ko, Department of Computer Science and Engineering, University of Notre Dame, Notre Dame, IN, ako@cse.nd.edu
Jesus Izaguirre, Department of Computer Science and Engineering, University of Notre Dame, Notre Dame, IN, izaguirr@cse.nd.edu
PC MemberNo
Contact personJesus Izaguirre, izaguirr@cse.nd.edu, Phone: 5746317454
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
8. Object-Oriented Technologies
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsSoftware framework for molecular dynamics
Abstract + KeywordsThis paper describes the design and evaluation of ProtoMol, a high
performance object-oriented software framework for molecular dynamics
(MD). The main objective of the framework is to provide an efficient
implementation that is extensible and allows the prototyping of novel
algorithms. This is achieved through a combination of generic and
object-oriented programming techniques and a domain specific
language. The program reuses design patterns without sacrificing
performance. Two patterns for scientific computing are identified and
implemented in this work, namely, Strategy Chain and
Multigrid. Parallelization is allowed in an
incremental fashion. To show the flexibility of the design, several
novel multiple time stepping integrators and fast electrostatics
(n-body) methods have been implemented and tested in
ProtoMol. In particular, we show that an O(N) multigrid method for
the n-body problem is faster than PME for N>10,000. Performance
evaluation of a sequential version of \ProtoMol\ shows the program to
be as efficient as NAMD 2, a state-of-the-art program for MD. Binaries
and source code are available free of charge at
http://www.nd.edu/~lcls/protomol.
Remarks

278 - TitleDistilling Software Architectural Primitives from Architectural Styles
AuthorsNikunj Mehta, Computer Science Department, University of Southern California, mehta@usc.edu
Nenad Medvidovic, Computer Science Department, University of Southern California, neno@usc.edu
PC MemberNo
Contact personNikunj Mehta, mehta@usc.edu, Phone: +1 310 867 3861
Main Fields3. Software Architectures, Patterns, and Frameworks
6. Reuse
15. Formal Methods
Abstract + KeywordsArchitectural styles codify commonly used idioms in system structures, organizations, and interactions. Existing classifications of architectural styles provide empirical guidelines for style selection, but fail to systematically characterize styles or reveal their foundations. Moreover, the mapping between architectural styles and their implementations is generally poorly understood. This paper introduces an approach towards a systematic understanding of architectural styles based on a small set of recurring architectural primitives. Also proposed is an extensible composition framework for architectural styles based on these primitives, which is, in turn, used as the basis of style implementation. This framework, called Alfa, has been applied successfully to four different architectural styles to date. Lightweight compositional models of the styles have been created using the Alloy formal modeling notation, whereas implementation infrastructures for these styles have been developed in Java. While it would be premature to claim that Alfa is sufficiently expressive to represent any arbitrary architectural style, our experience to date suggests that we have converged on a set of primitives that effectively captures the characteristics of a large number of styles. As such, we feel that Alfa already presents a unique contribution and is worthy of careful further study.
Remarks

279 - TitleA Formal Framework for Specification, Refinement, and Synthesis of Distributed Systems using MSCs
AuthorsIngolf Heiko Krueger, Department of Computer Science & Engineering, UCSD, ikrueger@ucsd.edu
PC MemberNo
Contact personIngolf Heiko Krueger, ikrueger@ucsd.edu, Phone: +1 (858) 822-5116
Main Fields1. Requirements Engineering
2. Design
7. Software Understanding
9. Component and Interoperability Technologies
13. Reliability, Quality Assurance
15. Formal Methods
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsScenarios
State-Machine Synthesis
Abstract + KeywordsMessage Sequence Charts (MSCs) and related notations have proven useful for illustrative representation of component interaction within distributed systems. In view of the current trend towards web services and service-oriented system design in general, a precise understanding of, and powerful modeling techniques for component interactions are essential. Here, we present a comprehensive, yet concise formal framework for defining MSC semantics, integrating interaction- and state-oriented specifications. Based on this semantic framework we define effective refinement notions yielding systematic development steps for MSCs. We also provide a synthesis algorithm for deriving state models from MSCs, and relate the resulting automata to the formal framework. As a result, we obtain a seamless, semantically founded transition from MSCs capturing interaction scenarios to state-oriented component implementations.

Keywords: Message Sequence Charts, Scenarios, UML, Formal Methods, Semantics, Refinement, Component Synthesis, Automated Software Engineering, Reactive Systems
Remarks

280 - TitleDADO: Enhancing Middleware to support cross-cutting features in distributed, heterogeneous systems
AuthorsEric Wohlstadter, UC Davis, wohlstad@cs.ucdavis.edu
Stoney Jackson, UC Davis, jacksoni@cs.ucdavis.edu
Premkumar Devanbu, UC Davis, devanbu@cs.ucdavis.edu
PC MemberYes
Contact personPremkumar Devanbu, devanbu@cs.ucdavis.edu, Phone: +1 530 752 7324
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
6. Reuse
8. Object-Oriented Technologies
9. Component and Interoperability Technologies
Abstract + KeywordsSome ``non-' or ``extra-functional''
features, such as reliability, security,
and tracing, defy
modularization mechanisms
in programming languages. This
makes such features hard to design, implement, and maintain.
Implementing such features within a single platform,
using a single language, is hard enough. With distributed, heterogeneous (DHT)
systems, these features induce complex implementations which
cross-cut different languages, OSs, and hardware platforms, while still
needing to share data and events.
Worse still, the
precise requirements for such features are often locality-dependent and
discovered late (e.g., security policies).
The DADO (DADO: Distributed Adaplets for Distributed Objects.
We also note that a ``dado'' is a carpenter's tool for making cuts across the
grain.) approach
helps program cross-cutting features by improving
DHT middleware. A DADO {\em service} comprises
pairs of {\em adaplets} which are explicitly modeled in
IDL.
Adaplets may be implemented in any language compatible with the target application,
and attached to stubs and skeletons of application objects in a
variety of ways.
DADO supports
flexible and type-checked interactions (using generated stubs
and skeletons)
between adaplets and
between adaplets and objects.
Adaplets can be attached at
run-time to an application object.
We describe
the approach and illustrate its use for several cross-cutting features, including
performance monitoring, cacheing, and security. We also discuss
software engineering process, as well as run-time performance implications.


Keywords: distributed heterogeneous middleware evolution cross-cutting
Remarks

281 - TitleInterface-Based Modular Specification and Verification of Concurrent Components
AuthorsAysu Betin-Can, University of California, Santa Barbara, aysu@cs.ucsb.edu
Tuba Yavuz-Kahveci, University of California, Santa Barbara, tuba@cs.ucsb.edu
Tevfik Bultan, University of California, Santa Barbara, bultan@cs.ucsb.edu
PC MemberNo
Contact personAysu Betin-Can, aysu@cs.ucsb.edu, Phone: 1-805-893-5731
Main Fields4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
13. Reliability, Quality Assurance
15. Formal Methods
Other Main FieldsModel checking
concurrency
modular verification
Java monitors
Abstract + KeywordsWe present a modular approach to specification and verification
of concurrent components by
decoupling the behavior and the interface specifications.
The behavior specification is a set of methods
containing guarded commands.
The interface specification is a finite state machine whose transitions
represent method calls.
We show that concurrent components
can be designed modularly by composing their interfaces.
We separate the verification of concurrent components (i.e., the servers)
from the verification of threads which use them (i.e., the clients).
On the server side we use infinite state verification techniques which
enables us to verify a component with parameterized
constants or arbitrary number of threads.
On the client side we use finite state program verification tools which
enables us to verify arbitrary Java threads without any restrictions.
The correctness of user threads can be verified using stubs generated
from the component interfaces
instead of the components themselves which improves the efficiency of
thread verification significantly.
Remarks

282 - TitleAn Empirical Study of an Informal Knowledge Repository in a Medium-Sized Software Consulting Company
AuthorsTorgeir Dingsøyr, SINTEF Telecom and Informatics, torgeir.dingsoyr@sintef.no
Emil Røyrvik, SINTEF Industrial Management, emil.royrvik@sintef.no
PC MemberNo
Contact personTorgeir Dingsøyr, torgeir.dingsoyr@sintef.no, Phone: +47 73 59 29 79
Main Fields17. Software Process, Workflow, CSCW
19. Empirical Studies, Metrics
Other Main Fieldsknowledge management
experience factory
Abstract + KeywordsNumerous studies have been conducted on design and architecture of knowledge repositories. This paper address the need for looking at practices where knowledge repositories are actually used concrete work situation. This insight should be used when developing knowledge repositories in the future.
Through methods inspired by ethnography the paper investigates how an unstructured knowledge repository is used for different purposes by software developers and managers in a medium-sized software consulting company. The repository is a part of the company’s knowledge management tool suite on the Intranet. We found five distinct usages of the tool, from solving specific technical problems to getting an overview of competence in the company. We highlight the importance of informal organisation and the social integration of the tool in the daily work practices of the company.
Remarks

283 - TitleSecurity Patterns: A Method for Constructing Secure and Efficient Inter-Company Coordination Systems
AuthorsNobukazu Yoshioka, National Institute of Informatics, nobukazu@nii.ac.jp
Shinichi Honiden, National Instituite of Informatics, honiden@nii.ac.jp
Anthony Finkelstein, University College London, a.finkelstein@cs.ucl.ac.uk
PC MemberYes
Contact personNobukazu Yoshioka, nobukazu@nii.ac.jp, Phone: +81-3-4212-2570
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
8. Object-Oriented Technologies
9. Component and Interoperability Technologies
14. Safety and Security
15. Formal Methods
17. Software Process, Workflow, CSCW
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + Keywords As the Internet, intranets and other wide-area open networks grow,
novel techniques for building distributed systems, notably mobile
agents, are attracting increasing attention. This is particularly the case for inter-company system coordination applications. A key difficulty in constructing such systems is to meet the security requirements while at the same time respecting the requirements for an efficient implementation. In this paper, we propose a method that addresses this problem and show an application of the method to a real implemented system, the Environmentally Conscious Product (ECP) design support system. Our approach enables developers to specify several candidate system behaviors that satisfy the security requirements. We use patterns for this purpose. Patterns are abstract templates of system behavior fragments. The patterns include agent migrations, communications between applications and security procedures. We model the performance data associated with each pattern. Developers can then select an efficient implementation using this model to compare the performance data of the candidates. We evaluate our approach with a significant real-world example, the ECP design support system that essentially requires inter-company system coordination.

Keywords
Patterns, Security, Development Method, Mobile Agents, Security Policy
Remarks

284 - TitleModeling and Enactment of Coordinated Interaction Patterns
AuthorsPeter Manhart, DaimlerChrysler AG, Peter.Manhart@daimlerchrysler.COM
PC MemberNo
Contact personPeter Manhart, Peter.Manhart@daimlerchrysler.COM, Phone: (+49)-731-505-2168
Main Fields17. Software Process, Workflow, CSCW
Abstract + KeywordsWe describe a system architecture and development methodology that aim at enhancing legacy IT systems by means of coordinated interaction forms. The goals of the approach are to provide increased usability while lowering the entry barrier of engineering complex interaction forms by combining (1) a message-oriented middleware, (2) a flexible client structure that provides an initial set of interaction components, (3) an interaction server that provides an initial set of interaction forms, and (4) a design methodology that exploits the advantages of the architecture to support easy and flexible extension and rapid deployment of coordinated interaction forms.
RemarksI tried to submit the paper since yesterday but the server did'nt respond.

285 - TitleChecking and Reasoning about Semantic Web through Alloy
AuthorsJin Song Dong, National University of Singapore, dongjs@comp.nus.edu.sg
Jing Sun, National University of Singapore, sunjing@comp.nus.edu.sg
Hai Wang, National University of Singapore, wangh@comp.nus.edu.sg
PC MemberNo
Contact personJin Song Dong, dongjs@comp.nus.edu.sg, Phone: +65-68744353
Main Fields15. Formal Methods
Other Main FieldsSoftware Engineering Techniques for Semantic Web
Abstract + KeywordsSemantic Web (SW), commonly regarded as the next generation of the Web,
is an emerging technology from the Knowledge Representation and the
Web Communities. The software engineering community can also
play an important role to contribute to SW development.
Reasoning and consistency checking can be useful at many stages
during the design, maintenance and deployment of SW ontology.
However the existing reasoning and consistency checking
tools for SW are primitive. We believe that software engineering
techniques and tools, such as Alloy, can provide automatic reasoning
and consistency checking services for SW. In this paper, we firstly
construct semantic models for the SW language (DAML) in Alloy, and
these models form the semantic domain for interpreting DAML in Alloy.
Then we develop the translation techniques and tools which can
automatically map the SW ontology into the DAML semantic domain in Alloy.
Furthermore, with the assistance of Alloy Analyzer (AA) we demonstrate
that the consistency of the SW ontology can be checked automatically
and different kinds of reasoning tasks can be supported.

keywords: Semantic Web, Alloy

RemarksEntered by RvdS; Resub to correct main topic;

286 - TitleProperties of Measurement Scale Types
AuthorsDavid Gustafson, CIS Dept, Kansas State University, dag@cis.ksu.edu
PC MemberNo
Contact personDavid Gustafson, dag@cis.ksu.edu, Phone: 785 532 6350
Main Fields19. Empirical Studies, Metrics
Abstract + KeywordsSoftware measurement is an important area of software engineering. Identifying
the scale type of the measure is often part of the validation of the software
measure. Since the scale type is hard to determine based on classical
measurement theory, many claims of scale type may be incorrect. This paper
argues that formulas for calculating software measures that are more complex
than a*X+b will not yield interval or higher scale types. Additionally, a
simpler approach based on analyzing the mapping between the basic units and the
proposed measure is presented. The basic units are based on the actual
operations that developers used when developing the source code. Using
this approach, scale types are easier to determine.
RemarksEntered by RvdS

287 - TitleUsing Process Technology to Control and Coordinate Software Adaptation
AuthorsGiuseppe Valetto, Telecom Italia Lab and Columbia University, Giuseppe.Valetto@tilab.com
Gail Kaiser, Columbia University, kaiser@cs.columbia.edu
PC MemberYes
Contact personGiuseppe Valetto, valetto@cs.columbia.edu, Phone: +1 212 9397086
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
13. Reliability, Quality Assurance
17. Software Process, Workflow, CSCW
Abstract + KeywordsWe have developed an infrastructure for end-to-end run-time monitoring, behavior / performance analysis, and dynamic adaptation of distributed software applications. This feedback-loop infrastructure is primarily targeted to pre-existing systems and thus operates outside the application itself without making assumptions about the target system’s internal communication/computation mechanisms, implementation language/framework, availability of source code, etc. This paper assumes the existence of the monitoring and analysis components, presented elsewhere, and focuses on the mechanisms used to control and coordinate possibly complex repairs/reconfigurations to the target system. These mechanisms require lower-level actuators or effectors somehow attached to the target system, so we briefly sketch one such facility (elaborated elsewhere). The core of the paper is the model, architecture, and implementation of Workflakes, the decentralized process engine we use to tailor, control, coordinate, respond to contingencies, etc. regarding a cohort of such actuators. We have validated our approach and the Workflakes prototype in several case studies, related to different application domains. Due to space restrictions we concentrate primarily on one case study, elaborate with some detais a second, and only sketch others.
Keywords: dynamic adaptation, process technology, reconfiguration
Remarks

288 - TitleComposable Process Elements for Developing COTS-Based Applications
AuthorsBarry Boehm, USC, boehm@usc.edu
Daniel Port, USC, dport@usc.edu
Ye Yang, USC, yey@usc.edu
Jesal Bhuta, USC, jesal@usc.edu
Chris Abst, Texas A&M University, cabts@cgsb.tamu.edu
PC MemberNo
Contact personDaniel Port, dport@usc.edu, Phone: 213-740-7275
Main Fields7. Software Understanding
17. Software Process, Workflow, CSCW
19. Empirical Studies, Metrics
Other Main FieldsCOTS Based Systems
Abstract + KeywordsData collected from five years of developing e-service applications at USC-CSE reveals that an increasing fraction have been commercial-off-the-shelf (COTS)-Based Application (CBA) projects: from 28% in 1997 to 60% in 2001. Data from both small and large CBA projects show that CBA effort is primarily distributed among the three activities of COTS assessment, COTS tailoring, and glue code development and integration, with wide variations in their distribution across projects. We have developed a set of data-motivated composable process elements, in terms of these three activities, for developing CBA's as well an overall decision framework for applying the process elements. We present data regarding the movement towards CBA's and effort distribution among them; we then proceed to describe the decision framework and to present a real-world example showing how it operates within the WinWin Spiral process model generator to orchestrate, execute, and adapt the process elements to changing project circumstances.
RemarksIf there are formatting problems with he PDF file (e.g. figures or tables out of place, please use the PS file contained in ICSE_CBA.zip

289 - TitleRelating pi-calculus to Object-Z
AuthorsKenji Taguchi, Dept. of Computing, Univ. of Bradford, UK, K.Taguchi@bradford.ac.uk
Jin Song Dong, National University of Singapore, School of Computing, dongis@comp.nus.edu.sg
Gabriel Ciobanu, National University of Singapore, School of Computing, gabriel@comp.nus.edu.sg
PC MemberNo
Contact personGabriel Ciobanu, gabriel@comp.nus.edu.sg, Phone: +65 6874 6534
Main Fields4. Testing, Analysis, and Verification
15. Formal Methods
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsSoftware systems have become increasingly distributed, dynamic and mobile. The complex state and dynamic interfaces of software components and their concurrent interactions provide challenging research issues in system specification and design. An effective combination of structured state-based formalism and dynamic action-based calculus may be a good solution for modeling the complex distributed mobile systems. In this paper, we investigate the semantic links between Object-Z and the pi-calculus and consequently introduce a powerful specification technique PiOZ that brings the strengths of the two together. The operational semantics of PiOZ integrates state transition semantics of Object-Z and pi-calculus reduction rules. The typing rules of PiOZ are developed and we use
PiOZ to reason about a system property.

Keywords: distributed software engineering, formal methods integration, pi-calculus, Object-Z.
RemarksEntered by RvdS; Resubm. to corrected main topics list

290 - TitleConsistency Management with Repair Actions
AuthorsChristian Nentwich, University College London, c.nentwich@cs.ucl.ac.uk
Wolfgang Emmerich, University College London, w.emmerich@cs.ucl.ac.uk
Anthony Finkelstein, University College London, a.finkelstein@cs.ucl.ac.uk
PC MemberYes
Contact personChristian Nentwich, c.nentwich@cs.ucl.ac.uk, Phone: +44 20 7679 7190
Main Fields16. CASE Tools and Software Development Environments
Other Main FieldsConsistency Management
Abstract + KeywordsComprehensive consistency management requires a strong mechanism for
repair once inconsistencies have been detected. In this paper we
present a repair framework for inconsistent distributed
documents. The core piece of the framework is a new method for
generating interactive repairs from full first order logic formulae
that constrain these documents. We present a full implementation of
the components in our repair framework, as well as their
application to the UML and related heterogeneous documents such as
EJB deployment descriptors. We describe how our approach can be
used as an infrastructure for building higher-level, domain specific
frameworks and provide an overview of related work in the
database and software development environment community.
Remarks

291 - TitleData Flow Testing as Model Checking
AuthorsHyoung Seok Hong, Dept. of EECS and AITrc, Korea Advanced Institute of Science and Technology, Korea, hshong@salmosa.kaist.ac.kr
Sung Deok Cha, Dept. of EECS and AITrc, Korea Advanced Institute of Science and Technology, Korea, cha@salmosa.kaist.ac.kr
Insup Lee, Dept. of Computer and Information Science, University of Pennsylvania, USA, lee@saul.cis.upenn.edu
Oleg Sokolsky, Dept. of Computer and Information Science, University of Pennsylvania, USA, sokolsky@saul.cis.upenn.edu
Hasan Ural, School of Information Technology and Engineering, University of Ottawa, Canada, ural@site.uottawa.ca
PC MemberNo
Contact personHyoung Seok Hong, hshong@salmosa.kaist.ac.kr, Phone: 82-42-869-5558
Main Fields4. Testing, Analysis, and Verification
Abstract + KeywordsThis paper presents a model checking-based approach to data flow testing. We characterize data flow oriented coverage criteria in temporal logic such that the problem of test generation is reduced to the problem of finding witnesses for a set of temporal logic formulas. The capability of model checkers to construct witnesses and counterexamples allows test generation to be fully automatic. We discuss complexity issues in minimal cost test generation and
describe heuristic test generation algorithms. We illustrate our approach using CTL as temporal logic and SMV as model checker.



Remarks

292 - TitleEnhancing Class Commutability in the Deployments of Design Patterns
AuthorsT.H. Ng, Department of Computer Science, Hong Kong University of Science and Technology, cssam@cs.ust.hk
S.C. Cheung, Department of Computer Science, Hong Kong University of Science and Technology, scc@cs.ust.hk
PC MemberNo
Contact personShing-Chi Cheung, scc@cs.ust.hk, Phone: (852) 23587016
Main Fields3. Software Architectures, Patterns, and Frameworks
8. Object-Oriented Technologies
Abstract + KeywordsA design pattern provides a structure to manage a design aspect by allowing the aspect to be changed without software redesign. For example, the Builder pattern manages the creation of complex objects. It allows objects of a new representation to be created with the same mechanism. A deployment of a design pattern in a software program comprises a set of classes following the structure of the pattern. Within the set, classes that implement the managed aspect of the pattern are commuted with new ones upon changes in the aspect. However, the commutation efforts can be tedious if these classes are accessed arbitrarily throughout the software. To confine the commutation efforts, these classes should be properly encapsulated. This paper presents a methodology introducing pattern clusters to achieve proper encapsulation. An access control strategy is proposed to enforce the encapsulation.
RemarksThe PS file is Winzipped.

293 - TitlePigeon, a Specification Language for Mobile Agent Applications
AuthorsYasuyuki Tahara, Computer & Network Systems Laboratory, R&D Center, Toshiba Corporation, yasuyuki.tahara@toshiba.co.jp
Akihiko Ohsuga, Computer & Network Systems Laboratory, R&D Center, Toshiba Corporation, akihiko.ohsuga@toshiba.co.jp
Shinichi Honiden, National Institute of Informatics / The University of Tokyo, honiden@nii.ac.jp
PC MemberNo
Contact personYasuyuki Tahara, yasuyuki.tahara@toshiba.co.jp, Phone: +81-44-549-2237
Main Fields2. Design
14. Safety and Security
15. Formal Methods
Other Main FieldsMobile Agents
Abstract + KeywordsThe developers are now concerned with the development techniques, such as the mobile agent technology, that are appropriate to practical open distributed systems on wide-area network such as the Internet. As a result, there are arising more issues including the difficulties in controling the behaviors of agents and ensuring security. Some researchers are proposing formal computation models and specification languages as the solutions to these issues. However, these models and languages are not sufficient for practical applications because it is difficult to describe specifications of such applications. In this paper, we propose Pigeon, a formal specification language for mobile agent application as a solution to these issues. The main advantage of Pigeon is its customizability realized by the following two features. One is the customizable mapping between the behavior specifications and the requirement specifications. The other is the reflection functionality of the logical framework called RL/R for the requirement specifications. We evaluate Pigeon as a specification language for mobile agents by comparing it with similar languages using an electronic catalog (e-catalog) example.

Keywords: Mobile Agents, Specification Languages, Reflection, Security
Remarks

294 - TitleTricks and Traps of Initiating a Product Line Concept in Existing Products
AuthorsChristof Ebert, Alcatel, christof.ebert@alcatel.com
Michel Smouts, Alcatel, michel.smouts@alcatel.be
PC MemberNo
Contact personChristof Ebert, christof.ebert@alcatel.com, Phone: +33-6-75091999
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
17. Software Process, Workflow, CSCW
19. Empirical Studies, Metrics
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsMany industries are hampered with introducing the product line concept into already existing products. Though appealing, the concept is very difficult to intro-duce specifically into a legacy environment. All too often the impacts and risks are not considered adequately. This article describes the introduction of a product line ap-proach in Alcatel's S12 Voice Switching System Business Unit. Practical impacts during the introduction are de-scribed as well as tricks and traps. The article not only summarizes the key software engineering principles, but also provides empirical evidence and practical tech-niques on which to build.
Keywords: product lines, portfolio management, road-mapping, prioritization, process improvement
Remarkstechnical paper was prefered to experience report, as most work on product lines are too concept-oriented without evidence about how software engineering principles line up to make introducxtion a success.
It's thus more than experience, adding with empirical evidence over a 5 year period from hundreds of projects, what steps to follow to make product line a success.

295 - TitleIdentifying Safety Hazards for Critical Decision Information Systems
AuthorsJeffrey Joyce, University of British Columbia, jeffj@ece.ubc.ca
PC MemberNo
Contact personJeffrey Joyce, jeffj@ece.ubc.ca, Phone: (604) 822-7281
Main Fields14. Safety and Security
Abstract + KeywordsThis paper identifies a set of generic hazards for critical decision information systems. Such systems are an important class of safety-related, software-intensive systems. The paper includes several examples of actual hazards derived from these generic hazards. These examples are based mainly on the author?s experience with the safety analysis of software used by air traffic controllers.

The generic hazards identified in this paper may be used to help identify actual hazards during the preliminary hazard identification phase of the safety analysis of a critical decision information system. They may also be used as a litmus test for distinguishing bona fide safety concerns from other kinds of concerns.
Remarks

296 - TitleTemporal Invariants
AuthorsTanton Gibbs, Clemson University, thgibbs@cs.clemson.edu
Brian Malloy, Clemson University, malloy@cs.clemson.edu
PC MemberNo
Contact personTanton Gibbs, thgibbs@cs.clemson.edu, Phone: (864) 654-3125
Main Fields4. Testing, Analysis, and Verification
13. Reliability, Quality Assurance
Abstract + Keywords In this paper, we present the idea of a temporal invariant:
an invariant whose lifetime does not coincide with a particular
event such as the invocation of a function or the creation of
an object. We show that temporal invariants may provide benefit
in areas where traditional invariants cannot. We discuss the
motivation, design, and implementation of temporal invariants
and consider their interaction with procedural, object-oriented,
and generic programming constructs. We also use traditional language
features, aspect-oriented features, and code instrumentation to explore
temporal invariant implementation and we discuss the benefits and
drawbacks of using temporal invariants.
Remarks

297 - TitleWeb-enabling Legacy Systems via Presentation Access: From Webulation to Automation
AuthorsMohammad El-Ramly, PhD Candidate, mramly@cs.ualberta.ca
Eleni Stroulia, Prof, stroulia@cs.ualberta.ca
Paul Sorenson, Prof, sorenson@cs.ualberta.ca
PC MemberNo
Contact personMohammad El-Ramly, mramly@cs.ualberta.ca, Phone: 1 780 435 6921
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
12. AI-Based Approaches to S/W Engineering
Other Main FieldsThe specific topic: is Web Enabling Legacy Systems
Abstract + KeywordsAfter years of development and billions of invested dollars, legacy mainframe systems have become the lifeblood of many corporations. And today, given the dramatic changes that the recent Internet revolution has brought to today’s business processes, it has become necessary to make these systems accessible to partners, employees and customer. In principle, there are three different approaches to that end: one can enable access to the legacy system via its data, its logic or its presentation layer. In this paper, we review in detail the state-of-the-art in the last approach, namely Web-enabling via presentation layer access. We discuss both academic research methods and industrial practices, we describe their evolution and their potential, and we comparatively evaluate their pros and cons. Finally, we present CelLEST, a lightweight method we have developed for semi-automated reengineering and Web-enabling of legacy user interfaces. We demonstrate how this method uses artificial-intelligence algorithms to leverage and advance current manual technology.
RemarksPls inform me if file had any problems

298 - TitleA Fault Localization Framework Based on Nearest Neighbor Queries
AuthorsEmmanuel Renieris, Brown University, er@cs.brown.edu
Steven Reiss, Brown University, spr@cs.brown.edu
PC MemberNo
Contact personEmmanuel Renieris, er@cs.brown.edu, Phone: 401-863-7667
Main Fields4. Testing, Analysis, and Verification
Other Main FieldsAutomated Debugging
Abstract + KeywordsAutomatic fault localizers help programmers find the prices of code
that pertain to bugs. In this paper, we present a new framework for
fault localization based on similarities between program spectra.
We review previous work that was using similar techniques in
domain-specific ways, and we explain why they are not generalizable.
Our technique depends only on the existence of a number of correct
runs and a single faulty run, and it asks for no more information from
the user than which runs are faulty and which not.
We also present a framework for the evaluation of automatic fault
localizers, the first one, to our knowledge, to use semantic
information.
Remarks

299 - TitleFUML-Tool : A tool for framework design by application unification
AuthorsNadia Bouassida, Institut Supérieur d’Informatique et de Multimédias de Sfax, Nadia.Bouassida@isimsf.rnu.tn
Thouraya Ayadi , Laboratoire LARIS, Faculté des Sciences Economiques et de Gestion de Sfax,, thouraya.ayadi@fsegs.rnu.tn
hanene ben abdallah, Laboratoire LARIS, Faculté des Sciences Economiques et de Gestion de Sfax,, hanene.benabdallah@fsegs.rnu.tn
faiez gargouri, Laboratoire LARIS, Faculté des Sciences Economiques et de Gestion de Sfax,, faiez.gargouri@fsegs.rnu.tn
PC MemberNo
Contact personNadia Bouassida, Nadia.Bouassida@isimsf.rnu.tn, Phone: 216 74 456 554
Main Fields3. Software Architectures, Patterns, and Frameworks
Abstract + KeywordsAbstract:

Frameworks are a promising technology for design reuse. The complexity of their design reinforces the need of a tool supporting the framework design process and representation.

This paper presents a framework design process with a tool support. The design process is based on a stepwise, bottom-up unification by applying a set of formal comparison rules on various applications in the framework domain.

keywords : object oriented frameworks, framework design process
Remarks

300 - TitleA Component Architecture for an Extensible, Highly Integrated Context-Aware Computing Infrastructure
AuthorsWilliam Griswold, UC San Diego, wgg@cs.ucsd.edu
Robert Boyer, UC San Diego, rboyer@cs.ucsd.edu
Steven Brown, UC San Diego, sbrown@cs.ucsd.edu
Tan Minh Truong, UC San Diego, mtruong@cs.ucsd.edu
PC MemberNo
Contact personWilliam Griswold, wgg@cs.ucsd.edu, Phone: 858-534-6898
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
5. Maintenance, Evolution, Re-/Reverse Engineering
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsUbiquitous context-aware computing systems present several
challenges in their construction. Principal among them
is the tradeoff between easily providing new context-aware
services to users and the tight integration of those services,
as demanded by the small form factor of the devices typically
found in ubiquitous computing environments. Performance issues
further complicate the management of this tradeoff.

Mechanisms have been proposed and toolkits developed for
aiding the construction of context-aware systems, but there
has been little consideration of how to specialize, organize,
and compose these mechanisms to meet the above requirements.
We motivate and describe a software architecture that provides
the desired integration and separation of concerns of services
in a context-aware application infrastructure. A key result
is the fissioning of existing toolkit objects, both across
layers and within layers, to achieve the required integration
and separation.
Remarks

301 - TitleHow Can Frameworks Facilitate Component Reuse?
AuthorsRikard Land, Department of Computer Science and Engineering, Mälardalen University, Västerås, Sweden, rikard.land@mdh.se
PC MemberNo
Contact personRikard Land, rikard.land@mdh.se, Phone: +46 21 10 70 35
Main Fields3. Software Architectures, Patterns, and Frameworks
6. Reuse
Abstract + KeywordsReuse of software has the potential to decrease costs and development time at the same time as software quality is increased; in this paper, we discuss the problems of reuse within component-based frameworks. We investigate the claims of two such frameworks, said to facilitate reuse. The discussion is kept general, however: we describe reuse trends, the fundamental differences between component-based and object-oriented frameworks, and the contradictory requirements about evolution and stability.
We base our discussion on a literature study rather than on empirical observations.

Keywords: Component-based frameworks, Object-oriented frameworks, Software reuse, Software abstractions, Enduring Business Themes, Architectural mismatch.
RemarksThe contents is a refinement and distillation of what is already presented (but not published!) on the web, in connection with the web site of the book used for case studies: http://www.idt.mdh.se/cbse-book/extended-reports/17_18_Extended%20Report.pdf

302 - TitleSemi Automatic Generation of User Interfaces Prototypes from Early Requirement Models
AuthorsHugo Estrada, Professor, hestrada@dsic.upv.es
Alicia Martinez, Professor, alimartin@dsic.upv.es
Juan Sanchez, Professor, jsanchez@dsic.upv.es
Oscar Pastor, Professor, opastor@dsic.upv.es
PC MemberNo
Contact personJuan Sanchez, jsanchez@dsic.upv.es, Phone: + 34 96 3877734
Main Fields1. Requirements Engineering
Abstract + KeywordsAbstract

When a software product is designed and implemented, it is very important to
assure from the beginning that the user requirements have been properly
represented. A guided software production process which starts from the initial
activities of requirements engineering and carries through to the resultant
software product is needed to achieve this goal.
However, there are currently few development environments that put forward a
methodological approach to do this. The objective of this paper is to define
a software production process which represents the correspondence between the
primitive elements of a business model (represented in the framework i*) and
the user interface of the software system. The representation of the user
interface is compliant with the Unified Model Language (UML). We use a use case
model as an intermediary between the business requirements and the application
software. By doing this, we go a step further in the process of properly
embedding early requirements engineering into the software production
process, because organizational users can validate their requirements
as early as possible. This is done through the validation of the user interfaces
which are generated as a software representation of these requirements. These
interfaces can also be reused for further refinement as a useful starting
point in the software development process.

keywords
Business Modeling, Early Requirements, Interface Prototyping.
Remarks

303 - TitleToward A Formal Approach to Composite Web Service Construction and Automation
AuthorsZhihong Ren, Technology Center of Software Engineering Institute of Software Chinese Academy of Sciences Beijing, China, ren@otcaix.iscas.ac.cn
Jiannong Cao, Department of ComputingHong Kong Polytechnic UniversityHung Hom, KowloonHong Kong, csjcao@comp.polyu.edu.hk
Alvin T.S. Chen, Department of ComputingHong Kong Polytechnic UniversityHung Hom, KowloonHong Kong, cstschen@comp.polyu.edu.hk
Jing Li, Technology Center of Software Engineering Institute of Software Chinese Academy of Sciences Beijing, China, lij@otcaix.iscas.ac.cn
PC MemberNo
Contact personJiannong Cao, csjcao@comp.polyu.edu.hk, Phone: 852-27667275
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
11. Programming Language-Based Approaches to S/W Engineering
15. Formal Methods
17. Software Process, Workflow, CSCW
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsWeb services engineering
Abstract + KeywordsBased on business processes, composite web services combine the offerings of two or more web services to achieve the desired business goals. Several candidate standards have been proposed, providing a foundation for composite web service specifications. However, at a higher level, there is no framework that supports composite web service construction and automation. In this paper, we propose a framework that facilitates the visual design, validation and automation of composite web services. The framework is based mainly on Web Service Flow Graph (WSFG), the underlying formalism for composite web services. Using graph grammar and graph transformation defined on WSFG, the static topological structure of a composite web service can be described and the automation of the constructed composite web services is also facilitated. A prototype implementing the proposed framework is currently under development; we also outline the design and implementation of the prototype.
Remarks

304 - TitleA Test Framework for Web Services
AuthorsIna Schieferdecker, FOKUS, schieferdecker@fokus.fhg.de
Bernard Stepien, University of Ottawa, bernard@site.uottawa.ca
PC MemberNo
Contact personIna Schieferdecker, schieferdecker@fokus.fhg.de, Phone: +49 30 3463 7241
Main Fields3. Software Architectures, Patterns, and Frameworks
4. Testing, Analysis, and Verification
Abstract + KeywordsWeb service testing considers functionality and load aspects to check how a Web service performs for single clients and scales as the number of clients accessing it increases. This paper presents a flexible test framework for Web services including functional, service interaction and load tests. It is generic in terms of being to a large extend independent of the Web service to be tested. The paper discusses the automation of the test framework with the Testing and Test Control Notation TTCN-3. Since the major communication protocol for Web Services is SOAP being mainly XML over HTTP, a mapping between XML data descriptions to TTCN-3 data is presented to enable the automated derivation of test data. This is the basis for functional and load tests of XML interfaces in TTCN-3. The paper describes prototypical tools for the development and execution of TTCN-3 tests for XML/SOAP based Web services.
Remarks

305 - TitleEvaluating the "Small Scope Hypothesis"
AuthorsAlexandr Andoni, MIT Laboratory for Computer Science, andoni@lcs.mit.edu
Dumitru Daniliuc, MIT Laboratory for Computer Science, dumi@lcs.mit.edu
Sarfraz Khurshid, MIT Laboratory for Computer Science, khurshid@lcs.mit.edu
Darko Marinov, MIT Laboratory for Computer Science, marinov@lcs.mit.edu
PC MemberNo
Contact personSarfraz Khurshid, khurshid@lcs.mit.edu, Phone: 617-253-3406
Main Fields4. Testing, Analysis, and Verification
13. Reliability, Quality Assurance
15. Formal Methods
Abstract + KeywordsThe "small scope hypothesis" argues that a high proportion of bugs
can be found by testing the program for all test inputs within some
small scope. In object-oriented programs, a test input is constructed
from objects of different classes; a test input is within a scope of
s if at most s objects of any given class appear in it. If the
hypothesis holds, it follows that it is more effective to do
systematic testing within a small scope than to generate fewer test
inputs of a larger scope.

This paper evaluates the hypothesis for several implementations of
data structures, including some from the Java Collections Framework.
We measure how statement coverage, branch coverage, and rate of mutant
killing vary with scope. For systematic input generation and
correctness checking of Java programs, we use the Korat framework.
This paper also presents the Ferastrau framework that we have
developed for mutation testing of Java programs. The experimental
results show that exhaustive testing within small scopes can achieve
complete coverage and kill most of the mutants, even for intricate
methods that manipulate complex data structures. The results also
show that Korat can be used effectively to generate inputs and check
correctness for these scopes.
Remarks

306 - TitleCollecting, Integrating and Analyzing Software Metrics and Personal Software Process Data
AuthorsAlberto Sillitti, DIST - University of Genoa, alberto@dist.unige.it
Andrea Janes, Free University of Bozen, Andrea.Janes@unibz.it
Giancarlo Succi, Free University of Bozen, Giancarlo.Succi@unibz.it
Tullio Vernazza, DIST - University of Genoa, tullio@dist.unige.it
PC MemberNo
Contact personAlberto Sillitti, alberto@dist.unige.it, Phone: +390103532173
Main Fields17. Software Process, Workflow, CSCW
19. Empirical Studies, Metrics
Abstract + KeywordsMeasures are important data in all engineering disciplines. These data allow engineers to understand how things work and how to make changes to produce desired results. In software engineering, it is difficult to collect useful data because developers do not consider that an important activity, compared to coding. Moreover, manual collected data are often affected by errors that make them unusable.
The shortage of automated tools for collecting and analyzing measures does not contribute to software engineering evolution.
This paper presents PROM (PRO Metrics), an automated tool for collecting and analyzing software metrics and personal software process (PSP) data. The tool uses an architecture based on plug-ins that automatically collect data from development tools.
Remarks

307 - TitleAn approach based on UML dynamic diagrams and on a p-time Petri Net model for the scenario verification of Real Time Systems
AuthorsStéphane Julia, Universidade Federal de Uberlândia, stephjl@aol.com
Elisângela Mieko Kanacilo, Universidade Federal de Uberlândia, ekanashiro@hotmail.com
PC MemberNo
Contact personElisângela Mieko Kanacilo, ekanashiro@hotmail.com, Phone: 55-34-3214-0915
Main Fields4. Testing, Analysis, and Verification
8. Object-Oriented Technologies
13. Reliability, Quality Assurance
14. Safety and Security
15. Formal Methods
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + Keywords This article proposes an approach based on UML dynamic diagrams
and on a p-time Petri Net model for the scenario verification of
Real Time Systems. The main idea consists of translating the
sequence diagrams that represent the interactions among the objects
involved in a particular scenario in a p-time Petri Net model that
can be formally and dynamically executed. A Token Player algorithm
used for the scheduling problem of Real Time Systems and which can be
seen as a simulation technique of a formal model is then applied to
the obtained p-time Petri Net model for scenario verification. The
proposed approach is applied to an example of a batch system which can be seen as a particular case of a real time system.
Keywords:Petri Nets, Real Time Systems, UML, Scheduling algorithm.
Remarks

308 - TitleTesting Distribution and Concurrency in Component-based Systems
AuthorsDai Pan, SUNY at Albany, daip@cs.albany.edu
Mei-Hwa Chen, SUNY at Albany, mhc@cs.albany.edu
PC MemberNo
Contact personMei-Hwa Chen, mhc@cs.albany.edu, Phone: 518-442-4283
Main Fields4. Testing, Analysis, and Verification
9. Component and Interoperability Technologies
Abstract + KeywordsComposability is one of the fundamental characteristics that differentiate software components from ordinary software pieces. Most component-based systems exhibit strong composability-they can often be plugged in as part of another system in a larger scope. We present a hierarchical composition model abstracting the nature of component-based systems with the guidance of composability. In our model a component-based system is recursively built up, with partitions of its own computation and computation from a set of sub-components, which themselves are component-based systems satisfying the above condition. With the guidance of this composability, the model is formulated by using relational matrices and a parameterized relation mapping among them. This structure is represented through a Component Connectivity Graph (CCG). The partition of a system¡¦s own computation and sub-components is reflected by two versions of CCG: a detailed version (d-CCG) as well as a publishable version (p-CCG). This model, which can be applied to many research directions in component-based systems, has the potential for synthesizing strengths of these various research studies to generate methodology naturally and systematically. In this paper we demonstrate one of the applications in testing with a focus on issues of distribution and concurrency. We observe that interactions with the operational environment¡¦s APIs are essential to distribution or concurrency phenomena in a system; thus we choose distribution and/or concurrency related operational environment APIs as the relation medium in the above framework, to instantiate CCG into IEPG (Interface-Environment-Pivoting-Graph). Two coverage criteria ¡V all-relations and all-sequences ¡V are proposed and used with IEPG. We conducted an empirical study on an industry market information system. The results show that the technique is both effective and efficient in revealing distribution/concurrency related faults, and thus the great potential of the model can be foreseen.

Remarks

309 - TitleTILCO Temporal Logic for Real-Time Systems Implementation in C++
AuthorsPierfrancesco Bellini, Dipartimento di Sistemi e Informatica, University Firenze, Italy, pbellini@dsi.unifi.it
Andrea Giotti, Dipartimento di Sistemi e Informatica, University Firenze, Italy, giotti@dsi.unifi.it
Davide Rogai, Dipartimento di Sistemi e Informatica, University Firenze, Italy, rogai@dsi.unifi.it
Paolo Nesi, Dipartimento di Sistemi e Informatica, University Firenze, Italy, nesi@dsi.unifi.it
PC MemberYes
Contact personPaolo Nesi, nesi@dsi.unifi.it, Phone: +39-055-4796523
Main Fields15. Formal Methods
16. CASE Tools and Software Development Environments
Abstract + KeywordsTemporal logics are capable to describe temporal constraints among events and actions, as invariance, precedence, periodicity, repeated occurrences, liveness and safety conditions. They are typically used to specify and verify properties in the requirement analysis, to describe the system behavior that can be verified via property proof. Operational approaches have a state-based semantics which is many cases preferred at denotational approaches for their immediate interpretation and automatic conversion into programming language. In fact, for
the implementation of real-time systems traditional programming languages are still used. In this paper, an integrated
development environment to implement real-time systems based on the integration of TILCO temporal logic and C++ programming is presented. The integration is based on the execution of
TILCO Temporal Logic specifications to manage the concurrent, behavioral and temporal requirements of the C++ application in Real-Time. Results about this new model of development are presented.

Keywords: formal specification language, first order logic, temporal interval logic, real-time systems, temporal
operators, Temporal logic and C++ Integration.
Remarks

310 - TitleVisualizing and Formalizing Risk Information: An Experiment
AuthorsJyrki Kontio, Helsinki University of Technology, jyrki.kontio@hut.fi
PC MemberNo
Contact personJyrki Kontio, jyrki.kontio@hut.fi, Phone: +358 40 8232 800
Main Fields18. Software Project Management and Cost Estimation
19. Empirical Studies, Metrics
Other Main FieldsSoftware risk management
Abstract + KeywordsAn essential element of software engineering risk management is the conceptualization of potential risks to a project. It is the basis of risk analysis and, even more importantly, it strongly influences how risks are communicated and understood by participants in a project. This paper reports the results of a study where different risk visualization and documentation methods were compared in a controlled experiment with students. The study indicated that a defined and sufficiently expressive visualization approach can help capture more of the risk information than less formal methods. At the same time, participants felt that the more formal approaches were not more difficult to neither learn nor use than less formal ones. The SEI risks statements turned out to be inferior to other methods in most comparisons.
RemarksNote that ca. 80% of the content of this paper has been included in a published Ph.D. dissertation. See http://lib.hut.fi/Diss/2001/isbn951225655X/
If you consider this a prior publication, please inform me and withdraw the paper from the evaluation process.
In any case, please, acknowledge the receipt of this note in my email.
Regards,
Jyrki Kontio

311 - TitlePerformance of Optical Burst Switching with Limited Deflection Routing
AuthorsHyunSook Kim, Univ. of Yonsei, joelle@emerald.yonsei.ac.kr
Sukyoung Lee, NIST, sukyoung@antd.nist.gov
JooSeok Song, Univ. of Yonsei, jssong@emerald.yonsei.ac.kr
PC MemberNo
Contact personHyunSook Kim, joelle@emerald.yonsei.ac.kr, Phone: +82-2-365-7966
Main Fields13. Reliability, Quality Assurance
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + Keywords Burst switching technique is regarded as suitable network architecture for future Optical Internet backbones.
However, it is possible for the burst to be blocked in an intermediate switch due to resource contention since a path is not set up till a burst arrives.
While a deflection routing protocol is proposed as one of the contention resolution techniques, there are many problems in network environments with high traffic.
In this paper, we propose a limited deflection routing scheme. This mechanism prevents injudicious deflection routing, so minimizes unnecessary contention by deflection routing itself
and increases the utilization of network resource such as channels.
Remarks

312 - TitleA Graph-Oriented Approach to the Description and Implementation of Distributed and Dynamic Software Architecture
AuthorsXiaoxing Ma, State Key Laboratory for Novel Software Technology Department of Computer Science Nanjing UniversityNanjing, China, xxm@softlab.nju.edu.cn
Jiannong Cao, Department of Computing Hong Kong Polytechnic University Hung Hom, KowloonHong Kong, csjcao@comp.polyu.edu.hk
Alvin T.S. Chen, Department of Computing Hong Kong Polytechnic University Hung Hom, KowloonHong Kong, cstschen@comp.polyu.edu.hk
Jian Lu, State Key Laboratory for Novel Software Technology Department of Computer Science Nanjing University Nanjing, China, lj@nju.edu.cn
PC MemberNo
Contact personJiannong Cao, csjcao@comp.polyu.edu.hk, Phone: 852-27667275
Main Fields3. Software Architectures, Patterns, and Frameworks
6. Reuse
9. Component and Interoperability Technologies
11. Programming Language-Based Approaches to S/W Engineering
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsIn this paper we propose a graph-oriented model, called GOP, and its programming-level constructs for both the description and the implementation of distributed and dynamic software architectures. In contract with existing approaches, where with the emphasis of a clear separation between the architecture issues and the construction of components and connectors, there exists a gap between software architecture design and system implementation. With GOP, the software architecture is intuitively described at a high, abstract level, and yet reified as a tangible object in the implementation. As such, it forms the structural skeleton of the system and provides the means for coordination among the components. The proposed GOP approach not only helps the implementation of the system, but also ensures the consistence between the architecture specification and its implementation, and facilitates the dynamic reconfiguration of software architectures. A prototype of the GOP supporting system has been developed in the environment of World Wide Web.
Remarks

313 - TitleCOCOMO-Based Effort Estimation For Incremental Software Development
AuthorsOddur Benediktsson, University of Iceland, Computer Science Division, Reykjavík, oddur@hi.is
Darren Dalcher, Middlesex University. London, d.dalcher@mdx.ac.uk
Karl Reed, LaTrobe University, Australia, kreed@cs.latrobe.edu.au
Mark Woodman, Middlesex University,London, m.woodman@mdx.ac.uk
PC MemberNo
Contact personMark Woodman, m.woodman@acm.org, Phone: +44 7887 708 384
Main Fields17. Software Process, Workflow, CSCW
18. Software Project Management and Cost Estimation
Abstract + KeywordsIncremental software development and delivery have been used in software projects in many ways for many years. Justifications for incre-mental approaches include risk amelioration, the management of evolving requirements, and end-user involvement. Incremental development, including iterative, incremental delivery, has be-come a norm in many sectors. However, there has been little work on modelling the effort in such development and hence a dearth of com-parative analyses of cost models for incremental development/delivery. We attempt to rectify this by proposing a COCOMO-style effort model for incremental development/delivery and explore the relationship between effort and the number of increments, thereby providing new insights into the economic impact of incremental ap-proaches to software projects.
Remarks

314 - TitleA UML Approach for Software Change Modeling
AuthorsMei-Huei Tang, SUNY ALBANY, meitang@cs.albany.edu
Wen-Li Wang, Penn State Erie, wxw18@psu.edu
Mei-Hwa Chen, SUNY ALBANY, mhc@cs.albany.edu
PC MemberNo
Contact personMei-Huei Tang, meitang@cs.albany.edu, Phone: (518)782-5489
Main Fields2. Design
5. Maintenance, Evolution, Re-/Reverse Engineering
8. Object-Oriented Technologies
Other Main FieldsChange Impact Analysis
UML
Abstract + KeywordsSoftware changes are frequently requested and may take place at every stage in the software development process. Techniques for change impact analysis are therefore crucial for making effective decisions on the change request. During the change process, ripple effect and change propagation analyses are useful for locating affected portions of the changed software to prevent the change from adversely decreasing the quality of the software. In this paper, we present a methodology that utilizes software design to analyze change impact before a change and the ripple effect after a change. We developed a grammar to process UML diagrams and to depict the dependence relationships, based on which the potential regions of the program that would be influenced by a change can be identified. Our approach, which can be applied at any stage of the software life cycle, supports recursive analysis to reflect chaining changes until no more changes are needed. The results of the case study show that this approach not only is efficient but also effective. We present an innovative approach in modeling software changes, which can be applied on different levels of granularity depending on the availability of the recourses. Thus it is feasible and practical to be adopted in any application domains.
Remarks

315 - TitleContinual Resource ESTimation for Evolving Software – CRESTES
AuthorsJuan Ramil, The Open University, j.f.ramil@open.ac.uk
PC MemberNo
Contact personJuan F. Ramil, j.f.ramil@open.ac.uk, Phone: +44-(0)1908-654088
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
18. Software Project Management and Cost Estimation
19. Empirical Studies, Metrics
Abstract + KeywordsThis paper addresses the resource estimation problem, an essential task to facilitate the subsequent management and control of resource allocation and usage, by developing an approach to effort estimation. It provides a process for creating models that relate the desired attributes of the evolving product, its size for example, to effort. The process view underlying the approach emerged from Lehman's comparative analyses of industrially evolved software and their attributes such as size and evolution activity rate. The approach taken in this paperfocuses on piecewise estimation models. The predictive power of the metrics and the models is assessed using metric data obtained from industrial processes. Features of the approach include its simplicity, the minimal number of assumptions it incorporates and its reliance upon metrics that are generally derivable from historical records, such as change-logs and configuration management databases. All this facilitates its application to real-world situations.

Keywords: cost estimation, software evolution, metrics
Remarks

316 - TitleHipikat: Recommending pertinent software artifacts
AuthorsDavor Cubranic, University of British Columbia, cubranic@cs.ubc.ca
Gail Murphy, University of British Columbia, murphy@cs.ubc.ca
PC MemberYes
Contact personDavor Cubranic, cubranic@cs.ubc.ca, Phone: 604-822-5707
Main Fields5. Maintenance, Evolution, Re-/Reverse Engineering
6. Reuse
7. Software Understanding
12. AI-Based Approaches to S/W Engineering
Abstract + KeywordsA newcomer to a software project must typically come up-to-speed on a
large, varied amount of information about the project before becoming
productive. Assimilating this information in the open-source context
is difficult because a newcomer cannot rely on the mentoring approach
that is commonly used in traditional software developments. To help
a newcomer to an open-source project become productive faster, we
propose Hipikat, a tool that forms an implicit group memory from the
information stored in a project's archives, and that recommends
artifacts from the archives that are relevant to a task that a
newcomer is trying to perform. To investigate this approach, we have
instantiated the Hipikat tool for the Eclipse open-source
project. In this paper, we describe the Hipikat tool, we report on a
qualitative study conducted with a Hipikat mock-up on a medium-sized
in-house project, and we report on a case study in which Hipkat
recommendations were evaluated for a task on Eclipse.
Remarks

317 - TitleA Pragmatic Study of Binary Class Relationships
AuthorsYann-Gaël Guéhéneuc, Ecole des Mines de Nantes / Object Technology International, Inc., guehene@emn.fr
Hervé Albin-Amiot, Ecole des Mines de Nantes / Soft-Maint S.A., albin@emn.fr
PC MemberNo
Contact personYann-Gaël Guéhéneuc, guehene@emn.fr, Phone: 33 2 51 85 82 30
Main Fields2. Design
3. Software Architectures, Patterns, and Frameworks
7. Software Understanding
8. Object-Oriented Technologies
16. CASE Tools and Software Development Environments
19. Empirical Studies, Metrics
Abstract + KeywordsA discontinuity exists between modeling and object-oriented
programming languages. This discontinuity is a consequence of
ambiguous notions in modeling languages and lack of corresponding
notions in object-oriented programming languages. It hinders the
transition between software design and implementation and hampers
software development and maintenance. This discontinuity is
particularly acute for binary class relationships, which describe
notions such as association, aggregation, and composition. In this
paper, we present a solution to the problem of discontinuity
between model and implementation for the binary class
relationships. We propose consensual definitions of the binary
class relationships at the design level and corresponding
definitions at the implementation level in terms of common
properties. We present algorithms to synthesize code and to detect
these properties in code. These algorithms allow us to generate
and to detect binary class relationships. We verify the detection
algorithms on several well-known frameworks.
Remarks

318 - TitlePerceived Usefulness and Operational Cost of Software Measurement: A Case Study
AuthorsCasper Lassenius, Helsinki University of Technology, Casper.Lassenius@hut.fi
PC MemberNo
Contact personCasper Lassenius, Casper.Lassenius@hut.fi, Phone: +358 9 451 2189
Main Fields19. Empirical Studies, Metrics
Abstract + KeywordsThis paper presents the results of a study on the cost and perceived
usefulness of software measurement performed in a product development
unit of a large international Telecommunications company with a long
history of software measurement. The results show that measurement is
not considered important as a feedback mechanism by staff, and that
the majority of the staff does not actively monitor the results of
measurement. Measures considered useful were either highly promoted
and used, linked to critical organizational goals, or measuring
attributes close to the actual work being performed. Measures
considered bad measured attributes that staff did not consider
important or unrelated to good performance or that made deficiencies
or problems visible. The operational cost of measurement was estimated at 4,5% of total effort.
RemarksThe paper is not yet finished- request deadline extension / will provide additional analysis in final paper

319 - TitleDecentralized Software Architecture: Coping with Latency & Agency Limits
AuthorsRohit Khare, UC Irvine, khare@alumni.caltech.edu
Richard Taylor, UC Irvine, taylor@ics.uci.edu
PC MemberNo
Contact personRohit Khare, khare@alumni.caltech.edu, Phone: 650 714 5529
Main Fields3. Software Architectures, Patterns, and Frameworks
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Abstract + KeywordsInformally, software architectures have been described as ‘centralized,’ ‘distributed,’ or ‘decentralized.’ We propose definitions for each of these terms, beginning with centralization: the requirement for simultaneous agreement. While the consensus problem per se has a long history in the theory of distributed systems, the ad-ditional requirement of simultaneity often remains tacit.

If centralized architectures require simultaneous agreement upon shared information, we posit that decen-tralization – relying on local information alone – is nec-essary once simultaneity or agreement become infeasible. We prove that simultaneity is not feasible once the maxi-mum latency between components exceeds the minimum delay between changes. We also argue that agreement is not feasible once components are owned by different agencies, which by definition must reserve the right to disagree if they are to be independent.

We believe new architectural styles will emerge to cope with the physical limits of latency and the social limits of agency. We are investigating one such style that avoids simultaneous agreement, called DECentralized Event Notification Transfer (DECENT), based on the World Wide Web’s REpresentational State Transfer (REST) architecture. In support of this style, we propose an innovative, DECENT-style event router that enables application-layer internetworking of software services.
RemarksPrevious upload of PDF file got truncated at page 3 somehow. This is a complete distillation of the ~400K PS file originally uploaded a few minutes ago...

320 - TitleApplication Integration Through Virtual Components and Workflow Composition
AuthorsFrancisco Curbera, IBM T.J. Watson Research Center, curbera@us.ibm.com
Rania Khalaf, IBM T.J. Watson Research Center, rkhalaf@us.ibm.com
Nirmal Mukhi, IBM T.J. Watson Research Center, nmukhi@us.ibm.com
Sanjiva Weerawarana, IBM T.J. Watson Research Center, sanjiva@us.ibm.com
PC MemberNo
Contact personRania Khalaf, rkhalaf@us.ibm.com, Phone: 914 784 7603
Main Fields6. Reuse
9. Component and Interoperability Technologies
Abstract + KeywordsApplication and business process integration are terms commonly used
to summarize much of what enterprise information technology (IT)
is concerned with these days. Both terms refer to the need to
consolidate and coordinate new and existing software infrastructure
and applications. The problem of leveraging past investments by
reusing existing applications, and the need to flexibly react
to changing business and technology conditions are two of the core concerns that drive enterprise IT vendors and consumers in this space. In addition, there is an increased necessity to enable enterprise systems to integratewith business partner applications outside the enterprise, and to enable``just in time'' integration with some of those partners.

This paper focuses on two technologies particularly well suited to
deal with these issues: component oriented software development and
workflow management systems. The use of both is already widespread in
one form or another, with different levels of success. In this
paper we claim that the ability of both technologies to deal with the
application and business process integration problems can be maximized when they are combined in a coherent architecture where the workflow integration metamodel becomes the component composition paradigm and workflow models themselves can be treated as reusable components. We present a realization of this idea in terms of a particular component model, the Web services component model, and show how well known workflow technologies can be leveraged to achieve a seamless combination of component and workflow technologies.
Remarks

321 - TitleSyntax for Tables
AuthorsTadaaki Kirishima, Toyo University, Saitama , kirisima@tsu.cs.toyo.ac.jp
Tomoe Motohashi , Waseda University, Tokyo , tomoe@aoni.waseda.jp
Tomokazu Arita, Nihon University, Tokyo, arita@cs.chs.nihon-u.ac.jp
Kensei Tsuchida , Toyo University, Saitama , kensei@eng.toyo.ac.jp
Takeo Yaku, Nihon University, Tokyo, yaku@cs.chs.nihon-u.ac.jp
PC MemberNo
Contact personKensei Tsuchida, kensei@eng.toyo.ac.jp, Phone: +81492391434
Main Fields15. Formal Methods
Abstract + KeywordsTables with heterogeneous cells are commonly used in computer human interface and documentation.
Tables can be formalized by attribute multi edge graphs[2].The nodes in an attribute graph correspond to the cells in a table, and the number of edges is at most 4n, where n is the number of nodes in the graph. Our model is designed to realize effective executions in editing and drawing of tables. We developed several algorithms for table editing based on our model.
In this paper, we propose a graph grammar which generates arbitrary heterogeneous tessellation table. This formalization can represent tables which our previous version of graph grammar formalization can not. Our results do not only remove transformation of tables but also provide another paradigm for table processing.
We also present a new algorithm of table manipulating based on our model in this paper.

Keywords
Tables, graphs, graph grammars, syntax,
Software documents
Remarks

322 - TitleDealing with System Qualities during Design and Composition of Aspects and Modules: an Agent and Goal-oriented approach
AuthorsDaniel Gross, Faculty of Information Studies, University of Toronto, gross@fis.utoronto.ca
Eric Yu, Faculty of Information Studies, University of Toronto, yu@fis.utoronto.ca
PC MemberNo
Contact personDaniel Gross, gross@fis.utoronto.ca, Phone: 416-7821800
Main Fields1. Requirements Engineering
2. Design
4. Testing, Analysis, and Verification
16. CASE Tools and Software Development Environments
17. Software Process, Workflow, CSCW
22. Software Engineering for Application Areas (e.g. Mobile Computing, Ubiquitous Computing, Distributed and Parallel Systems, Realtime Systems)
Other Main FieldsQuality Requirements
Agent-orientation
Goal-orientation
Aspect-orientation
Design rationales
Abstract + KeywordsAspects are a recent modularization paradigm that supports the capturing of concerns that usually crosscut the modularization structure of software systems. However, no support is given for representing, capturing, analyzing how global qualities of the software system, such as performance, maintainability, or extensibility, are addressed during the design and composition of modules and aspects. Intentional agents are novel abstractions for encapsulating design goals and possibly alternative design options of software system artifacts during the design process. This paper proposes the use of intentional agents for capturing and analyzing how global quality concerns are addressed during the design and composition of modules and aspects. The “Intentional aspect” abstraction is introduced for dealing with the design of aspects, the composition of modules and aspects, and for linking aspects to elements within the implementation of the software system. Intentional agents and aspects extend the aspect concept from a modularization mechanism of software behavior towards a general paradigm for clustering and composing design concerns, rationales and decision-making during system design and integration. The proposed approach is illustrated through examples taken from an implementation of O-Telos written in MS-Visual Basic and Prolog.
RemarksDue to the jewish high-holydays (rosh hashana) over the last weekend i run a bit short on time. Some more polishing of the last sections is still needed.

CyberChairPRO Copyright © by Richard van de Stadt  (Borbala Online Conference Services)
Hosted by Abteilung Technische Infrastruktur, Universität Karlsruhe (TH)