13.07.2015 Views

Modeling Software Architectures in the Unified Modeling Language

Modeling Software Architectures in the Unified Modeling Language

Modeling Software Architectures in the Unified Modeling Language

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Model<strong>in</strong>g</strong> <strong>Software</strong> <strong>Architectures</strong> <strong>in</strong> UML • 5Fig. 1. (a) Leverag<strong>in</strong>g a comb<strong>in</strong>ation of a standard notation (<strong>the</strong> core model) and a set of specializednotations (model extensions) to address <strong>the</strong> multitude of issues that may arise dur<strong>in</strong>g softwaredevelopment. (b) Sketch of a correspond<strong>in</strong>g development process <strong>in</strong> which excursions from <strong>the</strong>“ma<strong>in</strong>” process are undertaken to address specific concerns us<strong>in</strong>g <strong>the</strong> specialized notations.model <strong>the</strong> architectural concepts provided by several ADLs. Our study formsa necessary foundation for fur<strong>the</strong>r <strong>in</strong>vestigat<strong>in</strong>g <strong>the</strong> possibility of provid<strong>in</strong>g abroadly applicable extension of UML for architecture model<strong>in</strong>g.Represent<strong>in</strong>g <strong>in</strong> UML <strong>the</strong> architectural build<strong>in</strong>g blocks supported by an ADL(e.g., Wright’s components, connectors, ports, roles, and styles [Allen and Garlan1997]) offers potential benefits both to practitioners who prefer <strong>the</strong> ADL as adesign notation and to those who are more familiar with UML. For example, if amapp<strong>in</strong>g were enabled from an architecture modeled <strong>in</strong> Wright to one <strong>in</strong> UML,a Wright user might be able to leverage a wide number of general-purposeUML tools for later stages of development, such as tools for code generation,simulation, analysis, reverse eng<strong>in</strong>eer<strong>in</strong>g, and so forth. Conversely, if UML wereextended to <strong>in</strong>clude Wright’s model<strong>in</strong>g capabilities, it would potentially enablea UML user to exploit <strong>the</strong> powerful analyses for which Wright is suited, suchas <strong>in</strong>terface compatibility check<strong>in</strong>g and deadlock detection.In order to evaluate UML’s suitability for model<strong>in</strong>g software architectures<strong>in</strong> <strong>the</strong> manner outl<strong>in</strong>ed above, we have placed no restrictions on <strong>the</strong> manner <strong>in</strong>which UML is used for this purpose, o<strong>the</strong>r than <strong>the</strong> requirement that <strong>the</strong> result<strong>in</strong>gapproach still <strong>in</strong>volve standard UML. The motivation for this requirementis clear: Alter<strong>in</strong>g UML <strong>in</strong> any way to better support <strong>the</strong> needs of software architectures<strong>in</strong>validates <strong>the</strong> argument for us<strong>in</strong>g a standard notation <strong>in</strong> <strong>the</strong> firstplace. We have identified three possible strategies for us<strong>in</strong>g UML to model architectures.S<strong>in</strong>ce a prelim<strong>in</strong>ary evaluation <strong>in</strong>dicated that one of <strong>the</strong> strategiesresults <strong>in</strong> a notation that is not legal UML, we have pursued only two strategies<strong>in</strong> depth.It is important to note that we envision <strong>the</strong> strategies discussed <strong>in</strong> this paperbe<strong>in</strong>g used by practitioners <strong>in</strong> <strong>the</strong> context of <strong>the</strong>ir exist<strong>in</strong>g software processesand have thus tried to refra<strong>in</strong> from prescrib<strong>in</strong>g a particular process for relat<strong>in</strong>gADLs and UML. But at least at a high level, our overall approach can bevisualized <strong>in</strong> <strong>the</strong> context of a modeled software system as shown <strong>in</strong> Figure 1a:Standard, “core” UML is constra<strong>in</strong>ed (ei<strong>the</strong>r implicitly <strong>in</strong> <strong>the</strong> way it is used,or explicitly via <strong>the</strong> mechanisms discussed below) to address specific architecturalconcerns identified by <strong>the</strong> architect. The conceptual view of <strong>the</strong> correspond<strong>in</strong>gprocess is given <strong>in</strong> Figure 1b: Occasional “excursions” from <strong>the</strong> ma<strong>in</strong>development process may be undertaken as needed to address <strong>the</strong> identifiedACM Transactions on <strong>Software</strong> Eng<strong>in</strong>eer<strong>in</strong>g and Methodology, Vol. 11, No. 1, January 2002.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!