30
UCI Research Forum A Systems Engineering Perspective of Aspect-oriented Software Architectural Analysis Phillip Schmidt, Ph.D. [email protected]

A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

A Systems Engineering Perspective ofAspect-oriented Software Architectural Analysis

Phillip Schmidt, [email protected]

Page 2: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Agenda

n Our Worldn Why a Systems Engineering Perspective?n REACTn Architectural Representation Challengesn Evolving REACTn Closing Remarks

Page 3: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Our World is Rocket Science!n Space system architectures growing

increasingly complexn Highly interdependent legacy subsystemsn Manual inspection of hardcopy designs

ineffective in finding subtle design flawsn Increasingly difficult to make technical

tradeoff decisions based solely onqualitative judgments (e.g. withinIntegrated Product Teams)

n Architectural representation issues, object-oriented design technologies applied tolegacy RT embedded systems not wellunderstood

n Space system architectures exhibitpressure to evolven Desire to improve performance,

functionality, and program successn New environmentsn New servicesn New contexts

n Complexity and evolution raise risk

How do we managearchitectural risk?

Page 4: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Challenges(Early Discovery of Architectural Risks)

Tools

Actual Intended

Weakarchitectural

tools

Unconventional,inconsistent tool

usage

DesignIncompleteness

AmbiguousInterpretation of

design intentIncompatibledesign

Limitedperformance

insight; flawedimplementation

Designevolution

errors

Ascertainingderived

architecturalinformation

On-boardfailure

Tools

Incompletetesting

Built-to

Page 5: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Why a System Engineering Perspective?

n Disconnect between Vision and Reality:n Vision: Architecture is central to supporting program evolutionn Reality: Software architectural representations often

incomplete and inconsistent

n A systems engineering perspective is needed torecognize and deal with the disconnect

n Architecture is more thann what UML is todayn what Aspect-oriented programming is today (and will likely

become)n questions about code

n Architectural representation challenges awaitn Aspect-oriented architectural analysis is being used to

tackle these challenges

Page 6: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Real-time Embedded Architecture-Centric Testbed(REACT)

n Architecture-Centricn Recognize importance of architectural representation

n Many formsn Frequent access

n Early discovery/feedback

n Aspect-Oriented Architectural Assessmentn Architectural development exhibits concerns that cut

across object decomposition boundariesn Support for automated management of concerns

Page 7: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Architecture-Centric

n Receive contractor-provided architecture artifactsn Unified Modeling Language (UML)n Other electronic representations

n Automatically extract architectural informationn Conduct architectural assessments

n Prior to code developmentn Static Assessment

n consistency/completenessn Compare “as-designed” to “as-built” representations

n Dynamic Assessmentn Focus on critical execution issues (synchronization, priority tasking, sizing)n Create simulations of well-formed modelsn Understand logical execution behavior of architecturen Refine/re-parameterize models

n Work closely with program office/contractorn Work closely with UML vendors

Page 8: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Aspect-Oriented Architectural Analysis

n Idea: Apply aspects over UML architectural domain

Architectural domain(e.g. UML and otherartifacts)

Programming languagedomain (e.g. Java)

Architecturally non-intrusive; separable viasimulation

Solutions architecturallyintrusive (completeness)

Address static ordynamic aspects

Address dynamic,execution impacts

Leverage expression ofcross-cutting concerns

Leverage expression ofcross-cutting concerns

AOAAAOP

Page 9: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Architectural Aspect Types

Log all raisedexceptions;evaluate pre/postconditons

Define cross-cuttingconcerns that needto be monitored

Dynamic AssessmentAspects

Supply modelinformation basedon ICDs, otheranalysis

Add newarchitecturalinformational detail

AugmentationAspects

Collect all eventrelated information

Derive new orcustomizedarchitecturalinformation fromUML space

Derivation Aspects

Find all examplesof destroy objectusages

Perform integrity,consistency checksover UML space

Static AnalysisAspects

ExampleDescriptionAspect Type

Page 10: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Real-time Embedded Architecture-Centric Testbed (REACT)Aspect-Oriented Architectural Assessment

ModelExtractor

UML ArchitecturalInformation

ModelGenerator

Architectural Representation

DynamicAssessment

ModelConfiguration

Architectural Representation

Architectural Representation

Architectural Representation

Model Executor

Static AnalysisAspects

DerivationAspects

AugmentationAspects

Dynamic AnalysisAspects

UML ArchitecturalInformationUML Architectural

Information

UML Model Evolution

Dynamic Assessment

ResultsStatic

AssessmentResults

