[llvm-dev] Patterns & Quality Attributes Research

Brandon Leishman via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 3 10:15:57 PDT 2016


Dear LLVM Developers,



We are doing undergraduate research on software architecture patterns and
quality attributes for Utah Valley University.  We recently analyzed the
work published on LLVM in the Architecture of Open Source Applications
<http://aosabook.org/en/index.html> (AOSA) and referenced it in a paper we
presented at the 13th Working IEEE/IFIP Conference on Software Architecture
(WICSA), as attached.  As a part of our continuing research we wish to
validate our architectural analysis for LLVM with the current developers.



We would like to know if we are missing any patterns or quality attributes
that may have been included in LLVM, or if there are any we listed that
aren’t used. Any additional comment on these topics you might have would
also, of course, be welcome.



We believe we found the following software architectural patterns in this
application:



*Pattern Name*

*Is This Found in the Architecture? (yes / no / don’t know)*

*Comments (optional)*

Pipes and Filters







We also identified the following quality attributes:



*Attribute Name*

*Is This Found in the Architecture?*

*Comments (optional)*

Extensibility





Performance





Portability





Flexibility





Testability







For your convenience, we have a complete list below of the patterns and
quality attributes we referred to when conducting our research. To clarify,
we are specifically studying *architectural* patterns, rather than design
patterns such as the GoF patterns.



*Architectural Patterns Considered*



*Quality Attributes Considered*

Active Repository



Scalability

Batch



Usability

Blackboard



Extensibility

Broker



Performance

Client Server



Portability

Event System



Flexibility

Explicit Invocation



Reliability

Implicit Invocation



Maintainability

Indirection Layer



Security

Interceptor



Testability

Interpreter



Capacity

Layers



Cost

Master and Commander



Legality

Microkernel



Modularity

Model View Controller



Robustness

Peer to Peer





Pipes and Filters





Plugin





Presentation Abstraction Control





Publish Subscribe





Reflection





Rule-Based System





Shared Repository





Simple Repository





State Based





Virtual Machine







Please respond by October 17, if possible.



Thank you for considering our request, and for your continued work on LLVM.



Sincerely,



Erich Gubler,

Danielle Skinner,

Brandon Leishman,

Michael Skeen,

Neil Harrison, Ph.D. (advisor)



Reference: Neil B. Harrison, Erich Gubler, Danielle Skinner, "Software
Architecture Pattern Morphology in Open-Source Systems",*WICSA*, 2016, 2016
13th Working IEEE/IFIP Conference on Software Architecture (WICSA), 2016
13th Working IEEE/IFIP Conference on Software Architecture (WICSA) 2016,
pp. 91-98, doi:10.1109/WICSA.2016.8
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161003/e5dfc234/attachment-0001.html>


More information about the llvm-dev mailing list