Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software Architecture: Styles

27,019 views

Published on

This is a lecture about Software Architecture Styles, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy (www.di.univaq.it/muccini/SE+/2012)

Published in: Education
  • To get professional research papers you must go for experts like ⇒ www.WritePaper.info ⇐
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I have always found it hard to meet the requirements of being a student. Ever since my years of high school, I really have no idea what professors are looking for to give good grades. After some google searching, I found this service ⇒ www.HelpWriting.net ⇐ who helped me write my research paper. The final result was amazing, and I highly recommend ⇒ www.HelpWriting.net ⇐ to anyone in the same mindset as me.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THE BOOK INTO AVAILABLE FORMAT (New Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full doc Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download doc Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THE can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THE is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBOOK .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookBOOK, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, EBOOK, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THE Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THE the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THE Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ♥♥♥ http://bit.ly/2u6xbL5 ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ♥♥♥ http://bit.ly/2u6xbL5 ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Software Architecture: Styles

  1. 1. Università degli Studi dell’AquilaL04: SA Styles Henry Muccini Dipartimento di Ingegneria, Scienze dell’Informazione e Matematica, University of L’Aquila henry.muccini@univaq.it, @henrymuccini
  2. 2. The material in these slides may be freely reproducedand distributed, partially or totally, as far as an explicitreference or acknowledge to the material author ispreserved. Henry Muccini
  3. 3. Intro to SA Intro to Software TestingSA Case study Structural TestingSA style Model-based TestingADLs Architecture-based TestingDesign Decisions LabViews/ViewpointsUML Non Functional S.E.UML Profiling Performance modelingLab Performance analysis
  4. 4. Prescriptive vs descriptive use of an architecturallanguage
  5. 5. “A set of design rules that identify the kinds of components and connectors that may be used to compose a system or subsystem, together with local or global constraints on the way the composition is done” (Shaw & Clements, 1996) A set of constraints you put on your development to elicit desirableIMP properties from your software architecture. Topological Behavioral Communication-oriented etc. etc.
  6. 6. Architectural styles typically determine four kinds of properties [AAG93]:IMP
  7. 7. The Classical StyleThe Californian Style
  8. 8. Many similarities between patterns and stylesBut they have come from different communitiesDifferences Architectural Styles Design Patterns Few Many Large-scale system Localized, small-scale organization design solutions
  9. 9. 1. The top of a component may be connected to the bottom of a single connector. Comp1 NOT Permitted Connector Top Connector Bottom Comp1
  10. 10. 2. The bottom of a component may be connected to the top of a single connector. Comp1 Comp1 NOT Permitted Connector Top Connector Bottom
  11. 11. 3. There is no bound on the number of components or connectors that may be attached to a single connector. PermittedComp1 Comp2 Comp3
  12. 12. 4. When two connectors are attached to each other, it must be from the bottom of one to the top of the other. Connector Top Connector Bottom Permitted Connector Top Connector TopConnector Bottom Connector Bottom Connector Top Connector TopConnector Bottom Connector Bottom NOT Permitted
  13. 13. 5. Components can communicate only through connectors Comp1 Permitted: NOT Permitted Following rule 4 Comp2
  14. 14. The communication between components and connectors isachieved solely exchanging messagesThe communication is based on notifications and requestsBoth component top domain and bottom domain can notify orrequest messages Requests Notifications Top Comp2 Bottom Comp2 receives a request Comp2 sends a notification Top Comp1 sends a request Comp1 receives a notification Comp1 Bottom Comp1 receives a request Comp1 sends a notification
  15. 15. ADL TOOLS DATE SUPPORT FOR ARCHITECTURAL STYLES Descrizione di proprietà ed interfacce relative a componenti AADL Osate 2001 + configurazioni di intercambio XML/XMI ACME Acme Studio+Armani 1995 Interscambio architetturale prevalentemente a livello strutturale ArchiTrio Trident 1990 Unisce lo stile delle notazioni standard UML 2.0 ai formalismi logico-temporali di TRIO ArchJava AcmeArchJava 2002 Supporta uno stile di programmazione flessibile orientato agli oggetti CommUnityCommUnity 2002 Linguaggio che si rispecchia negli stili UNITY ed IP WorkBench DARWIN LTSA-WS + SAA 1991 Architetture di sistemi distribuiti il cui dinamismo è guidato da un supporto severo e formaleEAST-ADL AutoFocus2 2001/2004 La descrizione degli elementi del linguaggio è suddivisa in sei parti (domini)Ménage/xAD ArchStudio+Ménage 2000 Introduce la distinzione tra prescription e description della SA L PRISMA PrismaCase 2002 Definizione di elementi architetturali a due diversi livelli di astrazionexArch/xAcm Versione recente del linguaggio Acme che ne mantiene le caratteristiche di base, specificate Acme Studio 2001 e però in XMLxArch/xADL ArchStudio+Apigen 2000 Introduce la distinzione tra prescription e description della SA
  16. 16. C2 StylePipes and filtersLayered systemsBlackboard styleImplicit InvocationIdealized FT Component Model_________________________________________________Peer to peerHypertext style (!)MVCRUP
  17. 17. For each style, we will identify:
  18. 18. Layered Style Java Java Java Virtual Machine Operating Processor (Virtual Machine Style) System Virtual Machine Application
  19. 19. The Layered System StyleA layered system is organized hierarchically, each layer providing service to the layer above and belowComponentsConnectors Procedure calls or system callsStylistic invariants
  20. 20. Application ApplicationPresentation Presentation Session Session Transport Transport Network Network Network Network Data Link Data Link Data Link Data Link Physical Physical Physical Physical
  21. 21. AdvantagesDisadvantages
  22. 22. GLOBAL XCONN XCONN SHELF PERIPHE XCONN1 RAL XCONN1 1..1 1..1 1..1 1..2 1..1 1..2 XCONN2 1..1 XCONN2 1..1 1..1 1..1 1..1 1..1… 1..1 1..1 … 1..1 1..1 XCONN3 XCONN3
  23. 23. Blackboad style1..* Controller KS1..* Blackboard
  24. 24. The Blackboard StyleThis style is characterized by a central data structure and a collection of componentsoperating on the central data storeThe Blackboard is characterized by three main types of components(Corkill, 1991):ConnectorProperty
  25. 25. AdvantagesDisadvantages
  26. 26. Distributed Peer-to-Peer SystemsComponentsConnectorsConfigurationsComputational model
  27. 27. Web Servers Browser Clients www.sitoweb.itNetscapeNavigator HTTP www.website.com (asynchronous RPC)Microsoft IE www.laudaweb.it • Load balancing • Cooperative caching • Use of geographic distribution of the server machines.
  28. 28. Client/Server SystemsClient/Server systems are the most common specialization (restriction) of the peer-to-peer styleOne component is a server offering a serviceThe other components are clients using the serviceServer implementation is transparent but can be centralized or distributed, single-threaded or multi-threaded
  29. 29. 3-Tier Client/Server Systems (example)
  30. 30. 3-Tier Client/Server Systems3-Tier Client/Server systems are a common class of distributed business systemsFirst tier: Client (user interface) tierSecond (middle, “business logic”) tier: Servers acting as “business objects”, encapsulating abstract, integrated models of multiple, disparate data sourcesThird (back-end, database) tier: Legacy business applications providing data services
  31. 31. WHAT IS P2P?There are 3 types of P2P System: 1st: Napster
  32. 32. WHAT IS P2P?2nd: Gnutella
  33. 33. WHAT IS P2P? 3rd: SKYPE
  34. 34. AdvantagesDisadvantages Distributed state Potential for deadlock, starvation, race conditions, service outages Data marshalling and unmarshalling Proxies and stubs for RPC Legacy wrappers
  35. 35. Program unit (object, process, block, module, method,class, component, etc.) Service Request Reply Interface Exception Failure Exception Local Exception Normal Processing Error Processing Return to normal Service Request Reply Interface Exception Failure Exception
  36. 36. •The normal part implements the component’s normal services•The exceptional part implements the responses of the component to exceptionalsituations, by means of exception-handling techniques.•When the normal behavior of a component raises an exception (local exception) itsexception handling part is automatically invoked. If the exception is successfullyhandled the component resumes its normal behavior, otherwise an externalexception is signalled.•External exceptions are signalled to the enclosing context when the componentrealizes that is not able to provide the service.
  37. 37. Example
  38. 38. Let us take into consideration the Fire System example. Let us consider the:IMP
  39. 39. What you shall have learnedYou shall: Layered systems Blackboard style Peer to peer …

×