AspectTranslator

Page 11: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Aspects useful in exploring quality concerns

Sequence Diagram X-Y sizes

0

200

400

600

800

1000

1200

1400

0 500 1000 1500 2000

X size

Y s

ize

Message interactionsets too large for

manual inspection

Page 12: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Dynamic Architectural Analysis

UML/XMI REACTREP

Model Configuration File

Sample Model OutputsAnimated State Execution

Simulation Model

Page 13: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

There still are problems…

Improve trust, education, tools,methodologies, research

Human factors, Architecture-Centricphilosophy not always embraced

Better modelrepresentation/analysis techniques.Aspects

Architectural Evolution,Cross-cutting concern analysis, etc

Multi-level modeling techniquesDynamic Assessment

Augmentation, auto-generation, re-parameterization

Behavioralincompleteness

Early discovery, Static analysisInconsistency

UML profile, improved architecturalsemantics

UML Usages

Solution ApproachesProblem Areas

Ignoring these does not reduce architectural risk

Page 14: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Different UML Usages

xXHigh-level sequence diagramsHigh-level state/activity diagramsClass/actor as subsystemsRole relationships between components

Conceptual system-levelmodels (goals, objectives,system dependencies,constraints)

XxClass diagrams as SW classesDetailed sequence diagrams(messages/methods, classparticipants)State behavior (class, method)Deployment info

Architectural/detaileddesign Level(active/passive objectsinterfaces, tasks, OSmodels, concurrency,)

xXUse case/functional requirementdescriptions (nominal, alternative,exception, preconditions,postconditions, triggers)

Requirements analysisand traceability (reqtids, subsystem, build,test info)

PSMPIMUML ArtifactsFocus

Page 15: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

REACT Example:Class Coverage in Sequence Diagrams

41%

59%

Classes referenced insome sequencediagram

Classes referenced inno sequence diagram

Page 16: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Usage of Class Diagrams

49% 35%

4%1% 3%

2%

4%0%0% 2%

Unnamed Classes insequence diagram

Null Classes in sequencediagram

Data structure Classes insequence diagram

Actor Classes in sequencediagram

Other Classes in sequencediagram

Unnamed Classes in nosequence diagram

Null Classes in no sequencediagram

Data structure Classes in nosequence diagram

Actor Classes in nosequence diagram

Other Classes in nosequence diagram

Page 17: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

REACT Early Discovery Example:Consistency and Completeness

Non-standard

UML usage

InconsistentClasses,methods Traceability

incomplete

Less than50%

methodsdescribed

Page 18: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Dynamic Assessment

n Goal: Perform dynamic assessment whenmodel behavioral information is missing

n Approach:n Multiple levels of modeling abstractionn Augmentation aspectsn Monitoring aspects

Page 19: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Architectural Evolution

n Representations must support frequent change(mandatory/optional components)

n Not all features will be preplanned and separablen Need to look backward, forward, and elsewhere! (e.g. old design

decisions, new usage scenarios, other ICDs, changingrequirements)

n Expand features to study concerns we don’t want! (e.g. designconflicts, deadlocks, unreachable states)

n Architectural complexities/dependencies will make featureinteractions difficult to manage

n Separation/integration of multiple UML modelsn Any given OO decomposition will eventually be reexaminedn There are cross cutting concerns that the programming domain

alone cannot answer (e.g. version impacts, requirementsevolution changes, workload)

Page 20: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Evolving REACT

n Improve Architectural Representationn Improve Assessment Techniques

Page 21: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Expanding Architectural Representations

Aspects

Requirement Representation

Architecture Representation

Environment Representation

Workload Representation

Aux Reports

UMLModel Model

Generator

ModelConfiguration

DynamicAssessment

Model Executor

ProfileInterpreter

ModelGenerator

Aspects

UMLProfile

AspectsAspects

ReverseEngineer

CodeAnalyzer

xmlxml

Code

Artifacts

AspectProcessor

Dynamic Assessment

Results

StaticAssessment

AspectProcessor

AspectProcessor

ModelConfiguration

ModelConfiguration

Dynamic Assessment

Results

Dynamic Assessment

Results

Use cases

PrepTools

PrepTools

Use casesICDsDeployment

Info

PrepTools

Use cases

Artifacts

ModelGenerator

ExtractorExtractor

Page 22: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Expanding Assessment Techniques

n Develop tools/techniques to improve context and semanticsn XML schemas represent/share architectural artifactsn Support augmentation from various sourcesn Support interpretation aspects (e.g. UML profiles of use)

