Dear Haskell Compiler Community,


We are doing undergraduate research on software architecture patterns and quality attributes for Utah Valley University.  We recently analyzed the work published on Haskell Compiler in the Architecture of Open Source Applications (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 Haskell Compiler with the current developers.


We would like to know if we are missing any patterns or quality attributes that may have been included in Haskell Compiler, 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)

Interpreter



Layers



Pipes & Filters



Plugin



Rule-Based System



Other?



We also identified the following quality attributes:


Attribute Name

Is This Found in the Architecture?

Comments (optional)

Scalability



Usability



Performance



Portability



Reliability



Portability



Maintainability



Testability



Modularity



Robustness



Other?




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 Haskell Compiler.


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