Skip navigation
  • Home
  • Browse
    • Communities
      & Collections
    • Browse Items by:
    • Publication Date
    • Author
    • Title
    • Subject
    • Department
  • Sign on to:
    • My MacSphere
    • Receive email
      updates
    • Edit Profile


McMaster University Home Page
  1. MacSphere
  2. Open Access Dissertations and Theses Community
  3. Open Access Dissertations and Theses
Please use this identifier to cite or link to this item: http://hdl.handle.net/11375/24056
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorKahl, Wolfram-
dc.contributor.advisorMaibaum, Tom-
dc.contributor.authorHossain, Md Nour-
dc.date.accessioned2019-03-21T13:06:53Z-
dc.date.available2019-03-21T13:06:53Z-
dc.date.issued2018-11-
dc.identifier.urihttp://hdl.handle.net/11375/24056-
dc.description.abstractWhile aspect-oriented programming (AOP) addresses the introduction of “aspects” at the code level, we argue that addressing this at the level of software architecture is conceptually and methodologically more adequate, since many aspects, that is, “crosscutting concerns”, are formulated already in the requirements, and therefore can be dealt with in a more controlled manner in the “earlier” phase of software architecture design. We use the precise concept of software architectures organised as diagrams over a category of component specifications, where the architecture semantics are defined as a colimit specification (Fiadeiro and Maibaum, 1992). The diagram structure suggests aspect introduction via an appropriate variant of graph transformation. Singlepushout rewriting in categories of total homomorphisms has already been used previously for different kinds of “enrichment” transformations; we identify “zigzag-path homomorphisms” as producing a category where many practically useful aspect introductions turn out to be such single-pushout transformations, and present the relevant theorems concerning pushout existence and pushout construction. Practical aspect introduction (e.g., privacy) always breaks some properties (e.g., “message can be read in transit”); therefore, aspect introduction transformations cannot be designed to be semantics preserving. Our special categorical setting enables selective reasoning about property preservation in the transformed specifications, and property introduction from the introduced aspects. This method enables us to detect and resolve both conflicts and undesirable emergent behaviors that arise from aspect introduction or interaction. We have developed tool support to introduce and analyze aspects at the system architecture level through zigzag graph transformation. The implementation is based on Hets, an initiative of Mossakowski et al. (2007) and consists of two key parts: the language development and the zigzag transformation. The development of the MFLogic language is based on the specification language Casl (Astesiano et al., 2002) and uses the logic introduced by Fiadeiro and Maibaum (1992). Besides parsing, syntactic and static semantics correctness checking, the language inclusion in Hets opens the door for automatic property preservation analysis and conflict detection. The main contribution of the tool support in Hets is the automatic aspect introduction and the “result architecture” generation by applying our zigzag graph transformation.en_US
dc.language.isoenen_US
dc.subjectASPECT INTRODUCTIONen_US
dc.subjectDIAGRAM TRANSFORMATIONen_US
dc.subjectGRAPH TRANSFORMATIONen_US
dc.subjectSOFTWARE ARCHITECTUREen_US
dc.titleINTRODUCING ASPECTS INTO SOFTWARE ARCHITECTURES BY GRAPH TRANSFORMATIONen_US
dc.typeThesisen_US
dc.contributor.departmentComputing and Softwareen_US
dc.description.degreetypeThesisen_US
dc.description.degreeDoctor of Philosophy (PhD)en_US
Appears in Collections:Open Access Dissertations and Theses

Files in This Item:
File Description SizeFormat 
Hossain_Nour_Md_201809_PhD.pdf
Open Access
1.85 MBAdobe PDFView/Open
Show simple item record Statistics


Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.

Sherman Centre for Digital Scholarship     McMaster University Libraries
©2022 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8 | 905-525-9140 | Contact Us | Terms of Use & Privacy Policy | Feedback

Report Accessibility Issue