This material is being posted by Carnegie Mellon University's Software Engineering Institute (SEI) on this Web site as a community service.
The First Software
|
![]() |
| Monday, August 28 |
| Tuesday, August 29 |
Title: COPA: A Component-Oriented Platform
Architecting Method for Families of Software Intensive Electronic Products
Presenter: Henk Obbink, Jürgen Müller, Pierre America, and
Rob van Ommering
Time: Monday, Full day
Abstract: This
tutorial will present a coherent view of a product family development approach
covering subjects ranging from the business goals to integration testing. This
approach is especially suited for systems that contain embedded software of
considerable size and complexity. It combines modern techniques such as
component-based software development, domain analysis, platform-based reuse,
etc. The approach was validated in practice in several divisions of a large
industrial company and the tutorial will present two in-depth cases taken from
these industrial applications.
Intended Audience: System and
software architects with at least a little experience in developing product
families.
Title: A Feature-Oriented Method for Product
Line Software Engineering
Presenter: Kyo C. Kang
Time:
Monday, Full day
Abstract: To be able to engineer application
software for a product line, the application domain of the product line must
first be understood in terms of application family's commonality and
variability. Since the feature-oriented approach to domain analysis (FODA) was
introduced in 1990 by the Software Engineering Institute, many domain
engineering methods for software reuse have adopted the technique to support
the domain commonality and variability analysis. FORM (Feature-Oriented Reuse
Method), for instance, expanded FODA to include architecture design and
object-oriented component development. This method has been applied to several
industry application domains, including elevator control systems, electronic
bulletin board systems, yard automation systems, and PBX, to create product
line software engineering environments and software packages. This tutorial
will introduce the FORM method using these industry applications as example.
Intended Audience: The tutorial will be prepared primarily for those
who are interested in adopting the product line software development in their
organization and those who want to develop reusable packages. Researchers who
are working on software reuse will also benefit from this course greatly.
Title: Designing and Evolving a Product Line
Architecture
Presenter: Jan Bosch
Time: Monday, Half day,
AM
Abstract: One can identify two important developments in software
architecture, i.e. software product lines and software architecture design.
This tutorial addresses these topics by presenting an method for architectural
design explicitly focussing on assessment of and transformation for quality
attributes. In addition, the notion of software product lines and the process,
technology, business and organizational issues of adopting the approach are
presented. Both design and product-lines are extensively illustrated by
examples and experiences from several industrial cases. The tutorial is based
on a forthcoming book (tentative publication date: early June 2000) authored by
the tutorial presenter and published by Addison-Wesley.
Intended
Audience: The expected audience can be divided into two categories. First,
software engineers and technical managers considering the introduction of
software architecture design and, potentially, product-line architectures in
their organization. Second, researchers interested in the experiences collected
by the tutorial presenter and his research group and the reflections made based
on their experiences.
Title: Architecture Synthesis
Presenter: Mehmet Aksit
Time: Monday, Half day, PM
Abstract: One of the major issues in designing architectures is to
derive the fundamental abstractions of architectures from the business context
and requirement specifications. This tutorial first presents a comparative
analysis of the current architecture design approaches. To this aim, with in
the context of Product Line architectures, OMT, Unified Process, architectural
patterns, domain specific architecture design techniques are discussed. Based
on the identified issues, an architecture synthesis process is presented. This
process is based on mapping business context and requirement specifications
into a set of concerns and synthesizing the concerns into architectural
abstractions through a systematic application of solution domain knowledge.
Intended Audience: This tutorial can be particularly useful for
architecture designers who want to obtain a comparative understanding of the
current architecture design approaches, recognize their strong and weak points,
and learn techniques to identify the fundamental abstractions of architecture
using problem synthesis techniques. The participants must have an understanding
of the basic object-oriented concepts and some knowledge of at least one of the
popular object-oriented analysis and design methods. Further, basic knowledge
on software architectures is highly recommended.
The first 10 registrants
for this tutorial will receive a free copy of the book "Synthesis Based
Architecture Design".
Title: Architecture for Planning Software
Product Platforms
Presenter: Derek Coleman
Time: Tuesday,
Half day, AM
Abstract: For companies today, creating the design and
the software or firmware for each product from the ground up is no longer
feasible - especially from the point of view of product quality, ease of
implementation, and shorter product development schedules. Therefore, the trend
is to create new product versions by intentionally reusing the architecture,
design, and code from an established software platform. In this tutorial we
explore the role of architecture in planning product platforms. In the planning
phase, the task is to develop an architecture to support the planned product
portfolio. This requires modeling the requirements and architectures of the
products on a vintage chart. Because there is always uncertainty about the
future, the planning must be lightweight enough to be done quickly yet accurate
enough to be worth doing. Planning product line architectures needs modeling
techniques that have just enough precision and formality, i.e. lightweight and
focussed on key needs.
Intended Audience: The tutorial is aimed at
architects, software engineers, project managers and process engineers
interested in how to develop architected software platforms. Preferably
participants should have some familiarity with software modeling notations and
techniques, e.g. UML, use cases etc.
Title: TrueScope(tm): A Full Life-cycle
Approach to Develop Software Product Lines
Presenter: Jean-Marc
DeBaud
Time: Tuesday, Half day, AM
Abstract: The goal of
this tutorial is to provide the participants with the basics of an overall,
well-integrated approach to develop software product families they can use in
practice. The key of our process resides in its ability to define the software
family's potential economies of scope at the requirements level and, as
strictly as possible, propagate these economies to the reference architecture
(the platform). The platform is the most critical asset of a product family.
Its scope both determines its ability to handle the variation among the
different product family members but also really how much return on the overall
investment can be made by switching the organization to a product family
engineering mode of operation. Hence, gaining a quantitative understanding of
the tradeoffs involved when including or excluding products or features within
the family and/or platform is critical to the success of any product family
engineering endeavor. For more information, please see
www.truescope-tech.com.
Intended
Audience: This tutorial is open to everyone.
Title: Product Line Architectures, Aspects,
and Reuse
Presenter: Don Batory
Time: Tuesday, Half day,
AM
Abstract: This tutorial is aimed at researchers and practitioners
who are faced with the problem of building Product-Line Architectures (i.e.,
families of applications) economically, and/or who are interested in assembling
customized and evolvable applications automatically from component reuse
libraries. We present an increasingly popular model of
architecturally-evolveable software (i.e., software that evolves through the
addition and removal of components) that brings together significant research
areas: aspect-oriented programming, Perry's lite semantics (for testing
architectural consistency), parameterized programming, generative programming,
and Baxter's design maintenance. Among the case studies presented in the
tutorial are extensible Java compilers and extensible simulators for Army fire
support.
Intended Audience: The tutorial assumes rudimentary
knowledge of OO concepts, but no experience with the tutorial's subject.
Title: Process Improvement for Software
Product Lines
Presenter: Grady Campbell
Time: Tuesday,
Half day, PM
Abstract: The goal of this tutorial is to present a
systematic process improvement method that organizations can follow to adopt a
product line approach to software development. Starting with an organization's
business objectives and technical expertise, this method helps adopters
evaluate the viability of a product line approach, improve process and reuse
maturity to an acceptable level, target a beneficial and cost-effective level
of reuse capability, and implement a strategy for instituting corresponding
product line practices.
Intended Audience: This tutorial is targeted
to experienced engineers and managers whose organizations repeatedly build
similar products and want to achieve substantial improvements in software
productivity and product quality. Tutorial attendees should be familiar with
the principles and use of a conventional process improvement method such as the
SEI Capability Maturity Model approach.
Title: Introduction to the Architecture
Based Design Method
Presenter: Felix Bachmann and Len Bass
Time: Tuesday, Half day, PM
Abstract: This tutorial will
introduce the Architecture Based Design (ABD) method. This is a method for
designing the conceptual architecture for a product line. The conceptual
architecture includes the decomposition of function for the final system,
identification of possible threads of parallelism and identification of
possible physical network configurations and the allocation of the functional
decomposition to processors.
The ABD method includes explicit steps that
enable the designed architectures to serve as the basis for product lines of
software. These steps include explicit consideration of commonalities and
variabilities and explicit consideration and verification of quality and
business requirements. The ABD method is based on the identification of
architectural drivers (those requirements that "shape the architecture") and
this allows the architecture design to be carried on in parallel to the
requirements process.
The ABD explicitly supports the design of product
lines and it is one of the few design methods that makes explicit the
dependence of architecture on quality and business requirements.
Intended Audience: System architects and designers who want to
understand how to design architectures, especially product line architectures)
that achieve the desired system qualities.
Title: Building Reusable Test Assets for a
Product Line
Presenter: John D. McGregor
Time: Tuesday,
Half day, PM
Abstract: The testing activities on a project consume
valuable resources that could better be used to increase functionality. This
tutorial presents techniques for taking advantage of the personnel organization
and software architectures to reduce the effort required for adequate testing.
The techniques organize unit-level testing assets in a manner that directly
reflects the architecture of the product software. The techniques also
associate the requirements in the form of use cases with the system test cases.
Intended Audience: Managers, system testers, quality assurance
personnel, and development personnel. This tutorial will assume that the
participant has a developer's working knowledge of testing terminology and
concepts.
The SEI is a
federally funded research and development center sponsored by
the U.S.
Department of Defense and operated by Carnegie Mellon University.
Copyright
©2000
by Carnegie Mellon
University