http://www.cs.vassar.edu/faculty/welty/ase/

 

http://www.softwaredioxide.com/

 

·       Analysis and design methods

·       Concurrent, real-time, parallel systems

·       Databases and object persistence

·       Patterns

·       Methodologies for agent-oriented analysis and design

·       Distributed and mobile object systems

·       Frameworks and software architectures

·       Language design and implementation

·       Object testing and metrics

·       Programming environments

·       Metaprogramming

·       Separation-of-Concerns Programming

·       Reflection, adaptability, composability and reusability

·       Theoretical foundations

 

  Aspect Software Engineering

·       Methods for defining and isolating aspects are essential to the engineering

·       of small to large-scale software systems. Examples of aspects include debugging,

·       logging, coordination, fault-tolerance, synchronization and security (access

·       control/capability) which in non aspect-oriented programming techniques

·       may produce applications that are hard to maintain, understand and evolve

·       to meet future requirements.

·       provides direct support for separating and weaving concerns that crosscut

·       the functional components in a typical software system. AOSD provides various

·       mechanisms to express, adapt, isolate and reuse crosscutting concerns in

·       the software development. Research in AOSD is reaching maturity with a number

·       of active research products. The Communication of the ACM October 2001 issue

·       and the web site http://www.aosd.net are an excellent starting point to

·       learn about the many software efforts being conducted in this exciting new

·       research area.

·       The ultimate goal of this session is to bring users and researchers together

·       to present work related to AOSD and those who want to learn about AOP and

·       techniques for separating crosscutting concerns in the software development.

·       The session will thus present opportunities for discussing further evolutions

·       and their expected benefits.

 

·       Selected papers may be published in a special issue journal

·       Topics of Interest

·       The scope of this Session encompasses but is not limited to:

A.             Technological Support for AOSD

§       A.Programming languages design and implementation.

§       B.Programming environments and development tools.

§       C.Reflection and Meta programming.

§       D.Aspect-oriented middleware.

§       E.Design languages and notations

§       F.Design heuristics and architectural/design patterns

B.             Formal Methods and Verification

§       A.Conflicting concerns: detection and means for composition

§       B.Consistency management between concerns

§       C.Formalization of Aspects and weaving

§       D.UML related proposals to support aspect-orientation

C.            Software Development Process

§       A.Software architecture, evolution and reuse

§       B.Risk, cost and quality management

§       C.Frameworks for AOSD.

§       D.Aspect-oriented modeling and automated code generation

D.            Experience Reports

§       A.Experience with AO languages and weaving tools

§       B.Experience with CASE tools for AOD/Paper Submission Guidelines

·       For more information:

·       http://www.iit.edu/~concur/EVENTS/AOSD1.html

   

Open Software Systems

http://sern.ucalgary.ca/~maurer/ICSE99WS/Submissions/Cubranic/Cubranic.html

 

·       In May 2001, “Making Sense of the Bazaar: The 1st Workshop on Open

·       Source Software Engineering” was held at the 23rd International

·       Conference on Software Engineering (ICSE 2001) in Toronto, Ontario,

·       Canada.  Since then, interest in Open Source Software (OSS) has

·       continued to gain momentum, both in the practitioner and research

·       communities.  The goal of this year’s workshop is to bring together

·       researchers and practitioners to discuss both the short and long term

·       sustainability of OSS.  Specifically, the workshop will seek to

·       address the quality and maintainability of OSS products and tools,

·       the replicability and portability of the OSS software engineering

·       process and tool kit, the stability and sustainability of OSS

·       developer and user communities, and the viability and profitability

·       of OSS business models.

 

·       The discussion will be organized around four key themes:

 

1.  The quality and maintainability of OSS products.  This includes,

·       but is not limited to, the reliability, availability, security,

·       and usability of OSS products and tools; the architectural

·       characteristics of OSS products and tools; and the current and

·       future roles played by OSS products and tools in different

·       application spaces.  Of particular interest is the phenomenon of

·       “boot-strapping”, i.e., the role of OSS software (both existing and

·       potential) in the development of OSS software.

 

2.  The replicability and portability of the OSS software engineering

·       process and tool kit. This includes, but is not limited to, dialogue

·       and knowledge transfer between OSS and traditional software

·       engineering approaches and tool use; comparisons between OSS and

·       other methods of software engineering; and the extent to which

·       traditional software developers are able to effectively adopt OSS

·       tools and techniques.

 

3.  The stability and sustainability of OSS developer and user

·       communities.  This includes, but is not limited to, the

·       community-based management of knowledge, reputation and trust;

·       mechanisms and practices for effective collaboration; and comparisons

 

·       between company-led (or company-enabled) OSS development teams and

·       emergent, volunteer communities.

 

4.  The viability and profitability of OSS business models. This

·       includes, but is not limited to, the sustainability of pure-play OSS

·       business models; the emergence of hybrid proprietary-OSS business

·       models; and the impact of intellectual property law on OSS.

 

 

 

·       PEER TO PEER COMPUTING

 

·       Peer-to-peer  computing  has  recently  gained  popularity  thanks  to  the

·       emergence  of   file  sharing  applications   over  the  Internet.    In  a

·       peer-to-peer  system, users are  at the  same time  users and  providers of

·       information,    which    is     usually    exchanged    through    pairwise

·       interactions. Moreover, peers  may come and go, and  yet the system retains

·       the ability to  query the currently available peers  for information.  This

·       change  of  perspective,  that   sets  peer-to-peer  computing  apart  from

·       traditional client-server  computing, holds the  potential for beneficially

·       impacting   a   number   of   factors,  including   the   flexibility   and

·       reconfigurability of  the overall system, its scalability,  and the privacy

·       and anonymity  of the users.  Moreover, the exploitation of  a peer-to-peer

·       paradigm  is not  necessarily constrained  to the  domain of  Internet file

·       sharing. Indeed, the aforementioned advantages are likely to exist also for

·       applications in the enterprise  environment, where peer-to-peer systems may

·       radically  change  the  way  information  is  exchanged  and  collaboration

·       activities are performed.

 

·       Although  the  concept of  peer-to-peer  computing  is  far from  new,  its

·       application to modern distributed computing systems and applications brings

·       in new problems and research  challenges. For instance, how to discover new

·       peers appearing  in the  system? How to  route information  searches across

·       such a fluid environment? How  to guarantee security properties? Hence, the

·       research  issues  involve several  areas,  including networking  protocols,

·       distributed algorithms, middleware and software architectures, coordination

·       models,  security. Interestingly,  the  highly dynamic  environment set  by

·       peer-to-peer computing  shares several problems with  mobile computing, and

·       in  particular  with  ad hoc  networking,  where  the  absence of  a  fixed

·       networking  infrastructure mandates  peer-to-peer interactions  between the

·       mobile hosts. For  this reason, the workshop will  devote special attention

·       to contributions that exploit the potentiality of the peer-to-peer paradigm

·       in a mobile setting or analyze the possible synergies of these two areas.

 

·       This workshop  aims at bringing  together researchers and  practitioners in

·       the field of  peer-to-peer computing, with the goal  of assessing the state

·       of the art  and of identifying the fundamental open  issues in the research

·       field.

 

·       ** AREAS OF INTEREST

 

·       Contributions  are   sought  regarding  any  research   issue  specific  to

·       peer-to-peer  computing,  spanning   from  theoretical  aspects  to  system

·       implementation.

 

·       Hence, topics include, but are not limited to:

 

·       middleware and architectures

·       security and privacy

·       algorithms and protocols for peer discovery and for routing searches

·       sharing and coordination abstractions and models

·       experience reports

 

Patterns

 

 

http://www.cos.ufrj.br/~sugarloafplop/

SUBMISSIONS DUE: 31 MAR 2002

 

DASC (digital avionics systems conference)

flight critical systems, health monitoring, aging aircraft /

retrofit, situation displays and synthetic vision, intelligent systems,

system engineering, open systems, and software engineering -- and papers discussing the application of avionics to a variety of domains, including spacecraft and satellites, general aviation, and uninhabited air vehicles / missiles. In addition, the theme of this DASC will focus on Air Traffic Management for Civilian and Military Systems, with tracks devoted to ATM concepts, demonstrations and evaluations, and Communication, Navigation and Surveillance (CNS) Technologies.

 

 

Overview:

One of the remaining problems in the domain of software reuse is

how to model the different reusable assets (e.g., features,

subsystems, components, aspects) and how to describe and reason

about systems composed out of such reusable assets. Many notations

exist to model software requirements and designs, but unfortunately

they do not provide any notion for the composition of several

assets. This means, there is no support when combining several

assets to form a larger asset. Especially, there is no modelling

support given by currently used notations (like UML) to check the

reusability and consistency of assets and to check the consistency

of different views (e.g., dynamic models like state-charts and

message sequence charts). That makes it hard to reuse existing

parts, to build families of systems, and to split up requirements

or design work between several people.

In this workshop we are looking for modelling approaches enabling

the development of reusable subsystems with reasonable effort by

abstracting from details. This model-based approach to reuse should

not only allow the modeling of the required features of the system

to be built but they should also be able to describe the system as

an assembly (or configuration) of different decomposed assets. To

make reuse of the existing assets in new contexts meaningful models

of assets have to be found allowing (a) to define the desired

interactions between the different assets, (b) to detect

undesirable negative interferences of assets and (c), ultimately,

the possibility to predict properties of the overall system out of

the assets' properties. This would allow to check the properties of

the assembled (or configured) system against the requirements. Even

if not able to prove that the system is fully compliant to the

requirements, a model-based approach in reuse supports the

detection of inconsistencies and interoperability problems in early

stages of software development.

Since the issue of software composition has been raised in many

different reuse-communities, such as component-based software

engineering, software architecture, aspect-oriented programming,

etc., we would like to present and discuss in this workshop common

approaches of model-based reuse and the application and benefits of

these approaches as well as the challenges.

Topics of interest include but are not limited to:

* Models defining the assets to be reused.

* Models describing requirements, models of the architecture of

composed systems.

* Determining and modeling features on the requirements level.

* Composition and interaction problems in research and industry.

* Artificial intelligence supporting the developer with

composition and interaction problems.

* Theoretical foundation of modeling and asset inconsistency

detection and specification.

* Methods to assure certain qualities of service after composition.

* Modelling of assets and their desired relationships.

* Detection of undesired negative asset interaction.

* Conformance between model and implementation / reality and

corresponding consequences for reasoning about the

implementation / reality.

 

 

http://www.di.unipi.it/~brogi/fmci.html

 

Component-based software engineering (CBSE), is an emerging development

paradigm that promises to accelerate software development and to reduce

costs by assembling systems from prefabricated software components.

