معماری و عمرانکامپیوتر و IT و اینترنتعلوم مهندسی

Domain specific Software Architecture and Product Lines

صفحه 1:
Domain-Specific Software Architecture and Product Lines Software Architecture Lecture 24 Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reser

صفحه 2:
مت Objectives ® Concepts What is domain-specific software engineering (DSSE) * The “Three Lampposts” of DSSE: Domain, Business, and Technology * Domain Specific Software Architectures © Product Lines ® Relationship between DSSAs, Product Lines, and Architectural Styles ° Examples of DSSE at work

صفحه 3:
مت Objectives © Product Lines ® Relationship between DSSAs, Product Lines, and Architectural Styles e

صفحه 4:
مت Product Lines ° Aset of related products that have substantial commonality * In general, the commonality exists at the architecture level © One potential ‘silver bullet’ of software engineering * Power through reuse of ° Engineering knowledge ° Existing product architectures, styles, patterns ° Pre-existing software components and connectors

صفحه 5:
مت Domains vs. Product Lines Oowuies are ic the problew spuce, product bees ure it the svluiog space © Domain © Product Line * Consumer » Sony WEGA TVs electronics Boeing 747 Family * Avionics GNU compiler + Compilers suite Suite of games built on same engine * Video games

صفحه 6:
مت Business vs. Engineering Product Lines ® Business Product Line » A set of products marketed under a common banner to increase sales and market penetration through bundling and integration ° Engineering Product Line A set of products that have substantial commonality from a technical/engineering perspective ® Generally, business product lines are engineering product lines and vice-versa, but not always Applications bundled after a company acquisition » Chrysler Crossfire & Mercedes SLK V6

صفحه 7:
1 مت Business Motivation for Product Lines Expense to create product. 1 Income from seling the product digs GoPtiware م ب هزر سد كد فس تیه یه صل 6066 160 > /#ماهدة. :88 5212 هادا ,عاب وها نعة! العم .«ماتره1” 0 سما زمه موه :م7 رد۳6 مد

صفحه 8:
مت Business Motivation for Product Lines Expense to create product | Income from selling the product سه ناه وله Coxiceeriog ae Product 1 Product 1 Product 2-—_~Product 2 Expense Income Expense Income ! ! ! | ‘money لل دور ۳ ‏رمد لع مم7 04م ,مم11 رممد‎ ichare-W: Tayler, Menai Masini ‏سس‎ isn i i hd

صفحه 9:
۳ مت [Business Motivation for Product Lines @roduct-ice-based Product 1 Product 1 Expense — Income — product 2 Product 2 | ۱ Expense Income money time —————+ سوه دنه 0۵0۵۸۳ 16۲ هه 1 ۳96 رما بقع ‎Tarery: ond Poocetee) ‘tchard-W: Taya;‏ رممد متمدو نموه ویس ‎eine:‏

صفحه 10:
مت Capturing Product Line Architectures A A A Common Common —) © Common: features common to all products ° A: features specific to product A © B: features specific to product B © Product A= Common + A © Product B = Common + B

صفحه 11:
مت A Product-Line Architecture © Definition: A product-line architecture captures the architectures of many related products simultaneously © Generally employs explicit variation points in the architecture indicating where design decisions may diverge from product to product

صفحه 12:
ee RN ‏ماص‎ A Lunar Lander Product Line

