ebook img

composing style-based software architectures from architectural PDF

345 Pages·2004·1.95 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview composing style-based software architectures from architectural

COMPOSING STYLE-BASED SOFTWARE ARCHITECTURES FROM ARCHITECTURAL PRIMITIVES by Nikunj Rohitkumar Mehta A Dissertation Presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy (COMPUTER SCIENCE) December 2004 Copyright 2004 Nikunj Rohitkumar Mehta ii DEDICATION For Chandravati and Hukmichand, my late grandparents who were my first and best teachers. I wish you were here today. iii ACKNOWLEDGEMENTS While this dissertation marks the end of my formal education at USC, I can never forget the friendships I developed here over the last six years. I would not have been able to reach this stage without the coaching, help, and encouragement of numerous people who came in my life, and, therefore, I wish to acknowledge them here. First and foremost, my advisor Prof. Nenad Medvidovic was instrumental in making this dissertation happen. Without his coaching on how to find quality research problems, guid- ance on the means of solving them, and detailed reviews of various papers we wrote, I would not have made it here. I am also grateful to the rest of my advisers: Prof. Barry Boehm, for giving me the exposure to a wide range of issues in software engineering; Prof. Richard Taylor, who helped me focus my research by identifying its target user; Prof. Ann Majchrzak, whose guidance on research methodology was invaluable, and who spent many days reviewing drafts of this dissertation. Then there were my undergraduate teach- ers, Prof. H. B. Kekre and Mr. Hoshi Mistry of TSEC, and Prof. S. N. Merchant of IIT Bombay, who helped me take the baby steps of research. I also wish to thank my employers, whose support for my academic pursuits was critical: Sean Atkins, my dear friend from USC and co-founder of Mediaconnex, who encouraged me to pursue my dream; Owen Tucker and Michael Wybo at Fasturn, who made sure I never lost sight of the goal; George Jacob, who hired me for a great job at Siebel Systems. iv I was also helped by a very friendly software engineering research community including Michael Gorlick, Eric Dashofy, Jeff Magee, Farhad Arbab, Marjan Sirjani, Cristel Baier, James Davis. David Wile was very helpful in formalizing Alfa. The software architecture research group at USC, including part-timers Ramakrishna Soma and Suhas Mehta, for their help in developing Alfa, remains unforgettable. Didi Yao and Apurva Jain were also very useful sounding boards for my ideas and never tired listening to them. I also would like to acknowledge several benefactors who provided generous scholarships for my graduate studies, prominently among which are Pushpa and Rajiv Bhatia of Manoobhai Doongersee Charitable Trust and my own Sorath Visa Shrimali community, both from Mumbai, India. Lastly, but not the least, I cannot be grateful enough for my family’s support for my endeavors. My parents always urged me to look beyond the horizon. My brother, Suhas, was there every step of the way. Reemu, my niece and sister-in-law, always rooted for me. Pratibha, my love, you have been the fragrance of my life, and your years of patience will always be remembered. And now, my daughter Riddhee, whose every smile reminds me that I should wrap up this dissertation so I can enjoy her childhood. All this was done in service to God, who has been so kind to me! v TABLE OF CONTENTS DEDICATION....................................................................................................................ii ACKNOWLEDGEMENTS...............................................................................................iii LIST OF TABLES.............................................................................................................xi LIST OF FIGURES.........................................................................................................xiii ABBREVIATIONS.........................................................................................................xvi ABSTRACT...................................................................................................................xviii CHAPTER 1: Introduction..................................................................................................1 1.1 Dissertation Proposition and Hypotheses...........................................3 1.2 Alfa.....................................................................................................8 1.3 Design Goals....................................................................................11 1.4 Dissertation Outline..........................................................................14 CHAPTER 2: Background................................................................................................15 2.1 Architectural Styles..........................................................................15 2.2 Formal Treatment of Styles..............................................................18 2.3 Comparing Architectural Styles.......................................................19 2.4 Constructive Architectural Characterization....................................21 2.5 Characterizing Styles........................................................................26 2.6 Style Conformance...........................................................................28 2.7 Data Abstract Constraint Automata.................................................30 CHAPTER 3: Concepts of Alfa........................................................................................37 3.1 Primitives of Alfa.............................................................................38 vi 3.2 Origins of Alfa’s Primitives.............................................................45 3.2.1 Evolution of Alfa’s primitives ..........................................45 3.2.2 Rationale for Alfa’s current primitives .............................49 3.3 A Brief Tour of Alfa.........................................................................53 3.4 Overview of Alfa’s Syntax...............................................................55 3.4.1 Syntactic structure of Alfa ................................................55 3.4.2 Naming conventions in Alfa .............................................57 3.5 Summary..........................................................................................59 CHAPTER 4: Formal Underpinnings of Alfa...................................................................60 4.1 AlfaCT: A Composition Theory for Style-Based Architectures......60 4.1.1 Formalizing architectural primitives .................................62 4.1.2 Formalizing styles and architectures .................................66 4.2 Formalizing Alfa’s Primitives..........................................................72 4.2.1 Ducts .................................................................................73 4.2.2 Ports ..................................................................................76 4.2.3 Relay .................................................................................76 4.2.4 Birelay and Twoway .........................................................77 4.2.5 Difference between styles and architectures .....................78 4.3 Formalizing Alfa’s Semantics..........................................................79 4.4 Composing Styles and Architectures...............................................83 4.5 Summary..........................................................................................90 CHAPTER 5: Ancillary Notations....................................................................................91 vii 5.1 Specifying Static Constraints...........................................................91 5.1.1 Style metamodel ...............................................................92 5.1.2 Specifying stylistic constraints .........................................94 5.2 Constraint Automata Language (CoLa)...........................................97 5.2.1 Features of CoLa ...............................................................97 5.2.2 CoLa specifications in styles and architectures ................99 CHAPTER 6: Style Conformance Analysis...................................................................101 6.1 Style Conformance.........................................................................101 6.2 Type Verification...........................................................................104 6.3 Constraint Verification...................................................................109 6.3.1 Structural constraints ......................................................110 6.3.2 Data constraints ...............................................................113 6.3.3 Topological constraints ...................................................114 6.4 Language Verification....................................................................117 6.4.1 What is behavioral style conformance? ..........................117 6.4.2 Conformance in ducts ..................................................118 6.4.3 Conformance in relays and birelays ....................118 6.4.4 Conformance in particles ........................................121 6.5 Summary........................................................................................123 CHAPTER 7: Tool Support............................................................................................124 7.1 Visual Software Architecture Composer (ViSAC)........................124 7.1.1 Basic configuration of GME for ViSAC ........................125 viii 7.1.2 Additional configuration for ViSAC ..............................126 7.2 Modeling Styles sand Architectures Using ViSAC.......................129 7.3 Type Verification in ViSAC..........................................................134 7.4 Alfa Analyzer.................................................................................137 7.4.1 Abstract syntax tree hierarchy ........................................138 7.4.2 Tool architecture .............................................................140 7.5 Style Conformance in Alfa Analyzer.............................................142 7.5.1 Alfa Analyzer and OCL ..................................................142 7.5.2 Constraint verification in Alfa analyzer ..........................144 7.5.3 Composite Constraint Automata Analyzer (CoCoA) .....147 7.5.4 Language verification in Alfa analyzer ..........................149 7.6 Summary........................................................................................154 CHAPTER 8: Evaluation................................................................................................155 8.1 Expressive Alfa Primitives.............................................................156 8.1.1 Case study: Distributed system styles .............................157 8.1.2 Expressiveness of Alfa’s Primitives ...............................168 8.1.3 Expressiveness of expression notations ..........................171 8.2 Style Conformance Effectiveness..................................................173 8.2.1 Soundness .......................................................................174 8.2.2 Completeness ..................................................................175 8.2.3 Algorithmic complexity ..................................................178 8.2.4 Robustness ......................................................................184 ix 8.3 Summary........................................................................................185 CHAPTER 9: Implementing Alfa-Based Architectures.................................................186 9.1 Implementation Infrastructure........................................................187 9.1.1 Structural design .............................................................187 9.1.2 Functional design ............................................................190 9.2 Architecture to Implementation.....................................................196 9.3 Case Study: Extended Bank Outdoor Display Architecture..........203 9.4 Scalability.......................................................................................211 9.4.1 C2 style ...........................................................................212 9.4.2 EBI style .........................................................................217 9.4.3 Pipe-and-filter style .........................................................221 9.4.4 Client/server style ...........................................................226 9.4.5 Discussion .......................................................................228 9.5 Summary........................................................................................229 CHAPTER 10:Related Work...........................................................................................230 10.1 Software Architecture....................................................................230 10.2 Architectural Analysis and Frameworks........................................232 10.3 Architecture Description Languages..............................................233 10.4 Architecture Modeling and Visualization......................................235 10.5 Comparison with Acme..................................................................236 CHAPTER 11:Conclusions and Future Work.................................................................241 REFERENCES................................................................................................................250 x APPENDIX A:Characterization of Distributed Styles ...................................................259 APPENDIX B:Alfa Grammar ........................................................................................284 APPENDIX C:Bank Outdoor Display Compositions ....................................................288 APPENDIX D:CoLa Grammar ......................................................................................295 APPENDIX E:Distributed System Style Compositions .................................................297

Description:
While this dissertation marks the end of my formal education at USC, I can never Ann Majchrzak, whose guidance on research methodology was invaluable,
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.