Software Architecture

Im Rahmen der Software Architecture widmen wir uns folgenden Schwerpunkten:

  • Systematic Construction
  • SOA (Service Oriented Architecture)
  • Clouds
Veröffentlichungen
YearTitleAuthorJournal/ProceedingsPublisher
2012 Designing Architectures from Problem Descriptions by Interactive Model Transformation Alebrahim, A., Côté, I., Heisel, M., Choppy, C. & Hatebur, D. Proceedings 27th Symposium on Applied Computing   ACM  
Abstract: We present a structured approach to systematically derive a software architecture from a given problem description based on problem frames and a description of the environment. Our aim is to re-use the elements of the problem descriptions in creating the architecture. The derivation is performed by transforming the problem description into an initial architecture, where each subproblem corresponds to a component. The transformation is supported by model transformation rules, formally specified as operations with pre- and postconditions. This specification serves as a blueprint for a tool supporting the architectural design. We illustrate our method by the example of a patient care system.
BibTeX:
@inproceedings{SAC2012},
  year = {2012},
  title = {Designing Architectures from Problem Descriptions by Interactive Model Transformation},
  booktitle = {Proceedings 27th Symposium on Applied Computing},
  author = {Azadeh Alebrahim and Isabelle C\^{o}t\'{e} and Maritta Heisel and Christine Choppy and Denis Hatebur},
  publisher = {ACM},
  pages = {1256--1258},
  url = {http://dl.acm.org/}
}
2011 Systematic Architectural Design based on Problem Patterns Choppy, C., Hatebur, D. & Heisel, M. Relating Software Requirements and Architectures   Springer  
Abstract: We present a method to derive systematically software architectures from problem descriptions. The problem descriptions are based on the artifacts that are set up when following Jackson's problem frame approach. They include a context diagram describing the overall problem situation and a set of problem diagrams that describe subproblems of the overall software development problem. The different subproblems should be instances of problem frames, which are patterns for simple software development problems. Starting from these pattern-based problem descriptions, we derive a software architecture in three steps. An initial architecture contains one component for each subproblem. In the second step, we apply different architectural and design patterns and introduce coordinator and facade components. In the final step, the components of the intermediate architecture are re-arranged to form a layered architecture, and interface and driver components are added. All artefacts are expressed as UML diagrams, using specific UML profiles. The method is tool-supported. Our tool supports developers in setting up the diagrams, and it checks different validation conditions concerning the semantic integrity and the coherence of the different diagrams. We illustrate the method by deriving an architecture for an automated teller machine.
BibTeX:
@incollection{CHH2011a},
  year = {2011},
  title = {Systematic Architectural Design based on Problem Patterns},
  booktitle = {Relating Software Requirements and Architectures},
  author = {C. Choppy and D. Hatebur and M. Heisel},
  publisher = {Springer},
  note = {To appear},
  url = {http://www.springerlink.com/}
}
2006 Component composition through architectural patterns for problem frames Choppy, C., Hatebur, D. & Heisel, M. Proc. XIII Asia Pacific Software Engineering Conference (APSEC)   IEEE  
Abstract: In this paper, we present a pattern-based software development
process using problem frames and corresponding
architectural patterns. In decomposing a complex problem
into simple subproblems, the relationships between the subproblems
are recorded explicitly. Based on this information,
we give guidelines on how to derive the software architecture
for the overall problem from the software architectures
of the simple subproblems.
BibTeX:
@inproceedings{apsec06},
  year = {2006},
  title = {Component composition through architectural patterns for problem frames},
  booktitle = {Proc. XIII Asia Pacific Software Engineering Conference (APSEC)},
  author = {Christine Choppy and Denis Hatebur and Maritta Heisel},
  publisher = {IEEE},
  pages = {27--34},
  url = {http://www.ieee.org/}
}
2005 Architectural Patterns for Problem Frames Choppy, C., Hatebur, D. & Heisel, M. IEE Proceedings -- Software, Special issue on Relating Software Requirements and Architecture    
Abstract: Problem frames provide a characterisation and classification of software development problems.
Fitting a problem into an appropriate problem frame should not only help to understand
it, but also to solve the problem (the idea being that, once the adequate problem frame is
identified, then the associated development method should be available). We propose software
architectural patterns corresponding to the different problem frames that may serve as
a starting point for the construction of the software solving the given problem. These architectural
patterns exactly reflect the properties of the problems fitting into a given frame, and
they can be combined in a modular way to solve multi-frame problems.
BibTeX:
@article{Choppy2005},
  year = {2005},
  title = {Architectural Patterns for Problem Frames},
  author = {Christine Choppy and Denis Hatebur and Maritta Heisel},
  journal = {IEE Proceedings -- Software, Special issue on Relating Software Requirements and Architecture},
  note = {To appear}
}