Grady Booch Software Architecture Masterclass- September 2007Breakout session:Architecture Representation Nick Whidborne (Reporter, IBM) Richard Hopkins (Facilitator, IBM) Behzad Bordbar (Presenter, academia)
Contents • Architecture • Architecture Description Languages • Development and tool support • Brownfield Software Systems
Architecture IEEE 1471- ISO/IEC 42010 Recommended Practice for Architectural Description of Software-Intensive Systems (2000) • Expression of the system and its evolution • Communication among the system stakeholders • Evaluation and comparison of architectures … • Planning, managing, executing system development • Expression of persistent characteristics .. to guide acceptable change • Verification of a system implementation • Recording … the body of knowledge …
Architecture Description Languages Among many are Wright, Rapide, Darwin, SADL, C2,… IBM’s ADS: augments UML for -definition of functional architecture -description of operational architectures … Advantages of UML • family of multiple languages - good tool support • accepted by industry -good extension mechanism … But you may disagree- as it emerged in Code Generation conf., Cambridge 2007 May be Domain Specific Language (DSL) is the future of ADL?
Development and tool support Model Driven Development (MDD) Areas of considerable progress: • Representation of source and destination (meta)models • Exchange/repository of models • Specification of model transformation • testing, verification patterns … are still subject of research • Good tool support environment is available both in academia and industry
Development and tool support Eclipse: • Easy to develop plug-in, lots of plug-ins… • Better/faster tool development. But, existing MDD technology by and large is aimed at the developers. There is a clear shift in the role of IT. Crucial to bridge the gap between business models and architectural models? • How can MDA support the architect? • Also, MDD is about forward engineering, what about Brown-field Development?
Brownfield Software Systems Challenges: • Harvest details to understand the architecture • Raise the level of abstraction • Visualise to discover crucial dependencies • Richard’s recent work on Second life Are our standards suitable for capturing models of legacy systems?
Methodologies Among others: • Rational Unified Process • Global Services Method • Agile Unified Process • Extreme Programming Does the representation sets the methodology or the methodology sets the representation?