Designing, developing and maintaining components for reuse is, however,

a very complex process, which places high requirements not only for

component functionality and flexibility, but also for the development

organization. CBSE covers many software engineering disciplines and

different techniques which still have not been fully defined, explained

and exploited either from theoretical or practical points of view.

The aim of the conference track is to bring together practitioners and

researchers from academia and industry to improve the theories,

technologies, and processes in component-based software development. We

encourage submissions of both theoretical nature and experience

reports from academia and especially from industry. Suggested areas of

interest include, but are not restricted to:

 

Building systems from components Component-based embedded systems

Component Specification COTS (Commercial off theshelf)

Component Evaluation Case Studies

Component-based Architecture Component-based Software Metrics

Component compositions CBSE Organizational Issues

Software Product-line Approach

Component-based Requirements Engineering

Component Design, Implementation, Testing

CBSE and Aspect-oriented programming

Component Development Processes Component Models and Technologies

Components and Reuse Development Environment and Tools

Component Configuration Management Components for Real-time systems

Building systems from components Component-based embedded systems

Component Specification COTS (Commercial off theshelf)

Component Evaluation Case Studies

Component-based Architecture Component-based Software Metrics

Component compositions CBSE Organizational Issues

Software Product-line Approach

Component-based Requirements Engineering

Component Design, Implementation, Testing

CBSE and Aspect-oriented programming

Component-based software engineering (CBSE), is an emerging development

paradigm that promises to accelerate software development and to reduce

costs by assembling systems from prefabricated software components.

Designing, developing and maintaining components for reuse is, however,

a very complex process, which places high requirements not only for

component functionality and flexibility, but also for the development

organization. CBSE covers many software engineering disciplines and

different techniques which still have not been fully defined, explained

and exploited either from theoretical or practical points of view.

The aim of the conference track is to bring together practitioners and

researchers from academia and industry to improve the theories,

technologies, and processes in component-based software development. We

encourage submissions of both theoretical nature and experience

reports from academia and especially from industry. Suggested areas of

interest include, but are not restricted to:

 

Component Development Processes Component Models and Technologies

Components and Reuse Development Environment and Tools

Component Configuration Management Components for Real-time systems

Building systems from components Component-based embedded systems

Component Specification COTS (Commercial off theshelf)

Component Evaluation Case Studies

Component-based Architecture Component-based Software Metrics

Component compositions CBSE Organizational Issues

Software Product-line Approach

Component-based Requirements Engineering

Component Design, Implementation, Testing

CBSE and Aspect-oriented programming

Component-based software engineering (CBSE), is an emerging development

paradigm that promises to accelerate software development and to reduce

costs by assembling systems from prefabricated software components.

Designing, developing and maintaining components for reuse is, however,

a very complex process, which places high requirements not only for

component functionality and flexibility, but also for the development

organization. CBSE covers many software engineering disciplines and

different techniques which still have not been fully defined, explained

and exploited either from theoretical or practical points of view.

The aim of the conference track is to bring together practitioners and

researchers from academia and industry to improve the theories,

technologies, and processes in component-based software development. We

encourage submissions of both theoretical nature and experience

reports from academia and especially from industry. Suggested areas of

interest include, but are not restricted to:

 

Component Development Processes Component Models and Technologies

Components and Reuse Development Environment and Tools

Component Configuration Management Components for Real-time systems

Building systems from components Component-based embedded systems

Component Specification COTS (Commercial off theshelf)

Component Evaluation Case Studies

Component-based Architecture Component-based Software Metrics

Component compositions CBSE Organizational Issues

Software Product-line Approach

Component-based Requirements Engineering

Component Design, Implementation, Testing

CBSE and Aspect-oriented programming

 

 

Component-Oriented Platforms

 

Aims and scope

--------------

While available component-oriented platforms address software

interoperability at the signature level, the way to describe and

reason on the (concurrent) interactive behaviours of components is

still an open research issue. The scope of the workshop is the

application of formal methods to develop well-founded methodologies

for validating and certifying software compositions. The aim of the

workshop is to provide a forum for discussing the application of

formal methods to different aspects of component interaction such as

compatibility, replaceability or adaptation. Contributions on

different aspects of component interaction, such as specification,

analysis, verification, design, and implementation are welcome.

 

 

 

Component-based software engineering (CBSE), is an emerging development

paradigm that promises to accelerate software development and to reduce

costs by assembling systems from prefabricated software components.

Designing, developing and maintaining components for reuse is, however,

a very complex process, which places high requirements not only for

component functionality and flexibility, but also for the development

organization. CBSE covers many software engineering disciplines and

different techniques which still have not been fully defined, explained

and exploited either from theoretical or practical points of view.

The aim of the conference track is to bring together practitioners and

researchers from academia and industry to improve the theories,

technologies, and processes in component-based software development. We

encourage submissions of both theoretical nature and experience

reports from academia and especially from industry. Suggested areas of

interest include, but are not restricted to:

 

Component Development Processes Component Models and Technologies

Components and Reuse Development Environment and Tools

Component Configuration Management Components for Real-time systems

Building systems from components Component-based embedded systems

Component Specification COTS (Commercial off theshelf)

Component Evaluation Case Studies

Component-based Architecture Component-based Software Metrics

Component compositions CBSE Organizational Issues

Software Product-line Approach

Component-based Requirements Engineering

Component Design, Implementation, Testing

CBSE and Aspect-oriented programming

 

Reqts Engineering

 

TOPICS OF INTEREST INCLUDE, BUT ARE NOT LIMITED TO:

- solutions to known RE problems as applied to security and privacy

- RE for confidentiality, integrity, and availability

- industrial problem statements

- generalizations from individual industrial experiences

- RE for trusted Commercial Off-The-Shelf (COTS) systems

- empirical studies of industrial RE practice

- capture and expression of informal and ad hoc requirements

- managing conflicting requirements of operational effectiveness and security

- methods for the specification and analysis of security requirements

- methods for ensuring compliance between requirements and policies

Component Oriented Programming

 

WCOP 2002 seeks position papers on the important field of component-oriented

programming (COP). WCOP 2002 is the seventh event in a series of highly

successful workshops, which took place in conjunction with every ECOOP since

1996.

COP has been described as the natural extension of object-oriented programming

to the realm of independently extensible systems. Several important approaches

have emerged over the recent years, including component technology standards,

such as CORBA/CCM, COM/COM+, JavaBeans/EJB, and most recently .NET, but also the

increasing appreciation of software architecture for component-based systems,

and the consequent effects on organizational processes and structures as well as

the software development business as a whole.

After WCOP'96 focused on the fundamental terminology of COP, the subsequent

workshops expanded into the many related facets of component software. WCOP 2002

has an explicit focus on dynamic reconfiguration of component systems, that is,

the overlap between COP and dynamic architectures. Also, submissions reporting

on experience with component-oriented software systems in practice are strongly

encouraged, where the emphasis is on interesting lessons learned, whether the

actual project was a success or a failure.

COP aims at producing software components for a component market and for late

composition. Composers are third parties, possibly the end users, who are not

able or willing to change components. This requires standards to allow

independently created components to interoperate, and specifications that put

the composer into the position to decide what can be composed under which

conditions. On these grounds, WCOP'96 led to the following definition:

A component is a unit of composition with contractually specified

interfaces and explicit context dependencies only. Components can be

deployed independently and are subject to composition by third parties.

Often discussed in the context of COP are quality attributes (a.k.a. system

qualities). A key problem that results from the dual nature of components

between technology and markets are the non-technical aspects of components,

including marketing, distribution, selection, licensing, and so on. While it is

already hard to establish functional properties under free composition of

components, non-functional and non-technical aspects tend to emerge from

composition and are thus even harder to control. In the context of specific

architectures, what can be said about the quality attributes of systems composed

according to the architecture's constraints?

TOPICS

Topics of interest to WCOP 2002 include, but are not limited to:

* components in distributed embedded systems, including mobile phones and

PDAs

* relating architectural principles/approaches to component software

* addressing variability requirements in component-based solutions

* system design for independent extensibility

* system design for the use of third-party components

* system design for hot-swappable components

* interoperation among component frameworks

* quality attributes

* component-aware processes

* declarative forms of composition/configuration

* deployment attribution / constraints

* component versus application evolution

* domain-specific (vertical) standards

* dynamic architectures

* architecture description languages suitable to guide COP

* performance/efficiency of component-based systems

* organizational aspects

* business aspects

* what worked / what didn't work in practice and lessons learned

 

Reliability and Security

 

As we move past the first wave of the internet and e-commerce based

systems and applications, the concerns about the reliability and

security of these business/mission critical systems are beginning to

surface. Being held in the Washington DC area in close proximity to

the US government agencies, it is only appropriate that we pick

reliability and security of business/mission critical systems as our

theme for ISSRE 2002. We hope to bring a good mixture of theory and

practices to highlight the problems and potential solutions in this

vital area of the information technology. Topics of interest include

(but are not limited to):

- Network system reliability

- Internet reliability engineering

- Quality of network service

- Electronic commerce

- Practice of reliability modeling

- Reliability measurement

- Software testing and verification

- Software reliability models

- Fault-tolerant and robust software

- Software architecture reliability

- Analysis and prevention of virus attacks

- Secure software engineering

- Security testing and certification

- Reliability of distributed systems

- Standards and regulation

- Dependable web-services

 

Web Services and Service-Oriented Architectures

 

IC'2002 Section on Web Services and Service-Oriented Architectures