n Augment representations with parameters derived from reverse-engineered coden Capture missing behaviors to improve evolution success

n Manage planned scenarios as analyzable use casesn Manage planned features as aspects over entire representation

spacen Dependencies too difficult otherwise

n Move toward automating analysis and aspect-oriented impactanalysis

n Develop architectural analysis techniques to discover designpatterns and refactoring opportunities

Page 23: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Closing Comments

n The holy grail of architecture is not efficient softwarecode generation but managing architectural riskduring its evolution

n A systems engineering perspective supportingarchitectural assessments and impacts to change isdesired

n Architecture is a core asset that goes beyond UMLand AOP.

n Architectural representation challenges remainn UCI is a meeting the challenge!

Page 24: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Backup Charts

Page 25: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

References

n Scenario-basedn R. Kazman, G. Abowd, L. Bass, P. Clements, “ Scenario-Based Analysis of

Software Architecture,” IEEE Software, 13 (6):47-56, 1996n R. Kazman, M. Klein, M Barbacci, T. Longstaff, H Lipson, J. Carriere, “The

Architecture Tradeoff Analysis Method,” in Proceedings of the 4th

International Conference on Engineering of Complex Computer Systems(ICECCS98), Monterey, CA, IEEE CS Press, pp68-78, 1998

n P. Bengtsson, N. Lassing, J. Bosch, H. vanVliet, “Analyzing SoftwareArchitectures for Modifiability,” May 2000

n Feature-orientedn M. Svahnberg, J. Van Gurp, J. Bosch, “On the Notion of Variability in

Software Product Lines” Proceedings of the Working IEEE/IFIP Conferenceon Software Architecture (WICSA 2001), pp 45-55, August 2001

n Architecture-centric Designn T. Mens, C. Lucas, P. Steyaert, “Supporting Disciplined Reuse and

Evolution of UML Models,” First International Workshop on UML,Mulhouse, France, June 1998

n Xadl, an XML architecture description languagehttp://www.isr.uci.edu/projects/xarchuci/

Page 26: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

References (cont’d)

n Aspect-oriented Programmingn See Communications of ACM, October 2001, Vol 44, No 10.

n Aspect-oriented Architectural Analysisn P. Schmidt, R. Duvall, G. Mulert, J. Milstein, J. Rivera, “Aspect-Oriented

Architectural Analysis using Multi-level Modeling of Complex Systems,”Proceeding of 2003 International Information Resources ManagementConference, May 2003

n Maintenance/Product Line Studiesn J.Bosch “Product-Line Architectures in Industry,” Proceeding of the 21st

International Conference on Software Engineering, Nov 1998n J. van Grup, J. Bosch, “Design Erosion: Problems and Causes,” Journal of

Systems and Software, November 2001.n M. Lindvall, K. Sandahl, “How well do Experienced Software Developers

Predict Software Change?”, Journal of Systems and Software, vol 43, no 1, pp19-27, 1998

n M. Lindvall, M. Runesson, “The Visibility of Maintenance in Object Models: AnEmpirical Study,” Proceedings of International Conference on SoftwareMaintenance, Los Alamitos, IEEE CS Press, pp 54-62, 1998

n B. Lientz, E Swanson, Software Maintenance Management, Reading, MA,Addison-Wesley, 1980.

Page 27: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Definitions

n Architectural variability, refers to the ability toidentify and flexibly reshape aspects of anarchitecturen Aspects identify points of variation

n Program evolution refers to the ability of anarchitecture, over its lifecycle, to undergochange

Page 28: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Augmentation Aspects

n Example: Initially model missing informationas a “black box”n An aspect identifies

n Area/context of interest (e.g. methods with no statebehavior)

n Some action to be taken (associate some default blackbox action state with that method)

n Later another aspect could replace/revise theblack box behavior

n Example: Identify all COTS tool interfaces

Page 29: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Monitoring Aspects

n Monitor defines an action to take and thecondition under which to enable it.

n Currently monitoring is independent ofsystem under study. E.g. monitoring does notforce adaptive behavior

n Augmentation aspects can tag areas andenable monitoring. E.g. All interrupt handlermethods.

n Monitoring can provide directives to thesimulator (e.g. report Task msg queue size)

Page 30: A Systems Engineering Perspective of Aspect-oriented ...isr.uci.edu/events/Research-Forum-2003/presentations/schmidt.pdf · Aspect-Oriented Architectural Analysis nIdea: Apply aspects

UCI Research Forum

Multi-Level Modeling Types

n Method-level Modelingn Participant-level Modelingn Use-case level Modeling