SA Definition: An abstract view of a system, independent of the implementation details
Well-defined architecture can be proven to be extremely beneficial to an organization, but are difficult to develop
2. 2
Agenda Items
Introduction
Software Architecture Overview
Tool Overview
Metis
Software Through Pictures
System Architect
ArchStudio
IBM Rational Rose XDE Modeler
Recommendation
Conclusion
3. 3
Introduction
Currently there is little practical guidance on
managing software architecture in a real
software development organization
The needs of software architecture have led to a
desire to create tools to support the process
For each tool we will discuss:
Features
Benefits
Drawbacks
4. 4
Software Architecture Overview
SA Definition: An abstract view of a system, independent
of the implementation details
Well-defined architecture can be proven to be extremely
beneficial to an organization, but are difficult to develop
In the early days architecture was developed mostly in
an ad hoc way
Technological basis for architectural design has improved
dramatically
Inherent complexities in SA are still major roadblocks
5. 5
Tools Criteria
Support any type of architecture using components and connectors to give
better visual representation instead of using predetermined, statically defined
set
Combine architectural elements recursively and be able to associate meaningful
semantics with elements at any level of abstraction
Determine conformance to interface, both with architecture being designed and
with any external system.
Ease of use
Aid in design as a creative and analysis activity
Support repository to store as well as search various artifacts
Provide automated code generation templates
Provide reverse engineering capabilities
Support model and component reuse
Support simulation, report generation, and web interface
Support full life-cycle development
Does it support and make use of relevant industry standards, e.g. XML, HTML,
produce hypertext, UML, other industry standard?
How reliable vendor is in terms of support and viability.
6. 6
Metis Visual Modeling
set of tools for creating, visualizing, changing,
sharing and managing models
Components
Metis Modeling Workbench
Metis Model Editor, Designer, and Developer
Metis Model Browser
Metis Model Annotator
Drawbacks
No UML or DoDAF template support
No Support for reverse engineering, full life-cycle
development, and code generation.
7. 7
Software Through Pictures
Graphical modeling tool
Components
StP/SE: Provides a comprehensive structured analysis
and design environment for modeling new and
existing systems
StP/UML: Graphical and object-oriented modeling
environment
StP/ACD: Transformation engine for UML models
Drawbacks
Limited graphical support (toolbars rather than
menus)
Trivial functionality, jumbled lower level design
8. 8
System Architect
Features
Framework browser
Various business perspective
Support for UML, XML, A&D
Data modeling
Good integration with other tools
Encyclopedia functionality
Simulation
Drawbacks
Lengthy and intensive configuration
Non-intuitive workflow
9. 9
ArchStudio
Architecture-driven software development
environment
Components
C2: component and message-based architectural style
Constructs extensive and flexible software system
Components are only aware of services provided by the
components above it in hierarchy
xADL 2.0: architectural description language
Used for creating descriptions of components and connectors
Run-time evolution
Explicit architectural model
Runtime change description
Reusable runtime architectural infrastructure
10. 10
ArchStudio
Drawbacks
C2 centric
All components and connectors must be written using
the Java-C2 class framework
No support for component replacement
Currently in ‘alpha’ phase, a researching prototype
No graphical editors for xADL
Supports only one runtime environment, c2.fw
architecture framework
11. 11
IBM Rational Rose XDE Modeler
Model driven development with UML
Features
Models and diagrams at any level of abstraction
Design and implementation control
Visibility of impact of change
Flexibility during change, clear division of work
Scalable and reusable code development, disparate
component connection
Drawbacks
Only aimed at software professionals
Steep learning curve
No support for multi-platform
12. 12
Recommendation
Single “One size fits all” vs multi-tool suite
Both System Architect and IBM Rational Rose
XDE Modeler prefered
They map to most of the criteria
Flexible and support multiple methodologies
Custom creation of templates and models
Customized reports
Facilitates easier communication through the
organization
13. 13
Recommendation
System Architect surpasses XDE modeler
Provides simulation on hierarchy of process model
Improvement suggestions for System Architect
Possible automation of configuration
Possible automation of development process
Value proposition (cost vs features)
Full MDA support
Around the clock customer support
15. 15
References
“Software Engineering Institute Affiliates Symposium, 1990” Proceedings. Pittsburgh, PA. Carnegie Mellon
University, 1990.
Garlan, David. Software Architecture: A Roadmap. Proceedings of the conference on The future of Software
engineering. May 2000. ACM Press, pp. 91-101, 2000.
Kazman , Rick. Tool Support for Architecture Analysis and Design. Joint proceedings of the second international
software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software
development (Viewpoints '96) on SIGSOFT '96 workshops. October 1996. pp. 94-97.
Oreizy, Peyman., Medvidovic, Nenad., and Taylor, Richard N. Architecture-Based Runtime Software Evolution.
Proceedings of the 20th international conference on Software engineering. April 1998.
Paulisch, Frances. Tool Support for Software Architecture. Joint proceedings of the second international software
architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development
(Viewpoints '96) on SIGSOFT '96 workshops. October 1996. pp. 98-100.
Subramanian, Nary and Chung, Lawrence. Session 4 (full technical papers): evolution patterns and models: Tool
support for engineering adaptability into software architecture. Proceedings of the international workshop on
Principles of software evolution. May 2002. pp. 86-96.
http://www.opengroup.org/architecture/togaf8-doc/arch/p4/tools/tools_intro.htm
http://www.isr.uci.edu/projects/archstudio/
http://www.enterprise-architecture.info/EA_Tools.htm
http://www-306.ibm.com/software/rational/
http://www.enterprise-architecture.info/Images/Computas%20Metis/Metis%20overview.htm
http://www.aonix.com/
http://www.popkin.com/products/system_architect.htm
http://www.dmreview.com/article_sub.cfm?articleId=7031
http://www.omg.org/mda/