sss ssss      rrrrrrrrrrr
                      ssss    ss       rrrr   rrrr
                     sssss     s       rrrr    rrrr
                     ssssss            rrrr    rrrr
                      ssssssss         rrrr   rrrr
                          ssssss       rrrrrrrrr
                    s      ssssss      rrrr  rrrr
                    ss      sssss      rrrr   rrrr
                    sss    sssss       rrrr    rrrr
                    s  sssssss        rrrrr     rrrrr
         +=======    Quality Techniques Newsletter    =======+
         +=======           September 2005            =======+

subscribers worldwide to support the Software Research, Inc. (SR),
eValid, and TestWorks user communities and to other interested
parties to provide information of general use to the worldwide
internet and software quality and testing community.

Permission to copy and/or re-distribute is granted, and secondary
circulation is encouraged, provided that the entire QTN
document/file is kept intact and this complete copyright notice
appears in all copies.  Information on how to subscribe or
unsubscribe is at the end of this issue.  (c) Copyright 2004 by
Software Research, Inc.


                       Contents of This Issue

   o  Workshop on High Assurance Systems (RHAS'05)

   o  About the French Testing Board

   o  eValid General Description and Main Feature Summary

   o  Special Issue of the International Journal of Web Services
      Research on Services Engineering

   o  eValid Success Story Summaries

   o  Understanding the Social Side of Software Engineering: Special
      Issue of the Information and Software Technology Journal

   o  Project Failure Prevention, by Tom Gilb

   o  Public eValid Training Course Schedule

   o  Special Issue of Journal of Systems and Software: Component-
      Based Software Engineering of Trustworthy Systems

   o  Special Issue of ACM Transactions on Internet Technology:
      Middleware for Service-Oriented Computing

   o  QTN Article Submittal, Subscription Information


Fifth International Workshop on Requirements for High Assurance Systems
                        (RHAS'05 - Chicago)

                    held in conjunction with the

The Sixteenth International Symposium on Software Reliability Engineering


 The Fifth International Requirements Engineering for High-Assurance
Systems Workshop (RHAS05 - Chicago) is a one day workshop that
addresses the special challenges of engineering the requirements of
software-intensive systems, the performance and dependability of
which are both mission critical. For such systems, it is thus
critically important that requirements engineers collaborate with
specialty engineers to proper engineer both:

  * Performance requirements (e.g., jitter, latency, response time,
    schedulability, and throughput)
  * Dependability requirements (e.g., defensibility, operational
    availability, predictability, reliability, robustness, safety,
    security, stability, and survivability)

Position papers will be submitted and reviewed prior to the
conference, and published for the conference if accepted. During the
morning of the workshops, authors of accepted position papers will
present a brief summary of their papers. During the afternoon of the
workshop, the attendees will work in a collaborative setting to:

  * Identify and explore important challenges and risks
  * Propose, formulate, and evaluate promising solutions

                           WORKSHOP GOALS

To bring together in a small focused working group practitioners,
consultants, and researchers to:

  * Exchange ideas and their experiences concerning the engineering
    of performance and dependability requirements
  * Identify and explore important challenges and risks
  * Propose, formulate, and evaluate promising solutions
  * Identify open research problems

                         TOPICS OF INTEREST

Requested topics for position papers include but are not restricted

  * Practical ways to quantify, verify, and validate performance and
    dependability requirements
  * Turning soft goals into hard requirements
  * Relationships between reliability and other quality requirements
  * Making engineering trade-offs between competing quality
  * Appropriate tools and techniques for the elicitation, analysis,
    specification, evaluation, reuse, and management of these
    critical requirements for high-assurance systems
  * The role of formal requirements specification when engineering
    high-assurance systems
  * The relationship between system and software requirements
    including how to properly derive critical software quality
    requirements when engineering high-assurance requirements.


                   About the French Testing Board


The French Testing Board was founded in 2004. The board works out
the syllabus and examination questions. At the moment, the board
consists of members (see below). These people all work on a
voluntary basis on the board. All do either already have experience
on the Testing Board of another country, are specialists in the
field of testing or have been working on an international standard
for the testing of software for a while. Chairman of the board is
Bernard Homes.

                           Board Members

Bernard Homes: Speaker and member of IEEE
Jacques Printz: Professor CNAM, Software Development
Fabrice Grimbert: Technical Manager Eurogiciel
Jean-Pierre Imbert: CEO JPI Conseil, Member of French
        Normalization Board AFNOR
Stephan Hostie: consultant Synspace
Olivier DiGiorgio: CEO Softexperior
Robert Treffny: CEO iSQI


        eValid General Description and Main Feature Summary

evalid is built with a web testing technology that makes it very
easy to use and very accurate when testing web browser enabled
applications.  Here is a short summary:

                 eValid Offers Distinct Advantages

There is a significant difference between systems that are based on
using HTTP/S activity vs. eValid's full-browser technology, as
described here:

We have very high confidence in eValid's ability to play back tests
of ANY website, and we even have a 100% guarantee of this:

eValid has been used in a variety of ways on customer projects, and
we are very proud of the success stories that have resulted:

                eValid Provides Superior Record/Play
                     Regression Testing Support

We believe eValid's GUI is very easy to use.  And, somewhat as a
"tongue in cheek" comment, we even have a "management-level 30-
minute test" which we think eValid passes quite handily:

Here is how eValid handles secure data ID fields when the are used
to maintain context in a secure session:

Here is the complete description of eValid's validation modes:

Flash objects are "opaque" to eValid -- none of the internal
structure is visible to the outside.  Because Flash objects are
opaque they often present record/play difficulty, but they can be
tested quite reliably with some care.  For details see:

Testing of Java applets within eValid is complicated by the fact
that, to the eValid browser, an applet appears as an opaque object.
eValid has special applet processing and support commands, described
in more detail here:

Adaptive playback, a unique feature of eValid that adaptively
figures out how to behave correctly, even when the underlying page
changes, is described at:

There is a built-in capability to pre-specify values for parameters
in an eValid script, described in detail here:

              LoadTest Runs Build on Functional Tests

Also, in trying to squeeze the absolute most out of a machine that
is being used for load testing, you may want to consider some or all
of the suggestions given at:

The eValid LoadTest system has a powerful Scenario Editor that makes
the process of lifting functional tests into sophisticated server
loading scenarios involving multiple users.  See the description at:

The Infinite User Key (IUK) is a procedure used to apply eValid
LoadTest scenarios to an unlimited number of machines for a fixed
time period.  See the details at:

eValid load tests, run multiple browsers, and how many you can get
to run at one time is a function of a number of factors, the primary
one being available RAM.  Here are some results of some calibration

eValid includes a special load testing support utility called
eVlite, which reads eValid scripts and generates non-coherent HTTP
activity.  See the details about eVlite at:

We offer budget-priced server loading projects that help you
optimize server capabilities using 100% realistic tests.  See:

             eValid Has a Variety of Support Subsystems

eValid has ~60 switches that control executions from the Windows
command line, described here:

eValid has a powerful interactive interface that effectively makes
the entire eValid script language into the programmatic interface,
as described in detail in this page:

Regression test management is done from the eV.Manager component,
which can run 1000's of tests automatically, as described here:

eValid has a powerful test data generator which will let you try
large and complex datasets in sequential or random mode, as
described here:

eValid has a powerful Data Synthesis capability that lets you run
complex tests for large numbers of combinations of data, described

We have support for ASPs that will keep your costs down to a very
low level, described in:

There are many license access options available with eValid, as
described in these two pages:

Commercial List Prices for the entire eValid product line are found

Here is the special server loading prices list that extends the
regular Server Loading Bundle to either a multiple set of 1-week
IUKs or continuous multi-machine playbacks:

Details on eValid Maintenance Subscriptions can be found at:

You can download an evaluation copy of eValid from:


              Call for Papers on Services Engineering

Special Issue of the International Journal of Web Services Research (JWSR)


                           GUEST EDITORS

S.C. Cheung (
The Hong Kong University of Science and Technology

Jun Han (
Swinburne University of Technology

                          CALL FOR PAPERS

With recent advances in network technologies and infrastructure,
there is increasing demand for ubiquitous access to networked
services. New challenges arise in the study of services engineering,
an emerging research area devoted to the software engineering of
service-oriented applications. Services Engineering is an important
area of the Services Computing Discipline, as promoted by the IEEE
Computer Society. Its goal is to formulate effective solutions to
the quality development, deployment and management of these
applications. The first International Workshop on Services
Engineering (SEIW 2005) will be held at Melbourne in September 2005.
This special issue aims to succeed the workshop and present the
latest original research results or industrial experience in
Services Engineering.

Topics of interest include, but not limited to, the following.

   Mathematical foundation of services engineering
   Service oriented architecture
   Services interoperability
   Services for ubiquitous applications
   Requirements engineering for services computing applications
   Design methodologies for services engineering
   Model driven architecture for services engineering
   Analysis and design patterns for services
   Refactorization of services
   Services verification and validation
   Services testing
   Quality of services and deployment issues
   Resource management for services computing
   Service oriented business process integration and management
   Dependability of services
   Survivability and reliability of services engineering
   Trust, security and privacy of services engineering
   Agent technologies for services engineering
   Context awareness and management
   Ontological and semantic matching of services
   Services engineering life cycle
   Evaluation and experimentation of services engineering
   Industrial case studies


                   eValid Success Story Summaries

        eValid's browser-based technology for analyzing and
testing websites has helped hundreds of customers achieve new levels
of accuracy and repeatability in their web applications. Here is a
sampling of success stories about how eValid has helped customers in
novel and unusual ways.

  o Remote Measurement & Reporting:  A popular auction website used
    a specially packaged version of eValid to remote-capture
    detailed user behavior data. The eValid package was deployed to
    1000's of field computers to obtain detailed end-user
    measurement of response time and performance data of how quickly
    the site behaved in a battery of two dozen separate tests.

  o Remote Loading:  Using eValid developed functional tests and a
    battery of DSL-based test machines, eValid LoadTests were able
    to overload the website of a well known document storage and
    manipulation website and identify major system bottlenecks.

  o Download Timing:  A major gaming company used eValid functional
    test monitoring services to analyze the time customers need to
    download their medium-sized (10 MByte) application.  After
    several months they were able to make server adjustments that
    decreased total download times and minimized the variance in
    performance their users has

  o Production Monitoring:  A commercial monitoring firm uses eValid
    transactions on commercial basis to protect customers' website
    investment by assuring availability and response time.  The
    service applies 1000's of plays per day -- over 2 million tests
    per year -- using multiple machines and multiple levels of

  o Search Timing:  eValid scripts were used to establish actual
    "below the fold" timing data for a popular web search engine.
    After analysis of many weeks of data the customer made changes
    in their site structure that significantly improved response
    times and result customer success rates.

  o Three-Tier Monitoring:  A well known e-commerce site uses eValid
    script-based three-tier transaction monitoring to assure
    compliance with a minimum performance criteria ("a simulated
    user has to be able to complete a transaction in less than 120

  o Site Comparison:  On behalf of a European financial news
    journal, eValid website comparisons were done of 150 different
    financial institution websites. The detailed data developed in
    the eValid scans of these websites was used to characterize
    likely user website satisfaction in terms of response time,
    quality and integrity of links, and other matters.

  o VPN Appliance Testing:  A manufacturer of a Virtual Private
    Network appliance has been using eValid to generate large
    amounts of web browsing traffic to confirm the quality and
    reliability of their equipment when applied in "real world"

  o Monitoring Integration:  eValid has been integrated into a
    well-known system monitoring system to provide transaction
    oriented checking and timing support in addition to standard
    forms of network status reporting. Dozens of customers are
    experiencing increased quality of service (QOS) with this
    combined analyzing and reporting technology.  been noting.

  o Custom Browser Development: A firm involved in developing a
    sophisticated network monitoring system needed a customer
    browser to incorporate in their product. eValid built a special
    version for them, branded to their specification and dressed
    with their logos. The eValid-built browser component of their
    product enhanced the value of their business and helped them
    attract a profitable merger with a much-larger monitoring firm.

For complete details on all of these success stories please see the
complete explanations reachable from:


       Understanding the Social Side of Software Engineering

             Qualitative Software Engineering Research

  Special Issue of the Information and Software Technology Journal


Software engineering is a social activity. To better understand the
social side of software development, the software engineering
community has been discussing the use of qualitative methods from
the social sciences to complement quantitative research approaches.

Though a number of workshops have been held, e.g., in conjunction
with the International Conferences on Software Engineering
(, icse2000/ ),
relevant research is scattered. Contributions are published in a
number of research communities in addition to Software Engineering,
e.g., Information Systems and Computer Supported Cooperative Work.
Taking the number of publications in the different communities in
consideration, it indicates a rich body of ongoing research in the

This special issue is meant to provide an overview of the state of
the art of qualitative software engineering research. We especially
invite articles presenting concrete case studies that can illustrate
how the above-mentioned methodological challenges can be addressed.
The choice of method and the concrete experience with the chosen
approach should be reflected upon. We plan to provide an
introduction into the existing research and the specific challenges
of qualitative software engineering research.

                           Guest Editors

Yvonne Dittrich, corresponding guest editor
  ITU of Copenhagen, Denmark

Michael John
  Frauenhofer Institute in Berlin, Germany

Janice Singer
  National Research Council Canada

Bjornar Tessem
  University of Bergen, Norway,


                     Project Failure Prevention

                            by Tom Gilb

It is now well known and well documented that far too many projects
fail totally or partially, both in engineering generally and in
software engineering. As an international consultant for decades,
involved in a wide range of projects and involved in saving "almost
failed" projects, my basic premises are that we both get our
requirements wrong and we do not focus our design energy and project
management energy on meeting a clear correct set of project

We can summarize project control by the following set of principles:

 1. The critical few product objectives of the project need to be
    stated measurably.

 2. The project team must be rewarded to the degree they achieve
    these critical project objectives.

 3. There must be a top-level architecture process that focuses on
    finding and specifying appropriate design strategies for
    enabling us to meet the critical product performance levels on

 4. Project specifications should not be polluted with dozens of
    unclear terms per page; there needs to be a specification
    quality control, =20=

    and an exit at less than one major defect remaining per page.

 5. Design review must be based on a clean specification, and should
    be focused on whether designs meet their multiple requirements.

 6. The high-risk strategies need to be validated early, or swapped
    with better ones.

 7. Adequate resources need to be allocated to deliver the design

 8. The stakeholder value should be delivered early, proven, and
    continuously. If you run out of resource unexpectedly, then most
    value should be delivered already.

 9. The requirements should not put unnecessary constraints on the
    delivery of performance and consequent value.

10. The project should be free to give priority to value delivery,
    and not be constrained by well-intended processes and standards.

There was a time when software and IT were "Wild West." Anybody who
could program did things as they knew best. In many places, we are
not far off from that model today. But in other places, the need to
get higher consistent standards of professionalism has swung the
pendulum too far the other way. Things like CMMI (see are thorough and well intended, but
almost no such recommended frameworks and processes encourage or
permit focus on the main results of a project. Consequently, there
is a great, inevitable danger that this results focus will be lost
in =20 practice.

Everywhere I look, I see that result -- no results focus -- with or
=20 without the distraction of CMMI and the like. This includes the
agile methods.  My own attempt to refocus is simple:

"A Simple Evolutionary Project Management Method Project Process

 1. Gather from all the key stakeholders the top few (5 to 20) most
    critical performance (including qualities and savings) goals
    that the project needs to deliver. Give each goal a reference
    name (a tag).

 2. For each goal, define a scale of measure and a "final" goal
    level.  For example: Reliability: Scale: Mean Time Between
    Failure, Goal: > 1 month.

 3. Define approximately four budgets for your most limited
    resources (for example, time, people, money, and equipment).

 4. Write up these plans for the goals and budgets (try to ensure
    this is kept to only one page).

 5. Negotiate with the key stakeholders to formally agree on the
    goals and budgets.

 6. Plan to deliver some benefit (that is, progress toward the
    goals) in weekly (or shorter) increments (Evo steps).

 7. Implement the project in Evo steps. Report to project sponsors
    after each Evo step (weekly or shorter) with your best available
    estimates or measures, for each performance goal and each
    resource budget.
    * On a single page, summarize the progress to date toward
    achieving the goals and the costs incurred.
    * Based on numeric feedback and stakeholder feedback, change
    whatever needs to be changed to reach goals.

 8. When all goals are reached, claim success and move on. Free the
    remaining resources for more profitable ventures.

[For more details, see the author's just-published book *Competitive
Engineering: A Handbook for Systems Engineering, Requirements
Engineering, Software Engineering Using Planguage*. The book was
released in the UK on 15 July and is available in the US.  for free
delivery to Europe, the Middle East, and Africa, enter code AFU4 in
the "offer" box at:

                              Tom Gilb
                             ----------, +47 920 66 705 (SMS MMS Mobile)


               Public eValid Training Course Schedule
The next public eValid training courses in San Francisco have been
scheduled.  Space for these events is limited so reserve your seat

    o Wednesday, Thursday, Friday: 14-16 December 2005
    o Wednesday, Thursday, Friday: 22-24 February 2005

Options for 1-day and 2-day versions are possible. The complete
curriculum for these training sessions can be seen at:


      Elsevier Journal of Systems and Software - Special Issue

                     Deadline: 15 December 2005


With the continuing miniaturization, integration and globalization
of information and communication technologies (ICT), embedded
computing systems (electronics and software) are becoming pervasive.
Embedded computing systems are the fastest growing sector in ICT
today. Business, science, engineering, health and government
services and processes are critically relying on distributed
embedded real-time systems with ICT components adding direct
business value in a wide variety of application domains, such as
collaborative and agile processes (for example in emergency
services, aerospace projects or financial markets); equipment
control (for plants, hospitals, synchrotrons or telescopes, say);
automation (such as in utilities and advanced manufacturing); sensor
networks (for adhoc networks, diagnostics, environmental management
or defense, for example); asset tracking (for instance in transport
and defense); and last but not least, national security (e.g., in
defense and government).

Over the past decade or so, component-based (CB) software
engineering has become a key enabler for this transformation. Its CB
models, methods, middleware, languages and tools mirror physical
component architectures and/or virtualize them and assist in
controlling their inherent processes, in a world of software
artifacts, products and product lines. They blur the boundaries
between hardware and software by permitting hierarchies and networks
of hybrid component abstractions, defined for example in industry
design standards such as UML2, OSA, IEC61131 and IEC61499, and in
widely used software technologies such as Microsoft's .NET or Sun
Microsystem's JavaTM to mention just a few. The flexibility of
software solutions, their capability of abstracting from the
heterogeneity of the underlying hardware devices and operating
systems services, and, last but not least, their lower production
and management cost is also gradually shifting the boundary between
hardware and software. Increasingly, distributed embedded computing
systems become software-intensive and shift the balance of cost more
and more from hardware to software in planning, development and


Across all social and economic sectors, modern society depends
critically on CB software engineering of such embedded and pervasive
real-time systems. While CB technologies provide many advantages
they still meet many challenges that are characteristic for
distributed embedded systems (for example resource utilizations,
real-time requirements, high-availability, reliability, robustness,
safety, privacy, security etc.). The software engineering community
therefore aims increasingly at trustworthy and dependable CB
systems. This JSS special issue on Component-Based Software
Engineering of Trustworthy Embedded Systems aims to address this
critical issue. We invite articles on open problems, leading-edge
research and state-of-the-art solutions. The Elsevier Journal of
Systems and Software seeks to bridge theory and practice. Both
theoretical and practical articles are encouraged for this special
issue. However, theoretical articles must include some empirical
evaluation, practical demonstration, or substantive discussion of
the practical application of the proposed idea.

Topics of interest include:

  * Modeling and prediction of extra-functional properties (safety,
    reliability, time, privacy, trust etc.) of component-based
    embedded and pervasive software systems
  * Component-based resource allocation and utilization models
    (scheduling, storage, cost etc.) for embedded and pervasive
    real-time software
  * Fault-tolerance and recovery awareness in distributed component-
    based software-intensive systems
  * Rich component-based design of distributed real-time
    infrastructures with predictable properties and verifiable
  * Design automation and automated management of component-based
    distributed real-time systems
  * Model-checking and dynamic monitoring of component-based
    distributed and embedded systems
  * Dynamic reconfiguration, adaptation and self-organization of
    component-based embedded and pervasive systems

All papers will be subject to a thorough peer review process.

Guest Editors:  Ivica Crnkovic, Mdlardalen University, Vdsteres
(Sweden), George T. Heineman, Worcester Polytechnic Institute,
Worcester (USA), Heinz Schmidt, Monash University, Melbourne
(Australia), Judith Stafford, Tufts University, Boston (USA), Kurt
Wallnau, Software Engineering Institute, Carnegie Mellon University,
Pittsburgh (USA)

David Card


              ACM Transactions on Internet Technology

                          Special Issue on

             Middleware for Service-Oriented Computing

Middleware is a distributed software layer that sits above the
network operating system and below the application layer and
abstracts the heterogeneity of the underlying environment. It
provides an integrated distributed environment whose objective is to
simplify the task of programming and managing distributed
applications, and to provide value-added services such as naming and
transactions to enable easier development and integration of
applications and services. Middleware is about integration and
interoperability of applications and services running on
heterogeneous computing and communications devices. The role of
middleware will continue to become increasingly important especially
in emerging technologies  such as mobile- and service-oriented
computing and web services, where the integration of different
applications and services from different wired and wireless
businesses and service providers become increasingly important.

Service-oriented computing is based on the Service-Oriented
Architecture (SOA), which is an architectural style for building
software applications that use services available in a network such
as the web. It promotes loose coupling between software components
so that they can be reused. Applications in SOA are built based on
services, which is an implementation of a well-define business
functionality, and such services can be consumed by clients in
different applications or business processes. SOA provides a level
of flexibility that was not possible before in the sense that
services are software components with well-defined interfaces that
are implementation independent, that services can be dynamically
discovered, and composite services can be built from aggregates of
other services. Especially applications running on mobile devices
can benefit from the flexibility which is provided by SOA. All those
benefits, however, raise challenges that need to be addressed by
middleware. Middleware will play an essential role in managing and
provisioning service-oriented applications. As a result, middleware
will be everywhere!

The aim of this special issue  is be to present most recent research
findings on middleware for service-oriented computing. We are
seeking papers that are original, unpublished and not currently
under review by workshops, conferences, or other journals.

Possible topics include, but are not limited to the following:

Middleware for selection and interaction among services Middleware
for dynamic selection and composition of services/applications
Middleware for dynamic coordination of services/applications
Middleware for context-aware services/applications Middleware for
managing services/applications Middleware for provisioning QoS-
enabled services/applications Middleware for interoperable services
Performance evaluation of middleware for service-oriented computing

Guest Editors

Qusay H. Mahmoud Dept. of Computing & Information Science University
of Guelph, Guelph, ON, N1G 2W1 Canada qmahmoud AT

Peter Langendoerfer IHP-Microelectronics Frankfurt (Oder), Germany
langendoerfer AT http://www.ihp-
    ------------>>> QTN ARTICLE SUBMITTAL POLICY <<<------------

QTN is E-mailed around the middle of each month to over 10,000
subscribers worldwide.  To have your event listed in an upcoming
issue E-mail a complete description and full details of your Call
for Papers or Call for Participation at

QTN's submittal policy is:

o Submission deadlines indicated in "Calls for Papers" should
  provide at least a 1-month lead time from the QTN issue date.  For
  example, submission deadlines for "Calls for Papers" in the March
  issue of QTN On-Line should be for April and beyond.
o Length of submitted non-calendar items should not exceed 350 lines
  (about four pages).  Longer articles are OK but may be serialized.
o Length of submitted calendar items should not exceed 60 lines.
o Publication of submitted items is determined by Software Research,
  Inc., and may be edited for style and content as necessary.

DISCLAIMER:  Articles and items appearing in QTN represent the
opinions of their authors or submitters; QTN disclaims any
responsibility for their content.

TRADEMARKS:  eValid, HealthCheck, eValidation, InBrowser TestWorks,
STW, STW/Regression, STW/Coverage, STW/Advisor, TCAT, and the SR,
eValid, and TestWorks logo are trademarks or registered trademarks
of Software Research, Inc. All other systems are either trademarks
or registered trademarks of their respective companies.

        -------->>> QTN SUBSCRIPTION INFORMATION <<<--------

To SUBSCRIBE to QTN, to UNSUBSCRIBE a current subscription, to
CHANGE an address (an UNSUBSCRIBE and a SUBSCRIBE combined) please
use the convenient Subscribe/Unsubscribe facility at:


               Software Research, Inc.
               1663 Mission Street, Suite 400
               San Francisco, CA  94103  USA

               Phone:     +1 (415) 861-2800
               Toll Free: +1 (800) 942-SOFT (USA Only)
               FAX:       +1 (415) 861-9801
               Web:       <>