
\begin{abstract}
% Text of abstract

Advances in hardware and networks are pushing the envelope on the
capabilities provided by modern software systems.  These are now
increasingly being assembled as a loosely coupled collection of
distributed, coordinating subsystems, where each subsystem provides a
specific capability or service.  What makes the realization of these
systems hard is the significant variability in the systems software
design space, which arises from having to support different
performance attributes, such as latency and throughput, simultaneously
in conjunction with other para-functional issues, such as reliability,
availability and security.  Yet another dimension of variability
arises from the scalability challenges and the need to assemble and
connect disparate systems on-the-fly while ensuring that the
performance attributes of systems are met.  System developers must
address these sources of variability without overcomplicating their
solutions, degrading  their software quality, and exceeding their
project schedules. 

Separation of concerns (SoC), which is a key idea in the
aspect-oriented and feature-oriented software development (AO/FOSD)
processes, provides the means to deal with these variabilities.
This paper describes how visual domain-specific modeling languages
(DSMLs) can provide SoC capabilities whereby variability in systems
software can be captured intuitively at higher levels of abstraction
than that provided by third generation programming languages.  For
this paper we focus on addressing the variability in the middleware
that hosts application components by describing a DSML that
enables separating middleware concerns including the basic building
blocks used for middleware composition, their configurations, and
their performance characteristics.  

\end{abstract}
