by Holger Giese, Alexander Vilbig
Abstract:
Separation of concerns represents an important principle for managing complexity in the design and architecture of large component-based software systems. The fundamental approach is to develop local solutions for individual concerns first, and combine them later into an overall solution for the complete system. However, comprehensive support for the integration of interdependent, possibly conflicting concerns related to behavior is still missing. In our work, we propose a sound solution for this complex type of composition, employing well-known UML description techniques as well as a rigorous formal model of component behavior. Based on this foundation, we describe a constructive synthesis algorithm which reliably detects conflicting concerns or generates a maximal behavior for software components with multiple interactions. An optimized implementation of the algorithm has been integrated into a CASE tool to illustrate feasibility and scalability of the presented technique at the example of a moderately large case study.
Reference:
Separation of Non-Orthogonal Concerns in Software Architecture and Design (Holger Giese, Alexander Vilbig), In Software and Systems Modeling, Springer Verlag, volume 5, 2006.
Bibtex Entry:
@Article{Giese&Vilbig2006,
AUTHOR = {Giese, Holger and Vilbig, Alexander},
TITLE = {{Separation of Non-Orthogonal Concerns in Software Architecture
and Design}},
YEAR = {2006},
MONTH = {June},
JOURNAL = {Software and Systems Modeling},
VOLUME = {5},
NUMBER = {2},
PAGES = {136 - 169},
PUBLISHER = {Springer Verlag},
ABSTRACT = {Separation of concerns represents an important principle
for managing complexity in the design and architecture of large
component-based software systems. The fundamental approach is to
develop local solutions for individual concerns first, and combine
them later into an overall solution for the complete system. However,
comprehensive support for the integration of interdependent, possibly
conflicting concerns related to behavior is still missing. In our work,
we propose a sound solution for this complex type of composition,
employing well-known UML description techniques as well as a rigorous
formal model of component behavior. Based on this foundation, we
describe a constructive synthesis algorithm which reliably detects
conflicting concerns or generates a maximal behavior for software
components with multiple interactions. An optimized implementation
of the algorithm has been integrated into a CASE tool to illustrate
feasibility and scalability of the presented technique at the example
of a moderately large case study.}
}