The 2002 International Conference on Internet Computing (IC'2002)

June 24-27, 2002, Las Vegas, NV, USA

http://fontoura.org/ic2002.html

Call for papers:

Service-oriented architectures (SOA) are a new paradigm for software

development in which agents may dynamically discover and use Internet

services. Internet services are nothing more than components that can be

accessed through the Internet to deliver particular tasks. Examples of

Internet services include online shopping carts, weather information, stock

quotes, and printing.

SOA enhance the traditional software development process, since programmers

can built applications based on Internet services, even if these services

are not yet available or not they are not known by developers. The idea is

that services are described through a service description language,

dynamically discovered by applications that need to use them, and invoked

through the communication protocol defined in its interface.

This flexible architecture has already shown its usefulness. One example is

the automation of the B2B buying process, where buyers can dynamically

discover sellers and perform the buying process without human interaction.

However, there are still many issues that should be addressed in the design

and implementation of service-based applications, including:

- Middleware support for SOA and Web services;

- Extensions and limitations of application protocols (SOAP, WSDL, UDDI);

- Security & trust;

- Service performance and availability;

- Applications of SOA and Web services.

Research papers and industrial reports on the above issues (or on any issue

related to SOA and Web services) are welcome. The review process will be

based on the quality of the submitted papers and their relevance to the

area.

Papers should have up to 7 single sided pages with font size of 10 to 12,

including figures and references. Papers should be submitted by e-mail to

the organizer in MS-WORD, or PDF. The first page of the draft paper should

include: title of the paper, name, affiliation, postal address, e-mail

address, telephone number, and fax number for each author. Accepted papers

will be part of the conference proceedings. The length of the Camera-Ready

papers (if accepted) will be limited to 7 (IEEE style) pages. Papers must

not have been previously published or currently submitted for publication

elsewhere.

 

 

Generators and Components

 

Program generation has the prospect of being an integral part of a

wide range of software development processes. Many recent studies

investigate different aspects of program generation, including their

semantics, their application, and their implementation. Existing

theories and systems address both high-level (source) language and

low-level (machine) language generation. A number of programming

languages now support program generation and manipulation, with

different goals, implementation techniques, and targeted at different

applications. The goal of this conference is to provide a meeting

place for researchers and practitioners interested in this topic.

A particular area of interest is component-based software development,

which bears the promise of considerable productivity increases to

software development comparable to the introduction of the assembly

line in manufacturing. But due to the very same sophistication that

makes components useful, their maintenance can be hard. Generative

programming presents a promising approach to alleviating the above

problems, as changes affecting components can now be more effectively

managed during the generation process rather than at the component

level.

 

* Generative Programming: Reuse, meta-programming, partial evaluation,

multi-stage and multi-level languages,

* Semantics, type systems, symbolic computation, linking and explicit

substitution, in-lining and macros, templates, program transformation,

* Runtime code generation, compilation, active libraries, synthesis from

specifications, development methods, generation of non-code artifacts,

formal methods. Reflection.

* Component-Based Software Engineering: Reuse, distributed platforms,

distributed systems, evolution, analysis and design patterns,

development methods, formal methods

* Integration of Generative and Component-Based Approaches

* Domain Engineering, analysis, and languages

* Separation of Concerns: Aspect-Oriented Programming, Intentional

* Programming, and Multi-Dimensional Separation of Concerns

* Product Lines and generic architectures for that purpose.

* Industrial Applications of Components and Generative Programming

 

The goal of this workshop is to examine the process of component-based

software development in all phases of the development life-cycle (i.e.,

specification, design, composition, testing, deployment) and to identify

how this process needs to be different from traditional software

development. Participation is encouraged both from practitioners to

provide their experiences and help in identifying open questions, and

from researches to suggest methodological support for addressing these

questions. The ultimate goals is thus to enable an exchange of

experience between practitioners and researches concerning the relevance

and feasibility of using the component paradigm throughout the software

life-cycle.

Participation

---------------

Participants are asked to write a position paper (3000-5000 words) on

appropriate concepts, methods and applications. A non-exhaustive list of

topics includes:

- Methodological foundation of component-based software development;

- Modeling of component-based systems (UML and others);

- Tools supporting component-based development;

- Integration of the component paradigm into existing environments;

- Component testing, verification, distribution, maintenance;

- Combination of heterogeneous component technologies;

- Extension of ‚standard’ technologies to support component-based

development

(e.g., databases, languages, compiler, XML etc.);

- Industrial experience reports.

 

 

WWW

 

The WWW is now a familiar channel for information dissemination and gathering among people from all walks of life. The sheer variety and amount of information that may be obtained are staggering. Academics and researchers now have another avenue to publish their research and satisfy their quest for knowledge. Many are discovering and tapping vast amounts of information never dreamed of before. Team workers utilise the Web for remote collaboration. Corporations with business sense have established a Web presence by reconstituting corporate materials and product information for Web publication. The consumer has benefited from access to large amounts of dynamic data; this has also enabled comparison-shopping and assisted decision-making.

Hence, the Web has become somewhat indispensable to many and for various reasons. The aim of this conference is to provide an international forum for researchers, professionals, and industrial practitioners to share their knowledge in the rapidly growing area of Web technologies.

We invite submissions that address both fundamental issues of Web data management and issues related to the development and management of Web-based applications. Suggested topics include, but are not limited to:

* Deep/Hidden Web * Web Ontologies

* Mobile Web Information Systems * Web Performance

* Semantic Web * Web Query Languages

* Web Agents * Web Security

* Web Change Monitoring & Management * Web Services

* Web Commerce * Web Tools & Languages

* Web Data Model * Web Transactions

* Web Information Retrieval * Web Visualization

* Web Intelligence * Web Warehousing

* Web Metrics * Web-Based Business Processes

* Web Mining * XML & Semi-structured data

 

Extreme Programming

 

XProgramming > XP Magazine > What is Extreme Programming?
What is Extreme Programming?
Ron Jeffries
11/08/2001
Extreme Programming is a discipline of software development based on values of simplicity, communication, feedback, and courage. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation.

In Extreme Programming, every contributor to the project is an integral part of the "Whole Team". The team forms around a business representative called "the Customer", who sits with the team and works with them daily.

Extreme Programming teams use a simple form of planning and tracking to decide what should be done next and to predict when the project will be done. Focused on business value, the team produces the software in a series of small fully-integrated releases that pass all the tests the Customer has defined.

Extreme Programmers work together in pairs and as a group, with simple design and obsessively tested code, improving the design continually to keep it always just right for the current needs.

The Extreme Programming team keeps the system integrated and running all the time. The programmers write all production code in pairs, and all work together all the time. They code in a consistent style so that everyone can understand and improve all the code as needed.

The Extreme Programming team shares a common and simple picture of what the system looks like. Everyone works at a pace that can be sustained indefinitely.

Core Practices

Whole Team

All the contributors to an XP project sit together, members of one team. This team must include a business representative -- the "Customer" -- who provides the requirements, sets the priorities, and steers the project. It's best if the Customer or one of her aides is a real end user who knows the domain and what is needed. The team will of course have programmers. The team may include testers, who help the Customer define the customer acceptance tests. Analysts may serve as helpers to the Customer, helping to define the requirements. There is commonly a coach, who helps the team keep on track, and facilitates the process. There may be a manager, providing resources, handling external communication, coordinating activities. None of these roles is necessarily the exclusive property of just one individual: Everyone on an XP team contributes in any way that they can. The best teams have no specialists, only general contributors with special skills.

Planning Game

XP planning addresses two key questions in software development: predicting what will be accomplished by the due date, and determining what to do next. The emphasis is on steering the project -- which is quite straightforward -- rather than on exact prediction of what will be needed and how long it will take -- which is quite difficult. There are two key planning steps in XP, addressing these two questions:

Release Planning is a practice where the Customer presents the desired features to the programmers, and the programmers estimate their difficulty. With the costs estimates in hand, and with knowledge of the importance of the features, the Customer lays out a plan for the project. Initial release plans are necessarily imprecise: neither the priorities nor the estimates are truly solid, and until the team begins to work, we won't know just how fast they will go. Even the first release plan is accurate enough for decision making, however, and XP teams revise the release plan regularly.

Iteration Planning is the practice whereby the team is given direction every couple of weeks. XP teams build software in two-week "iterations", delivering running useful software at the end of each iteration. During Iteration Planning, the Customer presents the features desired for the next two weeks. The programmers break them down into tasks, and estimate their cost (at a finer level of detail than in Release Planning). Based on the amount of work accomplished in the previous iteration, the team signs up for what will be undertaken in the current iteration.

These planning steps are very simple, yet they provide very good information and excellent steering control in the hands of the Customer. Every couple of weeks, the amount of progress is entirely visible. There is no "ninety percent done" in XP: a feature story was completed, or it was not. This focus on visibility results in a nice little paradox: on the one hand, with so much visibility, the Customer is in a position to cancel the project if progress is not sufficient. On the other hand, progress is so visible, and the ability to decide what will be done next is so complete, that XP projects tend to deliver more of what is needed, with less pressure and stress.

Customer Tests

As part of presenting each desired feature, the XP Customer defines one or more automated acceptance tests to show that the feature is working. The team builds these tests and uses them to prove to themselves, and to the customer, that the feature is implemented correctly. Automation is important because in the press of time, manual tests are skipped. That's like turning off your lights when the night gets darkest.

The best XP teams treat their customer tests the same way they do programmer tests: once the test runs, the team keeps it running correctly thereafter. This means that the system only improves, always notching forward, never backsliding.

Small Releases

XP teams practice small releases in two important ways:

First, the team releases running, tested software, delivering business value chosen by the Customer, every iteration. The Customer can use this software for any purpose, whether evaluation or even release to end users (highly recommended). The most important aspect is that the software is visible, and given to the customer, at the end of every iteration. This keeps everything open and tangible.

Second, XP teams release to their end users frequently as well. XP Web projects release as often as daily, in house projects monthly or more frequently. Even shrink-wrapped products are shipped as often as quarterly.

It may seem impossible to create good versions this often, but XP teams all over are doing it all the time. See Continuous Integration for more on this, and note that these frequent releases are kept reliable by XP's obsession with testing, as described here in Customer Tests and Test-Driven Development.

Simple Design

XP teams build software to a simple design. They start simple, and through programmer testing and design improvement, they keep it that way. An XP team keeps the design exactly suited for the current functionality of the system. There is no wasted motion, and the software is always ready for what's next.

Design in XP is not a one-time thing, or an up-front thing, it is an all-the-time thing. There are design steps in release planning and iteration planning, plus teams engage in quick design sessions and design revisions through refactoring, through the course of the entire project. In an incremental, iterative process like Extreme Programming, good design is essential. That's why there is so much focus on design throughout the course of the entire development.

Pair Programming

All production software in XP is built by two programmers, sitting side by side, at the same machine. This practice ensures that all production code is reviewed by at least one other programmer, and results in better design, better testing, and better code.

It may seem inefficient to have two programmers doing "one programmer's job", but the reverse is true. Research into pair programming shows that pairing produces better code in about the same time as programmers working singly. That's right: two heads really are better than one!

Some programmers object to pair programming without ever trying it. It does take some practice to do well, and you need to do it well for a few weeks to see the results. Ninety percent of programmers who learn pair programming prefer it, so we highly recommend it to all teams.

Pairing, in addition to providing better code and tests, also serves to communicate knowledge throughout the team. As pairs switch, everyone gets the benefits of everyone's specialized knowledge. Programmers learn, their skills improve, they become move valuable to the team and to the company. Pairing, even on its own outside of XP, is a big win for everyone.

Test-Driven Development

Extreme Programming is obsessed with feedback, and in software development, good feedback requires good testing. Top XP teams practice "test-driven development", working in very short cycles of adding a test, then making it work. Almost effortlessly, teams produce code with nearly 100 percent test coverage, which is a great step forward in most shops. (If your programmers are already doing even more sophisticated testing, more power to you. Keep it up, it can only help!)

It isn't enough to write tests: you have to run them. Here, too, Extreme Programming is extreme. These "programmer tests", or "unit tests" are all collected together, and every time any programmer releases any code to the repository (and pairs typically release twice a day or more), every single one of the programmer tests must run correctly. One hundred percent, all the time! This means that programmers get immediate feedback on how they're doing. Additionally, these tests provide invaluable support as the software design is improved.

Design Improvement

Extreme Programming focuses on delivering business value in every iteration. To accomplish this over the course of the whole project, the software must be well-designed. The alternative would be to slow down and ultimately get stuck. So XP uses a process of continuous design improvement called Refactoring, from the title of Martin Fowler's book, "Refactoring: Improving the Design of Existing Code".

The refactoring process focuses on removal of duplication (a sure sign of poor design), and on increasing the "cohesion" of the code, while lowering the "coupling". High cohesion and low coupling have been recognized as the hallmarks of well-designed code for at least thirty years. The result is that XP teams start with a good, simple design, and always have a good, simple design for the software. This lets them sustain their development speed, and in fact generally increase speed as the project goes forward.

Refactoring is, of course, strongly supported by comprehensive testing to be sure that as the design evolves, nothing is broken. Thus the customer tests and programmer tests are a critical enabling factor. The XP practices support each other: they are stronger together than separately.

Continuous Integration

Extreme Programming teams keep the system fully integrated at all times. We say that daily builds are for wimps: XP teams build multiple times per day. (One XP team of forty people builds at least eight or ten times per day!)

The benefit of this practice can be seen by thinking back on projects you may have heard about (or even been a part of) where the build process was weekly or less frequently, and usually led to "integration hell", where everything broke and no one knew why.

Infrequent integration leads to serious problems on a software project. First of all, although integration is critical to shipping good working code, the team is not practiced at it, and often it is delegated to people who are not familiar with the whole system. Second, infrequently integrated code is often -- I would say usually -- buggy code. Problems creep in at integration time that are not detected by any of the testing that takes place on an unintegrated system. Third, weak integration process leads to long code freezes. Code freezes mean that you have long time periods when the programmers could be working on important shippable features, but that those features must be held back. This weakens your position in the market, or with your end users.

Collective Code Ownership

On an Extreme Programming project, any pair of programmers can improve any code at any time. This means that all code gets the benefit of many people's attention, which increases code quality and reduces defects. There is another important benefit as well: when code is owned by individuals, required features are often put in the wrong place, as one programmer discovers that he needs a feature somewhere in code that he does not own. The owner is too busy to do it, so the programmer puts the feature in his own code, where it does not belong. This leads to ugly, hard-to-maintain code, full of duplication and with low (bad) cohesion.

Collective ownership could be a problem if people worked blindly on code they did not understand. XP avoids these problems through two key techniques: the programmer tests catch mistakes, and pair programming means that the best way to work on unfamiliar code is to pair with the expert. In addition to ensuring good modifications when needed, this practice spreads knowledge throughout the team.

Coding Standard

XP teams follow a common coding standard, so that all the code in the system looks as if it was written by a single -- very competent -- individual. The specifics of the standard are not important: what is important is that all the code looks familiar, in support of collective ownership.

Metaphor

Extreme Programming teams develop a common vision of how the program works, which we call the "metaphor". At its best, the metaphor is a simple evocative description of how the program works, such as "this program works like a hive of bees, going out for pollen and bringing it back to the hive" as a description for an agent-based information retrieval system.

Sometimes a sufficiently poetic metaphor does not arise. In any case, with or without vivid imagery, XP teams use a common system of names to be sure that everyone understands how the system works and where to look to find the functionality you're looking for, or to find the right place to put the functionality you're about to add.

Sustainable Pace

Extreme Programming teams are in it for the long term. They work hard, and at a pace that can be sustained indefinitely. This means that they work overtime when it is effective, and that they normally work in such a way as to maximize productivity week in and week out. It's pretty well understood these days that death march projects are neither productive nor produce quality software. XP teams are in it to win, not to die.

Conclusion

Extreme Programming is a discipline of software development based on values of simplicity, communication, feedback, and courage. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation.

A subsequent article will discuss the common questions and variations within XP. If you have concerns, please write and we'll try to include them in the followup article.

Picture

Here's a picture showing the practices and the main "cycles" of XP.

Archival Reference

The original XProgramming page on this topic is still available for your reference.

XProgramming > XP Magazine > What is Extreme Programming?

UP_Grade On_Line

 

Systems are upgraded to improve their functionality, provide new

services, correct faults and accommodate changes in the system

environment. The number of application areas in which systems should

be able to deliver continuous reliable service during on-line

upgrades is growing. On-line system upgrading is nowadays quickly

becoming an issue affecting the success of many an enterprise. It

can, for example, reduce the downtime of telecommunication services,

allow for on-the-fly bug corrections of space mission software and

make it possible to dynamically change a complex Internet application

built as an integration of existing independent web services.

The complexity of modern applications is very high and on-line

upgrading should not be performed in an ad hoc fashion. Several

international organisations (including OMG and Java Community

Process) are working on proposals for specifying models and APIs

supporting on-line system upgrades. There is a need to design general

systematic and practical methods and techniques supporting

development and deployment of upgradable systems.

System dependability is a crucial property that must not be

undermined during upgrading or as a result of it. Besides, it should

be possible to use the natural redundancy of having both the upgraded

and old software to allow for a smooth transition to the old version

if necessary.

 

Aims and Topics

The main theme of the workshop is to develop approaches to

dependable systematic on-line system upgrading. The workshop aims at

- bringing together practitioners, researchers and system developers

working on the issues related to on-line upgrading of distributed

systems

- developing a better understanding of the problems that developers

face while dealing with on-line system upgrading

- defining a research agenda for developing distributed upgradable systems.

We are interested in submissions from both industry and academia on

all topics related to on-line upgrading of distributed systems. These

include, but are not limited to:

- software architectures for upgradable systems

- tools and platforms supporting dependable on-line upgrading

- error detection and recovery during system upgrading

- software engineering issues of developing systems that are easy to

modify on-line

- structuring techniques to make systems upgradable and on-line

upgrading reliable

- formal approaches to reasoning about properties of systems during

and after their upgrading

- exception handling techniques for system upgrade

- fault tolerant techniques guaranteeing consistency of upgrading

- approaches addressing issues of interoperability/compatibility of

different versions

- employing redundancy and diversity during and after system upgrading

- issues of on-line upgrading of complex systems built of components

and legacy code

- techniques to support on-line dealing with interface changes

- dynamic upgrading of database systems

 

Web Applications

 

In the near future, an increasing number of Web applications will become

"ubiquitous" i.e., delivered to a variety of devices and communication channels,

and will often be targeted to inexpert users. Their quality - in terms of

customised behaviour and effectiveness of their development/maintainance

lifecycle - may be threatened by the current inability to properly design them.

The UWA project aims at defining a set of methodologies, notations, and tools

to tackle the main for-seen problems in the design of such applications. These

include the definition of proper concepts and languages for describing their

behaviour, the ability of tracking correlations among their different components,

and the capability of correlating their requirements to design and

implementation. In order to address the need for standards in design and

documents notation, the project defined suitable extensions to the Unified

Modeling Language (UML).

The workshop hosts presentations and tutorials about requirements elicitation,

design, and customisation of ubiquitous Web applications. The presentations are

targeted at technology and product managers, designers and developers, from

both academia and industry. The workshop is also supported by leading

personalities from the industrial and research communities, who will be

presenting the state of art in the fields of context awareness (Tom Gross,

Frauenhofer Institute, Germany), e-Services (Fabio Casati, Hewlett-Packard

Labs, Palo Alto, USA), and the future of the Web (Roy Fielding, Chairman of

the Apache Software Foundation, USA).

Key topics addressed by this workshop are:

* Design of Web-based applications

* Context awareness

* Design methods

* Ubiquity and multi-channel delivery

* Requirements for ubiquitous Web-based applications

* Customisation

* e-Services

 

WEB Issues

 

The WWW is now a familiar channel for information dissemination and gathering among people from all walks of life. The sheer variety and amount of information that may be obtained are staggering. Academics and researchers now have another avenue to publish their research and satisfy their quest for knowledge. Many are discovering and tapping vast amounts of information never dreamed of before. Team workers utilize the Web for remote collaboration. Corporations with business sense have established a Web presence by reconstituting corporate materials and product information for Web publication. The consumer has benefited from access to large amounts of dynamic data; this has also enabled comparison-shopping and assisted decision-making.

Hence, the Web has become somewhat indispensable to many and for various reasons. The aim of this conference is to provide an international forum for researchers, professionals, and industrial practitioners to share their knowledge in the rapidly growing area of Web technologies.

We invite submissions that address both fundamental issues of Web data management and issues related to the development and management of Web-based applications. Suggested topics include, but are not limited to:

* Deep/Hidden Web * Web Ontologies

* Mobile Web Information Systems * Web Performance

* Semantic Web * Web Query Languages

* Web Agents * Web Security

* Web Change Monitoring & Management * Web Services

* Web Commerce * Web Tools & Languages

* Web Data Model * Web Transactions

* Web Information Retrieval * Web Visualization

* Web Intelligence * Web Warehousing

* Web Metrics * Web-Based Business Processes

* Web Mining * XML & Semi-structured data

 

Refinement

 

Refinement is one of the cornerstones of a formal approach to software

engineering.

Refinement is the process of developing a more detailed design or

implementation from an abstract specification through a sequence of

mathematically-based steps that maintain correctness with respect to the

original specification.

The aim of this BCS FACS Refinement Workshop is to bring together people who

are interested in the development of more concrete designs or executable

programs from abstract specifications using formal notations, tool support for

formal software development, and practical experience with formal refinement

methodologies.

The purpose of the workshop is to provide a forum for the exchange of ideas,

and discussion of common ground and key differences.

Topics of interest include (but are not limited to):

Simulation techniques

Foundations and semantics

Case studies (specification and verification)

Compositional and modular reasoning

Object-orientation

Time

Specification notations

Programming models

Verification and tool support

 

E-Systems Development

 

E-Systems Development: Architectures, Models, Methods, and Methodologies

CFP website:

http://bajaj.heinz.cmu.edu/AMCIS_2002/

Many of the new system development projects are related to E-Commerce and

M-Commerce systems - or E-Systems for short. Despite their potential impact

on commerce, E-Systems development is still in its infancy stage and more

research is warranted in the area. The aim of this minitrack is to provide

a forum for addressing architectures, models, methods and methodologies

that can be used for all types of E-Systems (B2B, B2C, C2C, E2C, E2B, etc.).

This minitrack proposal is a continuation of the minitrack at AMCIS'99

(Web-based Systems Development), AMCIS'00 (E-Commerce Systems: Architecture,

Infrastructure, Model, and Development Methodology), and AMCIS'01