صفحه 13:
مت Product Component Table © Helps us decide 5 whether 1 creating a 3 ۱ 3 2 ۵ او و اوه ‎product line‏ is viable or Bll d) > feasible 3 3 1 5 5 5 Lite [X |x [x |x 1 Demo | x | x |X | x x ‏ظ‎ | ۶ | ۶ | 1 | x

صفحه 14:
مت Group Components into Features © Not a mechanical process ° Attempt to identify (mostly) i : orthogonal él. 8 features, or gig 5 1 features that alae 2 would be 1 9 5 beneficial in ‏که[ ]| م‎ 8 Alements: different productsxcur

صفحه 15:
مت Reconstitute Products from Features © Use technical and business 5 8 knowledge to identify which 3 8 combinations form feasible ‏ع | 5 | لد‎ | 3 or marketable products g 8 5 2 that will be constructed ۵ ۲ 9 ۲ Lunar Lander Lite 2 | LunarLanderDemo | X xX |X Lunar Lander Pro xX x

صفحه 16:
مت Modeling Product Line Architectures ‎Architectural models need to be diversified with‏ و ‎information about variation points and features‏ ‎» Not all ADLs have good support for this Exceptions include * Koala ® xADL 2.0 ‎* These ADLs have explicit support for capturing variation points ‎

صفحه 17:
aw sore 9 ۱ ‎fi‏ ل ‎ ‎ ‎[cu cect =" ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎Satine ‎Loner | ‎{ope [ote ‎ ‎ ‎Cea crm ‏ی‎ ‎5: [cu ‏سحت‎ ‏اس ‎ ‎17 ‎7 ۳ Acai; Wi THT) MARAE HGRLMRIAA ALS any ICY ies ci ‏مسجو ظ‎ ‎ ‎ ‎ ‎

صفحه 18:
مت Selection © Product-line selection is the process of extracting a single product architecture (or smaller product line) from an architectural model that contains explicit points of variation ® ADLs such as Koala and xADL 2.0 can do selection automatically with tools سد كد یه یه له ۵۳۵۵۸۵ 3۵۵۸۵۸۷۸۰۱۳۲ 16 ۳۳96 مومس ‎Tarery: ond Poocetees Richard: W: Tayler; ‘Nenad‏ رمک مان نموم تعد ‎sine‏

صفحه 19:
ee RN ‏ماص‎ Product Lines for Evolution le Products in a product line don’t have to exclusively capture alternatives * They can also capture variation over time 1 سد كد لماي ده یه ‎Sit‏ 6069 6 :و هه 1 ۳46 مومس لاعفا .+مابرم1 3 سک رم او که رتم73 ومد مان نموم ویس ‎eine:‏

صفحه 20:
ee RN ‏ماص‎ Product Lines for Evolution

صفحه 21:
Product Lines for ‘What-If’ Analysis © In addition to alternative products and different versions of the same product, product lines can capture different potentia/ products Selection can be used to quickly generate product architectures for potential products * These can be checked for certain properties or subjected to more rigorous analysis for feasibility or quality Can also be used to generate new product ideas

صفحه 22:
مت Implementation Issues © Important to partition implementations along variation-point boundaries سوه دنه 0۵0۵۸۳ 16۲ هه 1 ۳96 رما بقع ‎Tarery: ond Poocetee) ‘tchard-W: Taya;‏ رممد متمدو نموه ویس ‎eine:‏

صفحه 23:
0 ee eek ea cen ee nee [ced | Implementation Issues (cont’d) © Keeping evolving architectures and version- controlled source repositories (e.g., RCS, CVS, Subvers'*7* #= ~~ ‏ميان‎ (as versoned ina sofware configuration management system) Text-Based UI ‘Component Graphical UI ‘Component سوه دنه 0۵0۵۸۳ 16۲ هه 1 ۳96 رما بقع ‎Tarery: ond Poocetee) ‘tchard-W: Taya;‏ رممد متمدو نموه ویس ‎eine:‏

صفحه 24:
مت Unifying Products with Different Heritage © Often, the idea to create a product line emerges after several products have been implemented and commonality is noticed © Strategies include No product line © It may be more expensive to create a product line or there may not be enough commonality One master product © One product architecture becomes the basis for the product line Hybrid © A new product line architecture emerges out of many products ® Seems ideal but can be hard in practice

صفحه 25:
مت Architectural Styles, DSSAs, Product Lines © Architectural Styles » Can be general or domain-specific * Provides general guidelines for diverse kinds of applications; focus on -ility development ° DSSAs * Domain specific; includes elaborate domain model and specific reference architecture © Product lines » Explicit set of related products with common aspects ‏با سس ج | وه‎ EE

صفحه 26:
eR ae eRe ed Families of Styles ‘Components have one input, one ‘output Data moves incharacter streams Data moves in chunks Linear ordering of ‘components Data moves inone direction ‘Components ‘execute in parallel ‘Components execute one ata time Nid WaiikesaeRLE 6: ‏كوهة (6) رام امدة‎ iO ‏ده‎ tink > و رم موی نرتسو وهی ‎sine:‏

صفحه 27:
0 ee eek ea cen ee nee [ced | Objectives © Examples of DSSE at work

صفحه 28:
مت Koala °® An ADL and tool-set for developing product lines of consumer electronics » A successor to Darwin in terms of structural modeling © One of the first ADLs to capture points of variation explicitly ® Has tight bindings to implementations such that architecture descriptions can be “compiled” into application skeletons

صفحه 29:
مت Lunar Lander in Koala » No product line features yet © Note similarities to Darwin, XxADL 2.0 * xADL 2.0 Archipelago Game visualization is derived ‏و‎ ‎from Koala ١ interface IDataStore{ void setAltitude(int altitudeInMeters) ; Poste ‏إن‎ ‎int getaltitude() ; void setBurnRate(int newBurnRate) ; int getBurnRate(); Dames ata Store 31 7 سس

صفحه 30:
مت Lunar Lander PL Us » Switch construct oe routes calls to one of two potential eee data stores 0 = © ‘Diversity interface’ 3 lets game logic | 4 M ١4 component select Tatestore callee from external config component roatastore ‏“مي‎ ‎© Same |DataStore eMac Relational interface ensures Data Store Data Store call compatibility

صفحه 31:
مت Software Defined Radios Software-Defined 1 Radio Board General-Purpose Processor(s) 5 i Aalog'o ti z ۳ evetom ‏ممجم. ما سم سوه‎ Components Sianal Processing |e“ ‏نما‎ AA ‏وم‎ ‏عون‎ ۹ Analog Converter nae Components bt (input Davies) ® Variation points in radio configuration, board configuration, software configuration ja BLE Wi sah )6( ‏و6‎ iO i A tink ۳ Procetees tcuard-m: Tayler, Nenad Masini

صفحه 32:
و ا2عوه: 83 ۳9 © Two-node “SCARI” SDR with just device drivers loaded 22 ‎Foundations; Thesry:; ond Procttee} Achiard:W: Taylor, “Nese Me ۳‏ سوه ی ی ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 33:
© Same radio with one waveform deployed سوه دنه 0۵0۵۸۳ 16۲ هه 1 ۳96 رما بقع ‎Tarery: ond Poocetee) ‘tchard-W: Taya;‏ رممد متمدو نموه ویس ‎eine:‏

صفحه 34:
SDRs in xADL 2.0 © By applying product line techniques to SDRs * Can manage different configurations of the radio * Deploying components on alternative hosts * Deployments with * No waveforms * One waveform ۶ Different combinations of waveforms Can show radio in different states as radio starts up or transitions from one waveform to another

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
34,000 تومان