Title: Informal Architecture specification Iteration 5
1Informal Architecture specification(Iteration 5)
- SCS Architecture Evolution
- Team PANGEA
- 3/22/2008Version 1.3
2Architecture Drivers
- Constraints
- Eclipse plug-in based on AcmeStudio
- EMFGEF, Java1.6, (Option)GMF
- Functionality
- Diagram architecture evolution
- Compare architecture instances
- Tradeoff on a path or between paths
- Quality Attributes
- 6 High priority quality attributes
- 2 Modifiability scenarios
- 2 Usability scenarios
- 1 reliability, 1 code quality scenarios
See SOW, UC specification for further information
3(ACDM guide)Stage3 Create Notional Architecture
- The development team uses the architectural
drivers specification as a basis to create the
notional architecture. - The notional architecture represents the first
attempt to design the system. - initial partitioning of the system
- developed quickly
- refined iteratively in subsequent stages
From Anthony J. Lattanze
4(ACDM guide)Create Notional Architecture 2
- Create initial representations of the structures
that will comprise the system. - context
- physical perspectives
- code or static perspectives (includes data
models) - run-time perspectives
- element interfaces
- management perspective (important later)
- Not all representations are required for the
notional architecture.
From Anthony J. Lattanze
5Notional Architecture (Iteration5 as of 3/22)
- Following are what we have so far
- Context
- Run-time perspective (CC view)
- Static perspective (Module view)
- Data model
- Module view
- Others
- Physical perspective (Allocation view)
6Date 21 March 2008
Version 1.0
Drawing Title Context Diagram - Architecture
Evolution Tool
Perspective
x
Dynamic
Static
Physical
Legend
System Environment
Draw evolution path
Our system
System to be implemented
Compare instances
Software architect
Analyze evolution
Existing system
AcmeStudio
DiagramArchitecture instance
System interaction
Software architect
User interaction
Eclipse Platform
- Our system will be developed by extending
AcmeStudio for architecture evolution research.
7Date 21 March 2008
Version 1.0
Drawing Title component dependency
Perspective
x
Dynamic
Static
Physical
Legend
System Boundary
Component instance
Use dependency
- GEF is Graphical Editing Framework. EMF is
Eclipse Modeling Framework. Both provides
frameworks for Eclipse plug-in developers. - AcmeStudio is using GEF as framework. Our tool
will use AcmeStudio, GEF and EMF runtime. - Our tool will provide extension points to he 3rd
party plug-ins for extending quality tradeoff
analysis. To test our extension points, making
simple analysis plug-in is also our scope.
8Date 21 March 2008
Version 1.0
Drawing Title component diagram (runtime view)
Perspective
x
Dynamic
Static
Physical
Legend
Component instance
(instance name type)
Port
Providedinterface
Requiredinterface
Connector(UML2.0)
- GMF is based on an interactive MVC model. Many
classes will be generated by GMF framework, and
the classes will serve as View, Controller, Model
component. Controller component handles with all
requests from View, update view, and change Model
according to user interaction. - ComparisonController component is invoked by
Controller. - The 3rd party plug-in can use extension points
(provided interface) to get or extend data in
Model and to update View - Controller and ComparisonController will use
AcmeStudio API through required interfaces.
Structure diagram
9Date 21 March 2008
Version 1.0
Drawing Title Data model for UC1
Perspective
Dynamic
x
Static
Physical
Legend
Class ( with attributes)
Composite association
Association
Issue Data model for UC2, UC3 needs to be
updated.
10Date 21 March 2008
Version 1.0
Drawing Title Module view
Perspective
Dynamic
x
Static
Physical
Legend
Package
Usage dependency
Issue How can we map runtime view and static
view? Use stereotype?
- GMF_gen package will be automatically generated
by GMF runtime. We might add some packages and
classes as needed. - Comparison package is for comparison feature.
- simple_plugin package is for simple analysis
plugin
11Appendix
- SCS Architecture Evolution
- Team PANGEA
- 2/1/2008Version 1.0
12Date 21 March 2008
Version 1.0
Drawing Title Architecture Evolution Tool
Perspective
Dynamic
Static
Physical
X
PC
Legend
System Boundary
System
PC
Hard Disk
Architecture Evolution Tool
Data Repository
Bus
13Modifiability Tactics
- Modifiability tactics
- Localize modifications (Restricting modifications
to a small set of modules) - Maintain semantic coherence
- Anticipate expected changes
- Generalize the module
- Limit possible options
- Prevent ripple effects
- Hide information
- Maintain existing interfaces
- Restrict communication paths
- Use an intermediary
- Defer binding time
- Runtime Registration
- Configuration files
- Polymorphism
- Component replacement
- Adherence to defined protocols
14Usability Tactics
- Run-time tactics
- Separate User Interface (from the rest of the
application) - Support User Initiative
- Cancel
- Undo
- Aggregate
- Support System Initiative
- User Model
- System Model
- Task Model
15Domain Model Consideration
New classes
Feature 1
Modification
Modification
Feature 2
Domain Gen Model
Domain Model Graphical Def Model Tooling Def Model
Mapping Model
Code-Generation
Mapping Gen Model
GMF Models
Source Codes
16Domain Model Consideration
Design Model
Architectural views Module view CC view
Allocation view Use case realization UC1
UC2 UC3
New classes
Feature1 class diagram sequence
diagram Feature2 class diagram sequence
diagram
implement
Feature 1
Modification
implement
Modification
Feature 2
Domain Gen Model
Domain Model Graphical Def Model Tooling Def Model
Mapping Model
Code-Generation
Mapping Gen Model
GMF Models
Source Codes
175. Use case perspective
Software Architecture Evolution Tool
AcmeStudio
Develop Architecture Instance
ltltincludegtgt
UC01 Diagram Architecture Evolution
Import Architecture instances
ltltincludegtgt
Compare instances with different family
Software architect
ltltextendgtgt
Compare instances with hierarchy
UC02 Compare Architectural Instances
ltltextendgtgt
UC03 Tradoff on one path or between paths
3rd party plug-in
18FYI GMF generation overview
19Eclipse Plug-in relationship
3rd party quality tradeoff tool
Architecture Evolution Tool
AcmeStudio
GMF
EMF
GEF
20Eclipse plug-in dependencies
- Issues
- We might need a specific order for dependencies
21Date 21 March 2008
Version 1.0
Drawing Title Context Diagram2 - Architecture
Evolution Tool
Perspective
Dynamic
X
Static
Physical
1. simple system context
Legend
System Boundary
Architecture evolution tool
Simple plug-in for analysis
System to be implemented
Other component
System interaction
2. relative influence
Architecture Evolution Tool
Simple plug-in for analysis
3rd party analysis tool
AcmeStudio
Eclipse runtime