(E-Commerce/M-Commerce Systems: Architecture, Models and Development

Methodologies, all of which

enjoyed a large amount of interest.

In an effort to bridge academic research and industry practice, we

welcome both research articles and experience reports. We look for strong

technical research papers (e.g., proposing an architecture or infrastructure,

proposing or enhancing a method or methodology for e-systems development,

describing a new security technique) and good practitioner-oriented papers

(e.g., reporting a case study). The minitrack is receptive to all types

of empirical research methodologies (e.g., case study, action research,

experimentation, survey, simulation).

Submissions should have the following components (unless a component

is not relevant to a research):

Comprehensive literature review

Sound theoretical foundation

Clearly defined research question(s) and/or hypotheses

Valid research methodology/framework/model

Good discussion of research results or potential results

We are interested in the following topics (not exhaustive):

Web database

Web engineering

Method engineering

Component engineering

Data interchange standards

Architecture for E-Systems (e.g., CORBA, DCOM)

Security issues related to E-Systems

Economic/Costing model for E-Systems

Virtual archive and data retrieval for E-Systems

E-Systems development methods and methodologies (e.g., UML, UP)

Supply Chain Integration/Management for E-Systems

Project management tools for E-Systems development

Extreme Programming/Extreme Modeling for e-systems

Cognitive, human factor, and user-interface issues in E-Systems

CASE tools and software for developing applications in E-Systems

Evaluation of analysis and design methods and methodologies for E-Systems

 

OO Systems

 

The primary goal of learning and teaching object-oriented concepts is

to enable people to successfully participate in an object-oriented

development project.

Successfully using object-oriented technology requires a thorough

understanding of basic OO concepts. However, learning these

techniques, as well as lecturing about these concepts has proven to

be very difficult in the past. Misconceptions can occur during the

learning cycle and the needed guidance can not always be directly

provided.

The goal of this workshop is to share ideas about innovative teaching

approaches and tools to improve the teaching and learning of the

basic concepts of object technology rather than teaching a specific

programming language. Teaching tools can be either tools used in

environments or specific environments for learning OO, as well as any

kind of support for developing OO learning applications themselves.

This is the sixth in a series of workshops on issues in

object-oriented teaching and learning. Previous workshops were held

at OOPSLA'97, ECOOP'98, OOPSLA'99, ECOOP'00 and OOPSLA '01 and

focused on project courses, classroom examples and metaphors, and

tools and environments.

Suggested Topics

------------

This workshop will focus on any kind of (computer-aided) support for

teaching about the basic concepts of object technology. Suggested

topics include, but are not limited to

* approaches and tools for teaching design early

* intelligent environments for learning and teaching

* frameworks/toolkits/libraries for learning support

* microworlds

* different pedagogies

* top-down vs. bottom-up approaches

* design early vs. design late

* topic presentation issues

* frameworks/toolkits for the development of teaching/learning

applications

* non-trivial examples to exemplify OO concepts

 

Types

 

Modern programming languages rely on type systems with static type

checking to detect common errors at compile time. While the benefits

of statically checked type systems have long been recognized, there

are some areas where the type systems of modern programming languages

are not expressive enough. Some interesting programs will always be

rejected, despite their semantical soundness.

There are several remedies to this situation, ranging from dependent

types (where types may contain values) through intersection types to

types with modalities. These systems are well-investigated from a

theoretical point of view by logicians and type theorists. However,

the impact of these developments on practical programming has been

small, partly because they are trading simplicity against

expressivity.

The objective of the workshop is to make researchers in programming

languages aware of new developments and research directions on the

theory side while at the same time pointing out problems arising in

practical uses to theorists. Technical topics include, but are not

limited to:

* Type systems in all variants: polymorphic, dependent, intersection,

modal, linear.

* Annotated type systems.

* Low-level type systems.

* Advanced uses and applications.

 

Requirements Engineering

 

All along the software lifecycle, managers and programs

use models to guide system development. Such models can be used to:

** Document the dialogues seen to date,

** Structure future dialogues; e.g. when clarifying certain details

of a model.

We call all such models "requirements" since they all comment on

required system behavior; i.e. what is expected, what is missing,

what is wrong, and what should be added to the current system. Note

that such "requirements" can appear at the beginning of the

lifecycle AND at other times (e.g. test engineers often reverse

engineer a requirements model prior to assessing code).

Sophisticated methods exist for reasoning about models; e.g. formal

refinement theory and model checking. These methods often make some

"completeness assumption"; e.g.

** The model contains all the information relevant to an application

** The model contains no contradictions.

Such complete models are rare in SE since data collection is

expensive, and competing stakeholders rarely agree. This special issue

aims at collectings state-of-the-art papers relating to the pragmatic

reasoning over incomplete systems models. Contributions may include

case studies or research papers or tutorial overviews of the field of

MBRE.

General topics relevant to MBRE include (and are not restricted to)

discussion of how to:

** Structure these incomplete models.

** Build, validate, and maintain these incomplete models.

** Adapt these incomplete so they are relevant to the current project.

** Apply incomplete models to a current project.

** Take an incomplete model and prepare it for future reuse.

** Do the above, in a cost effective manner

Specific topics relevant to MBRE include (and are not restricted to):

** bayesian reasoning

** conflict detection and resolution

** contradiction-tolerant reasoning systems (e.g. abduction)

** exploring models that contain unknowns and contradictions using:

-- theorem provers

-- model checkers

** formal models of best practice

** fuzzy logic

** incremental knowledge acquisition and maintenance tools

** integrated project management tools

** learning algorithms to create or explore incomplete models including:

-- nueral nets,

-- genetic algorithms

-- associational rule learners

-- inductive logic programming

-- decision tree learners

** model-based reasoning tools

** model-resue stragies (e.g. using COTS software)

** model checking

** model refinement methods

** model validation methods (e.g. statistical, other)

** multi-criteria decision making

** risk balancing

** simulation and summarization techniques

** stakeholder-based reasoning

** useful schemas for constructing models

** validation of models of best practice

** visualization tools

For more on MBRE, see the on-line proceedings of the First

International Workshop on Model-based Requirements Engineering at

http://www.bfsng.com/mbre01/agenda.htm.

 

Knowledge-Based OO Software Engineering

 

The complexity of software domains - such as the financial industry,

television and radio broadcasting, hospital management and rental

business - is steadily increasing and knowledge management of businesses

is becoming more important with the demand for capturing business

processes. On the other hand the volatility of software development

expertise needs to be reduced. These are symptoms of a very significant

tendency towards making knowledge of different kinds explicit: knowledge

about the domain or the business, knowledge about developing software,

even meta-knowledge about these kinds of knowledge.

Knowledge in software applications is becoming more significant because

the domains of many software applications are inherently

knowledge-intensive and this knowledge is often not explicitly dealt

with in software development. This impedes maintenance and reuse.

Moreover, it is generally known that developing software requires

expertise and experience, which are currently also implicit and could be

made more tangible and reusable using knowledge-based or related

techniques. These are general examples of how using explicit knowledge

in a multitude of ways and in all phases of software development can be

advantageous.

Since object-orientation is derived from frames in frame-based knowledge

representation in AI, object-oriented software development in se has

certain advantages for making knowledge explicit. A conceptual class

diagram, for example, models domain knowledge. Also, object-oriented

programs can be designed in such a way that certain knowledge is

represented explicitly and more or less separated from other

implementation issues. However, knowledge might require a more

declarative representation such as constraints or rules, thus requiring

to augment object-oriented software development with these techniques.

Examples are UML's Object Constraint Language, or recent trends in using

business rules and ontologies.

The long-term goals of this workshop are to provide a platform for

researchers and practitioners interested in knowledge-based or related

approaches for object-oriented programming or software development, to

pursue and encourage research and applications in this area, and to

bridge the gap between the ECOOP community and the long-standing

community active in the conferences on Software Engineering and

Knowledge Engineering (SEKE) and Automated Software Engineering (ASE),

formerly known as Knowledge-Based Software Engineering. For the

short-term goals we would like to address among others the following:

* identify and characterise

- object-oriented engineering tasks that can benefit from explicitly

used knowledge

- (knowledge-based) approaches that can support object-oriented

engineering tasks

- kinds of knowledge that are useful to make explicit

- how explicit knowledge can be used

* look for a common life cycle which describes both the conventional

object-oriented software construction and the knowledge based software

construction

* the symbiosis between knowledge-based or related approaches and

object-oriented programming

* industrial applications of explicit knowledge in object-oriented

software

Topics of interest for this workshop include, but are by no means

limited to:

* software engineering tasks where explicit knowledge can be useful

- requirements engineering

- analysis

- design

- programme understanding

- reengineering

- reverse engineering

- software evolution

- software reuse

- ...

* approaches for making knowledge explicit

- knowledge engineering

- ontologies

- conceptual modeling

- domain analysis and domain engineering

- business rules

- workflow management

- ...

* how explicit knowledge can be used

- modeling

- enforcing

- checking and verifying

- prescriptive/descriptive/restrictive

- code generation

 

Formal Software Engineering - Resolve

 

RESOLVE Workshop 2002 will bring together educators and researchers

interested in refining formal approaches to software engineering,

especially component-based systems, and introducing them into the

classroom. This meeting will provide a forum for participants to

present and discuss recent advances, trends, and concerns in these

areas, as well as formulate a common understanding of emerging

research issues and possible solution paths. We invite you to

participate by submitting a paper to either the education or

research track of the workshop. Topics of interest include:

* Infusing software engineering techniques into computer science

education:

-- Design with reuse

-- Design for reuse

-- Modular reasoning

-- Component-based software

-- Formal specification

-- Formal verification

-- Software testing

-- Using RESOLVE in the undergraduate curriculum

-- Pedagogical techniques to help teach the above topics

-- Using RESOLVE in the graduate curriculum

* Software engineering research on formal approaches to

component-based systems:

-- Specification and verification of performance properties

-- Modular approaches to detecting component interface violations

-- Trade-offs among testing, formal verification, and model checking

-- Combining concurrency-oriented formalisms with model-based

behavioral specification approaches

-- Formal characterization of user interfaces

-- Formal modeling of file system behavior

-- Formal characterization of mathematical and program types

-- Software engineering environments and tools

-- The Java Modeling Language (JML)

-- RESOLVE language and implementation issues

 

KB Software Engineering

 

TOPICS

-Architecture of knowledge, software and information systems including

collaborative, distributed, multi-agent and multimedia systems, internet and

intranet,

-Requirements engineering, domain analysis and modeling, formal and

semiformal specifications,

-Knowledge engineering for domain modeling, system family engineering, and

software product lines,

-Intelligent user interfaces and human-machine interaction,

-Knowledge acquisition and discovery, data mining,

-Automating software design and synthesis,

-Object-oriented and other programming paradigms, metaprogramming,

-Reuse, re-engineering, reverse engineering,

-Knowledge-based methods and tools for software engineering, including

testing, verification and validation, process management, maintenance and

evolution, CASE,

-Decision support methods for software engineering,

-Applied semiotics for knowledge-based software engineering,

-Knowledge systems methodology, development tools and environments,

-Practical applications and experience of software and knowledge

engineering,

-Information technology in control, design, production, logistics and

management,

-Enterprise modeling, workflow,

-Knowledge management for business process,

-Intelligent agents for software engineering,

-Program understanding, programming knowledge, learning of programming,

modeling programs and programmers,

-Knowledge-based methods and tools for software engineering education,

-Software engineering and knowledge engineering education, distance

learning.

 

Program Comprehension

 

Software is inherently complex through the number of artifacts in any system

and their relationships. Software comprehension draws on aspects of reverse

engineering, cognitive software comprehension, CASE tools, visualization

techniques, and usability aspects and tools used within in the software

comprehension community. The focus of this session will be on current and

future challenges in the program comprehension domain.

Papers are invited on both theoretical and practical aspects of software

comprehension including topics relating to:

- Novel ideas for comprehension approaches and software visualization,

including comprehension strategies for distributed and concurrent systems

- Combining visualization with other analysis and comprehension techniques

- Usability analysis and empirical user studies

- Usability and learnability aspects in program comprehension

- Theories and models for software comprehension

- Experimental results

- Supporting tools

 

Software Engineering Research

 

Continuous System Upgrade

 

Systems are upgraded to improve their functionality, provide new

services, correct faults and accommodate changes in the system

environment. The number of application areas in which systems should

be able to deliver continuous reliable service during on-line

upgrades is growing. On-line system upgrading is nowadays quickly

becoming an issue affecting the success of many an enterprise. It

can, for example, reduce the downtime of telecommunication services,

allow for on-the-fly bug corrections of space mission software and

make it possible to dynamically change a complex Internet application

built as an integration of existing independent web services.

The complexity of modern applications is very high and on-line

upgrading should not be performed in an ad hoc fashion. Several

international organisations (including OMG and Java Community

Process) are working on proposals for specifying models and APIs

supporting on-line system upgrades. There is a need to design general

systematic and practical methods and techniques supporting

development and deployment of upgradable systems.

System dependability is a crucial property that must not be

undermined during upgrading or as a result of it. Besides, it should

be possible to use the natural redundancy of having both the upgraded

and old software to allow for a smooth transition to the old version

if necessary.

 

Aims and Topics

The main theme of the workshop is to develop approaches to

dependable systematic on-line system upgrading. The workshop aims at

- bringing together practitioners, researchers and system developers

working on the issues related to on-line upgrading of distributed

systems

- developing a better understanding of the problems that developers

face while dealing with on-line system upgrading

- defining a research agenda for developing distributed upgradable systems.

We are interested in submissions from both industry and academia on

all topics related to on-line upgrading of distributed systems. These

include, but are not limited to:

- software architectures for upgradable systems

- tools and platforms supporting dependable on-line upgrading

- error detection and recovery during system upgrading

- software engineering issues of developing systems that are easy to

modify on-line

- structuring techniques to make systems upgradable and on-line

upgrading reliable

- formal approaches to reasoning about properties of systems during

and after their upgrading

- exception handling techniques for system upgrade

- fault tolerant techniques guaranteeing consistency of upgrading

- approaches addressing issues of interoperability/compatibility of

different versions

- employing redundancy and diversity during and after system upgrading

- issues of on-line upgrading of complex systems built of components

and legacy code

- techniques to support on-line dealing with interface changes

- dynamic upgrading of database systems

 

Information Integration

 

At the core of the information revolution brought by the Web is the ability

to effectively and efficiently share and exchange information virtually with

anyone anytime anywhere. Yet, it is very hard to keep up to date with the

ever-increasing sophistication of the tools and techniques available at the

dawn of the 21st century for building the future information society.

Industrial, commercial, educational, and information society institutions

and organizations whose activities rely more and more on information

technology cannot afford to ignore the latest technological and

infra-structural development and trends of the Internet. Business to

consumer, business to business, and business to government transactions,

business intelligence, decision support at every level of the enterprise are

conducted competitively only when they tap into the information resources

offered by the world wide web and when they leverage the latest tools and

techniques available.

IIWAS2002 aims to provide a forum for the discussion and exchange of ideas

and information by researchers, students, and professionals on the issues

and challenges brought on by Internet technology for the intelligent

integration of information.

 

Topics of Interest

------------------

The conference solicits full-length research or position papers. The list

below is a suggested, but not necessarily exhaustive, list of topics of

interest and relevance to the conference.

1. Information Systems Integration

· Schema and Data Integration

· Data Integration and Enterprise Security

· Distributed Component Architectures

· Metadata Management

· Transaction and Query Processing in Distributed Information Systems

· Integration Architectures

· Mobile Web Information Systems Integration

· Case Studies

2. Web Engineering and Web Applications

· Internet & Web-based Systems

· Web-Based Applications

· Enterprise Security

· Data Intensive Applications on the Web

· XML and Semi-structured Data Management

· Web as Database versus Web as Documents

· Digital Libraries

· E-Government

· Agent Based Information Systems

· E-Learning

· Web Information System Environment and Foundations

· Data and Knowledge Engineering

· Applications

3. E-commerce and M-business

· E-commerce Architectures

· Online Payment

· Agent Mediated E-Commerce

· Trading & Auctioning Systems

· Mobile Commerce Models and Architectures

· Business Models for M-Business Applications

· Mobile Internet access

· Multimedia applications in E-Commerce

· E-Commerce framework & applications

· Intelligent agents

· EDI & XML

· Data mining

· Business intelligence

· Electronic brokerage

· Electronic negotiation

· On-line auction

· Industry applications

4. Intelligent Data and Information Retrieval

· Data Mining and Knowledge Discovery

· Multi/Cross-Lingual Data and Information Retrieval

· Multi-modal and Multimedia Data and Information Management

· Spatial and Temporal Data and Information Management

· Web Information Management

· Web Information Retrieval

· Web Mining and Farming

 

Programming Languages

 

The primary function of programming languages and tools has always been

to

make the programmer more productive. Appropriate programming languages

and

tools may drastically reduce the cost of building new applications as

well as maintaining existing ones. It is well known that programming

languages can greatly increase programmer productivity by allowing the

programmer to write highly scalable, generic, readable and maintainable

code. Moreover, new domain specific languages can be used to enhance

aspects of software engineering beyond coding such as: domain-specific

analysis, program management, visualization, testing, maintenance,

modeling, and rapid

prototyping. The development of these languages is itself a significant

software engineering task, requiring a considerable investment of time

and

resources. Domain-specific languages have been used in various domains

such as graphics, financial products, telephone switching systems,

protocols,

operating systems, hardware design, robot languages, etc. These

applications

have clearly illustrated the advantages of domain specific-languages

over

general purpose languages with respect to productivity, reliability, and

flexibility for the domains in question.

The purpose of the minitrack is to bring together an international

audience of researchers and practitioners actively involved in the

development of

domain-specific languages. The minitrack will focus principally on

practical issues such as design, implementation, and use of

domain-specific languages as an element of software engineering

practice.

Topics of interest for this mini-track are

(not exhaustive):

- design and implementation of domain-specific languages,

- use of domain-specific languages affecting the software engineering

process,

- role of domain-specific languages in software engineering,

- tools, environments, and techniques needed to support domain-specific

languages.

 

Intelligent Knowledge Management

 

Design and modeling aspects of the following Computational

Intelligence Techniques and their applications to science, technology,

commerce, social science and economics:

-Artificial Neural Networks and Probabilistic Reasoning

-Genetic Algorithms

-Evolution Strategies

-Genetic Programming

-Evolutionary Programming

-Learning Classifiers

-Fuzzy Systems including Fuzzy logic and possibility

theory, Fuzzy expert systems, Fuzzy system modeling

and simulation

-Hybrid Soft Computing Techniques like Neuro-Fuzzy,

fuzzy-GA, GA-Fuzzy etc.

-Intelligent Agents including Multi-Agents, Autonomous Agents

and Cooperative Agents

-Support Vector Machines

-Bayesian networks and probabilistic reasoning

-Rough sets

-Case-based Reasoning

*Data and Knowledge Representation: planning and description logics

*Data and knowledge visualization

*Knowledge acquisition

*Models and frameworks of Data Mining techniques

*Reasoning methods and technologies

*Knowledge and belief, belief revision and update, non-monotonic

formalisms, uncertainty

 

Rule Markup Languages

 

The workshop will focus on how rule markup languages, such as RuleML,

will contribute to the vision of the Semantic Web. The Semantic Web

offers a research perspective for automating business processes. Rule

markup languages, that allow to express business rules as modular,

stand-alone units in a declarative way, and to publish them and

exchange them between different systems and tools, will play an

important role for facilitating business-to-customer (B2C) and

business-to-business (B2B) interactions over the Web.

*Derivation rules* can be included in an ontology to define derived

concepts on top of base concepts. In this way, for instance, derived

business terms, such as customer categories, may be defined. Whenever

a rule refers to an incomplete predicate, for which explicit negative

information has to be represented along with ordinary (positive)

information, a second negation, supplementing negation-as-failure,

is needed (as in the formalism of extended logic programs). Using

this negation in the head of a rule, one can express conflicting

rules that may defeat each other. Such a language for *defeasible

rules* is useful to represent business rules allowing for exceptions.

In addition to derivation rules, there is another type of rule which

allows to specify the reactive and communicative behavior of a

system or agent: *Reaction rules* -- in other contexts also called

'event-condition-action (ECA) rules' or 'triggers'. Business rules

that specify the various steps of a business process can be encoded

in the form of reaction rules. A general markup language for business

rules has to accommodate these different types of rules and support

their interoperation.

 

Topics of Interest:

We encourage submissions on all topics related to rule markup

languages. In particular, we solicit papers on

* reaction rules on the Semantic Web

- event/action languages

- execution models

* defeasible rules on the Semantic Web

- defeasible concept definitions in ontologies

- resolving conflicts in triggered action sets

 

Testing

 

Topics of interest include:

* Testing Techniques

* Testing Process

* Test Automation

* Test Management

* Inspections, Reviews, and Walkthroughs

* Software Process Assessment and Improvement

* Web and e-Commerce Related Quality and Testing Issues

* Quality Management Issues

* Measurements and Benchmarking

* ISO 9000 Certification

* CMM and CMMI Experiences

* Configuration Management and Version Control

* Change Tracking

* Project Management

* Risk Assessment

* Requirement Management

* Automated Tools Dealing with any of these areas.

 

Fourth International Symposium on Multimedia Software

 

Engineering (MSE) is an international forum for multimedia

and software engineering researchers to exchange information

regarding advancements in the state of the art and practice

of multimedia software engineering, as well as to identify

the emerging research topics and define the future of multimedia.

The technical program of MSE2002 will consist of invited talks,

paper presentations, and panel discussion. Submission of high

quality papers describing mature results or on-going work are invited.

Topics for submission include but are not limited to

* Multimedia system architecture

* Multimedia streaming, networking, and QoS

* Multimedia meta-modeling techniques and operating systems

* Signal processing including audio, video, image processing, and coding

* Architecture specification languages

* Software development using multimedia techniques

* Multimedia tools including authoring, analyzing, editing, and browsing

* Multimedia user interfaces and interaction models

* Multimedia file systems, databases, and retrieval

* Multimedia collaboration

* Rich media enabled E-commerce

* Pervasive and interactive multimedia systems including mobile

systems and digital TV

* Computational intelligence including neural networks, fuzzy logic,

and genetic algorithms

* Intelligent agents for multimedia content creation, distribution,

and analysis

* Internet telephony and hypermedia technologies and systems

* Multimedia security including digital watermark and encryption

* Multimedia systems and applications in education and design

* Distributed multimedia systems and applications

 

Engineering and Deployment of Cooperative

Information Systems

 

 

In today's dynamic and competitive business and social environment, the

ability for an organization to cooperate with others flexibly, handling

changes properly and make full use of modern information technologies has

become very essential to its existence, competitiveness and prosperity.

Recent advances in such fields as computer-supported cooperative work,

workflow management, knowledge management and continuous software

engineering offer promising means for an organization to acquire this

ability. In particular, integrated uses of the technologies from these

fields have shown significant potential in establishing modern information

systems infrastructure.

With the event of EDCIS2002, we cater for a stimulating forum, in which

researchers and practitioners in related fields will get together to

exchange ideas and experiences. Hereby, we call for submission of papers

that are related to various aspects of cooperative information systems

engineering. The main topics of interest include, but are not limited to:

- Information Systems Infrastructures

- Middleware

- Enterprise Application Integration

- Enterprise Modeling

- Knowledge Management

- Organization and Resource Management

- Process Management

- Groupware and Workflow Management Systems

- Change Management and Systems Evolution

- Emergent Industrial Practices: E-Commerce and Virtual Enterprises

- Web Technologies / Web Services for Cooperative Information Systems

- Application of Coordination Theory

- Human-Computer Interaction

- Fundamentals and Application of Information Logistics

 

Information and Knowledge Management

 

Call for Papers

Symposium on Document Engineering 2002

The Symposium on Document Engineering (DocEng '02) is an academic

conference devoted to the dissemination of research on document

engineering. DocEng '02, the second annual meeting, seeks high-quality,

original papers and panels that address the theory, design, development,

and evaluation of computer systems that support the creation, analysis,

or distribution of documents in any medium.

We, the organizers of DocEng '02, hold to an expansive notion of

documents. A document is a representation of information designed for

reading by, or played-back to, a person. It may be presented on paper,

on a screen, or played through a speaker and its underlying

representation may be in any form and include data from any medium. A

document may be stored in final presentation form or it may be generated

on-the-fly, undergoing substantial transformations in the process. A

document may include extensive hyperlinks and be part of a large web of

information. Furthermore, apparently independent documents may be

composed, so that a web of information may itself be considered a document.

Conceptual topics and technologies relevant to the symposium include

(but are not limited to):

Document standards, models, representation languages

Document authoring tools and systems

Document presentation (typography, formatting, layout)

Document synchronization and temporal aspects

Document structure and content analysis

Document categorization and classification

Document internationalization

Integrating documents with other digital artifacts

Document engineering life cycle and processes

Document workflow and cooperation

Document engineering in the large

Document storage, indexing, and retrieval

Automatically generated documents

Adaptive documents

Performance of document systems

Markup languages (SGML, XML)

Style sheet systems and languages (CSS, XSL, DSSSL)

Structured multimedia (MPEG-4, SMIL, MHEG, HyTime)

Metadata (MPEG-7, RDF)

Document database systems and XQL

Optical character recognition

Type representations (Adobe Type 1, Truetype)

Page description languages (PostScript, PDF)

Electronic books (E-book) and digital paper

Applications of constraint systems for document engineering

Document transformation (XSLT)

Document services on wireless networks (WAP)

Document linking standards (XLink, XPath, XPointer)

Document APIs (SAX, DOM)

 

Multi-Agent Systems, Large Complex Systems,

and E-Businesses

 

 

http://www.com.gcal.ac.uk/international/MALCEB2002.htm

 

Real-Time Systems

 

The goal of the workshop is to bring together people from

industry and academia that are interested in all aspects of

timing analysis for real-time systems. The workshop will provide

a relaxed forum to present and discuss new ideas, new research

directions and to review current trends in this area. The

workshop will be based on short presentations that should

encourage discussion by the attendees.

The topics of the workshop include any issue related to timing

analysis, in particular:

o High-level code analysis

o Low-level timing analysis

o Timing analysis through measurement

o Modelling of processor features

o Probabilistic analysis techniques

o Integration of WCET and schedulability analysis

o Evaluation and case studies

o Tools for timing analysis

o Industry experience reports

 

Reverse Engineering

If you are involved in extracting information, artifacts,

architectural components (or anything else of value) from existing

systems - then you should be participating in this conference!

The Working Conference on Reverse Engineering (WCRE) is the premier

research conference on the theory and practice of recovering

information from existing systems. Now approaching its ninth

incarnation, we explore innovative methods of extracting the many

kinds of information that can be recovered from the data, software,

and other components that comprise systems, and to examine innovative

ways of using this information in system understanding, renovation,

and system reengineering.

In the last 10 years, there has been considerable progress in this

field, centered around WCRE. Reverse engineering has matured and

become a part of every practitioner's vocabulary, and student

textbook. It now represents a considerable body of knowledge.

Increasingly, the industry is formally incorporating reverse

engineering tools and techniques into our systems development

activities. WCRE plays the leading role in moving this research agenda

forward.

WCRE is truly a working conference, where discussion is emphasized. By

tradition, each paper presentation has a strict 20-minute limit.

Following each group of papers on a given topic, there is serious and

in-depth discussion of the topic area, the work described in the

presentations, and the implications for future research. WCRE

attendees are not passive observers; we are active participants in

discussing and shaping future directions of the Reverse Engineering

and Reengineering fields.

_________________________________________________________________

 

Topics

Topics discussed at WCRE include but are not limited to:

* Software maintenance and evolution

* Program analysis and slicing

* Decompilation & binary translation

* Refactoring

* Program comprehension

* Program transformations

* Software architecture extraction

* Cluster and concept analysis

* Requirements reengineering

* Object identification

* Software migrations

* Browsing & searching legacy sys.

* User interface reengineering

* Software visualization

* Web-enabling legacy systems

* XML, meta-data, and data-exchange

* Web-site reverse engineering

* Reverse engineering tool support

* Transitioning to product lines

* Documentation generation

* Data reverse engineering

* Formal methods for rev. eng.

* Experience reports

* Programming knowledge

* Reengineering patterns representations

* Collaborative reengineering efforts

* Requirements traceability

* Software process implications

* Dynamic analysis

* Reverse engineering economics

* UML and round trip engineering

* Preprocessing and parsing

* Software metrics

* Software components

 

Certification and Security in E-Services

 

Certifying the execution of an e-service provided on the network as the

result of the interaction among independent organizations is a critical

area for the underlying IT-infrastructure. In fact, given the legal value

that is often attached to data managed and exchanged during the execution

of such an inter-organizational e-service, being able to document what was

actually carried out is of the utmost importance. This is made more

complex in cases, like it often happens in the public administration

sector, where e-services are based on legacy systems managed by autonomous

and independent organizations.

Additionally, the whole area of security issues, from the more basic

ones (availability, authentication, integrity, confidentiality) to the

more complex ones (e.g., authorization, non-repudiation) is an equally

critical aspect to be able to trace down responsibilities ("who did

what"). This capability is mandatory to increase the presence and the

use of e-service IT-infrastructures.

The two areas have moreover a common technological intersection, since

both are based on the reliable and efficient monitoring of executed and

running processes. Certification and security are as well fundamental

processes in organizational and economic terms.

The objective of the workshop is to discuss technical and organizational

aspects regarding these two areas and their interrelations, presenting

both real-life application experiences and methodological proposals,

from participants belonging to the governmental, industrial and academic

communities.

 

The workshop is within the "Security" Stream of the IFIP-WCC 2002, the

17th World Computer Congress of the IFIP. This is a uniquely rich event

featuring 10 distinct Streams on key issues in Information Technology.

The "Security" Stream features also one tutorial "Introduction to

Computer Security" and one more Workshop "E-Government and Security",

thus providing even more opportunities for discussions about security

issues in IT-infrastructures in our increasingly digital world.

For more information on CSES 2002 visit the Workshop's web site at:

http://leonardo.dm.univaq.it/cses2002

========================================================================

Topics

========================================================================

Topics of interest include (but are not limited to):

- Traceability in e-services

- Certification in e-services

- Methods for guaranteeing non-repudiation in e-services

- Authentication and encryption in e-services

- Public Key Infrastructures

- Certification Authorities and management of trust

- Authorization and access control models for e-services

- Certification and security for mobile access to e-services

- User and e-service profiling

- Risks analysis methods (new approaches and experiences)

- Risks through interception and tracking technologies

- Information flow issues

- Firewall technology and e-services

- Administration and management of safeguards

- Security middleware solutions

- Secure electronic markets

- Messaging Security in e-services

- Web Security in e-services

- Security Issues in e-Services

- Multilateral Security

- Network Protocol Security

- Users' security responsibilities

- Protecting users/usees by Privacy-Enhancing Technologies

- Critical Information Infrastructure Protection and Social Implications

- Organizational issues in implementing security measures

 

An Evaluation of Modeling

 

The workshop provides a forum for researchers and practitioners interested

in modeling methods in systems analysis and design to meet, and exchange

research ideas and results. It also provides researchers an opportunity to

present their research papers and experience reports, and to take part in

open discussions. The seventh in a highly successful series of workshops,

EMMSAD'02 is jointly sponsored by the Conference on Advanced Information

Systems Engineering (CAiSE) and the International Federation for

Information Processing Working Group 8.1 (IFIP8.1).

 

Accepted papers:

Akhilesh Bajaj (Carnegie Mellon University, US): Measuring the effect of

number of concepts on the readability of conceptual models

Aldo de Moor (Tilburg University, NL): Evaluating methods for community

information systems development

Andrew Gemino & Yair Wand (Simon Fraser University, CA; University of

British Columbia, CA): Towards common dimensions in empirical comparisons

of conceptual modeling techniques

Bart'Jan Hommes (Delft Technical University, NL): Evaluating conceptual

coherence in multi modeling techniques

Colette Rolland & Mohamed Ben Ayed (Sorbonne University, FR): Understanding

the Lyee methodology through meta modeling

Dan Moody, Guttorm Sindre, Terje Brasethvik & Arne Solvberg (Monash

University, AU; NTNU, NO): Empirical testing of a conceptual model quality

framework

Graham McLeod & Dirk Roeleveld (Inspired, ZA; University of Capetown, ZA):

Method evaluation in practice: UML/RUP vs Inspired Method

Ilia Bider (IbisSoft, Stockholm, SE): Requirements on modeling techniques

for a new generation of business applications

J. Kabeli & P. Shoval (Ben-Gurion University, IL): A comparison of the FOOM

and OPM methodologies for user comprehension of analysis specifications

Joseph Barjis, Jan Dietz & Tychon Galatonov (Delft Technical University,

NL): Language based requirements engineering combined with Petri nets

Kalle Korhonen & Mirja Pulkkinen (University of Jyvaskyla, FI): A

comparative study on component functionality in metaCASE environments

Ken Lunn & Ann Lindsay (University of Huddersfield, GB): An object model to

support requirements development

Keng Siau & Poi-Peng Loo (University of Nebraska-Lincoln, US): Difficulties

in learning UML: a concept mapping analysis

Peter Bollen (University of Maastricht, NL): A formal transformation from

Object Role models to UML class diagrams

S. Maj & G. Kohli (Edith Cowan University, AU): B-nodes: a bridge between

the business model, information model and infrastructure model

Sofie de Flon Arnesen & John Krogstie (NTNU, NO; SINTEF, NO): Assessing

Enterprise Modelling Languages using a General Quality Framework

Tero Paivarinta (Agder University College, NO): Comparison of the

genre-based ISD approach to 11 others

Terry Halpin (Microsoft Corporation): Join constraints

Xiaomeng Su & Lars Ilbrekke (Norwegian University of Science and Technology

(NTNU), NO): A comparative study of ontology languages and tools

Zoran Stojanovic, Ajantha Dahayanake & Henk Sol (Delft University of

Technology, NL): A foundation of a component-oriented systems modeling

approach

 

Coordinated Applications

 

SCOPE AND TOPICS

Modern information systems rely more and more on combining

concurrent, distributed, mobile and heterogenous components. This

move from old systems, typically conceived in isolation, induces

the need for new languages and software architectures. In

particular, coordination languages have been proposed to cleanly

separate computational aspects and communication. On the other

hand, software architects face the problem of specifying and

reasoning on non-functional requirements. All these issues are

widely perceived as fundamental to improve software productivity,

enhance maintainability, advocate modularity, promote reusability,

and lead to systems more tractable and more amenable to

verification and global analysis.

The aim of the workshop is to bring together researchers working

on the foundations of component-based computing, coordination, and

software architectures. Topics of interest include (but are not

limited to):

o Theoretical models for coordination (component composition,

concurrency, dynamic aspects of coordination, semantics,

expressiveness);

o Specification, refinement, and analysis of software archi-

tectures (patterns and styles, verification of functional and

non-functional properties);

o Coordination, architectural, and interface definition languages

(implementation, interoperability, heterogeneity);

o Agent-oriented languages (formal models for interacting agents);

o Dynamic software architectures (mobile agents, configuration,

reconfiguration);

o Modeling of information systems (groupware, internet and

the web, workflow management, CSCW and multimedia applications)

o Coordination patterns (mobile computing, internet computing);

o Tools and environments for the development of coordinated

applications

 

Focused Software Process Improvement

 

Theme and Scope

===============

The main theme of PROFES is professional software process improvement (SPI)

motivated by product and service quality needs. SPI is facilitated by

software process assessment, software measurement, process modeling, and

technology transfer. It has become a practical tool for quality software

engineering and management.

The business of developing new applications like mobile and Internet

services or enhancing the functionality of a variety of products by

embedded software is maturing and meeting harsh business realities. The

need for professional software development, quality, and cost/effectiveness

is becoming evident and there is a need to spread SPI beyond its

traditional areas. Therefore, we encourage papers and discussions in new

application domains in addition to more traditional SPI papers. The

contributions may include quality issues related to processes, methods,

techniques, tools, enabling technologies and applications.

The purpose of the conference is to bring into the light the most recent

findings and results of the area and to stimulate discussion between the

researchers, experienced professionals and technology providers for SPI.

The large number of participants coming from industry confirms that the

conference provides a variety of up-to-date topics and tackles industry

problems.

Topics

======

The main topics of the conference include:

- Software Process Improvement

- Process Assessment

- Process Modeling

- Process Establishment

- Measurement

- Software Quality

- Quality Standards

- Methods and Tools

- Experimental Software Engineering

- Organizational Learning/Experience Factory

- People Issues

- Industrial Experiences and Case Studies

- Best practices

- Lessons Learned

 

Conceptual Modeling Quality

 

SCOPE OF THE WORKSHOP

Quality in conceptual modeling has been a topic of research since the early

nineties. After a relatively quiet period in the mid-nineties, a renewed

interest in conceptual modeling quality issues is observed. The theme of

IWCMQ'02 is methodologies and instruments for the quality assurance of

conceptual modeling processes and products. The workshop intends to provide

a forum for researchers and practitioners working on approaches, frameworks,

methods, techniques, guidelines, and tools for measuring, predicting,

evaluating, controlling, and improving the quality of conceptual modeling

processes and artifacts.

Conceptual modeling fulfills a bridge function with other disciplines such

as business process (re)engineering, requirements engineering, information

systems engineering, software engineering, and database design. Therefore

the workshop is not limited to a particular flavor of conceptual modeling.

It is open to work related to any type of 'real-world' requirements modeling

and analysis (e.g. domain modeling, business/enterprise modeling, conceptual

data modeling, process modeling, conceptual modeling of E-business/web-based

applications).

The main workshop goal is to assemble experts from diverse IT fields.

Currently there is no formal forum devoted to issues of conceptual modeling

quality. Another goal is therefore to establish a permanent network of

researchers and practitioners working in this domain. The concrete objective

of IWCMQ'02 is to sketch a field-overlapping state-of-the-art and

state-of-the-science of quality in conceptual modeling, identify possible

paths of collaboration, and point out future research directions.

We cordially invite researchers and practitioners to submit original

research, survey or experience papers to IWCMQ'02. All accepted papers will

be published in a volume of the Springer-Verlag LNCS series, that will

contain the proceedings of the ER'02 workshops.

TOPICS OF INTEREST

Submissions are invited, but not limited, to the following topics, organized

in four areas:

Theoretical Foundations of Conceptual Modeling Quality

* Quality criteria and frameworks for conceptual models

* Quality models for conceptual modeling processes

* Reference theories for conceptual modeling quality

* Quality standards applied to conceptual modeling

* Ontological correctness in modeling

* Consistency of conceptual modeling artifacts

* Goodness of transformation: real world - conceptual, conceptual -

physical, etc.

* Pragmatic quality of conceptual modeling artifacts

Assessing Conceptual Modeling Quality

* Quality checklists, rating instruments, and questionnaires

* Quality assessment based on expert/domain knowledge

* Subjective assessment instruments versus objective measures

* Measures of completeness, correctness, consistency, and coverage

* Cognitive complexity measures

* Size and structural complexity measures

* Pragmatic quality measures

* Quality assurance of modeling processes

* Comparative quality evaluation of conceptual modeling methods, notations

and processes

* Evaluating suitability of ontology to domain and/or audience

* Validation of measures

* Measurement collection tools

Evaluating Conceptual Modeling Quality

* Case studies or other real world experiences in conceptual modeling

quality

* Experiments in conceptual modeling quality

* Evaluation frameworks and threshold values for measures

* Benchmarking conceptual modeling quality

* Conceptual modeling quality and information system quality

* Conceptual modeling quality and database quality

* Indicators of conceptual modeling quality

* Prediction/estimation models for conceptual modeling quality

* Measurement analysis tools

Controlling and Improving Conceptual Modeling Quality

* Refactoring of conceptual modeling artifacts

* Schema transformations for improving quality

* Testing/inspecting conceptual modeling artifacts

* Quality guidelines for conceptual modeling

* Conceptual modeling process improvement

* Conceptual modeling method engineering

* Organizing the conceptual modeling quality assurance process

* Automating the conceptual modeling quality assurance process

 

Security of Communications on the Internet

 

TOPICS OF INTEREST

------------------

- Techniques and tools for intrusion detection: scenarios, stochastic

models,

behavioral approaches, immunology, alert correlation.

- Practical security: classification of risks and attacks, access

control.

- Cryptographic essentials: encryption algorithms, pseudo-random

generators,

digital signature.

- New cryptographic protocols and models, relationships between models,

formal

methods, security properties, authentication, secrecy, privacy,

anonymity,

semantics and verification algorithms.

- Applications and experimental evaluation of tools and techniques.

 

Knowledge Media Networking

 

New integrated services are emerging from the rapid technological advances

in networking, multi-agents, virtual environments, media and broadcasting

technologies. Several communities are appearing using a part or a

combination of these technologies and sharing virtual spaces. In the

future,

such virtual spaces will host a growing number of software agents that

look

after certain tasks and perform functions on behalf of their clients.

Computational devices and agents become part of furniture, walls, and

clothing; physical space provides a sense of place that would be augmented

towards knowledge space. The space must precisely understand its devices

and

their situation, in particular the computations they are performing, in

order to understand what individuals in the space are doing. This workshop

would provide a forum for researchers and practitioners involved in the

design and development of knowledge media networking spaces, agent

applications, knowledge management systems and 3D media architectures. It

is

expected that the workshop will promote a very intensive interaction among

those attending it, giving ample time to discuss papers. The Workshop

Proceedings will be published by IEEE Computer Society Press.