48 Pages

10Notations

Course: CS 578, Fall 2009
School: USC
Rating:
 
 
 
 
 

Word Count: 4479

Document Preview

Lecture10 CopyrightRichardN.Taylor,NenadMedvidovic,andEricM.Dashofy.Allrightsreserved. Software ModelingandNotations SoftwareArchitecture Architecture: Foundations, Theory, and Practice ContinuingOurSurvey Genericapproaches x Naturallanguage x PowerPointstylemodeling x UML,theUnifiedModelingLanguage Earlyarchitecturedescriptionlanguages x Darwin x Rapide x Wright Domainandstylespecificlanguages x Koala...

Register Now

Unformatted Document Excerpt

Coursehero >> California >> USC >> CS 578

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Lecture10 CopyrightRichardN.Taylor,NenadMedvidovic,andEricM.Dashofy.Allrightsreserved. Software ModelingandNotations SoftwareArchitecture Architecture: Foundations, Theory, and Practice ContinuingOurSurvey Genericapproaches x Naturallanguage x PowerPointstylemodeling x UML,theUnifiedModelingLanguage Earlyarchitecturedescriptionlanguages x Darwin x Rapide x Wright Domainandstylespecificlanguages x Koala x Weaves x AADL Extensiblearchitecturedescriptionlanguages x Acme x ADML x xADL 2 Software Architecture: Foundations, Theory, and Practice ContinuingOurSurvey Genericapproaches x Naturallanguage x PowerPointstylemodeling x UML,theUnifiedModelingLanguage Earlyarchitecturedescriptionlanguages x Darwin x Rapide x Wright Domainandstylespecificlanguages x Koala x Weaves x AADL Extensiblearchitecturedescriptionlanguages x Acme x ADML x xADL 3 Software Architecture: Foundations, Theory, and Practice EarlyArchitectureDescription Languages EarlyADLsproliferatedinthe1990sandexploredways tomodeldifferentaspectsofsoftwarearchitecture x Manyemergedfromacademia x Focusonstructure:components,connectors, interfaces,configurations x Focusonformalanalysis x Noneusedactivelyinpracticetoday,toolsupporthas waned Ideasinfluencedmanylatersystems,though 4 Software Architecture: Foundations, Theory, and Practice Darwin Generalpurposelanguagewithgraphicalandtextual visualizationsfocusedonstructuralmodelingofsystems Advantages x Simple,straightforwardmechanismformodelingstructural dependencies x Interestingwaytospecifyrepeatedelementsthrough programmaticconstructs x Canbemodeledinpicalculusforformalanalysis x Canspecifyhierarchical(i.e.,composite)structures Disadvantages x Limitedusefulnessbeyondsimplestructuralmodeling x Nonotionofexplicitconnectors Althoughcomponentscanactasconnectors 5 Software Architecture: Foundations, Theory, and Practice DarwinExample component DataStore{ provide landerValues; } component Calculation{ require landerValues; provide calculationService; } component UserInterface{ require calculationService; require landerValues; } component LunarLander{ inst U: UserInterface; C: Calculation; D: DataStore; bind C.landerValues -- D.landerValues; U.landerValues -- D.landerValues; U.calculationService -- C.calculationService; } Canonical Textual Visualization Graphical Visualization 6 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice ProgrammaticDarwinConstructs component WebServer{ provide httpService; } component WebClient{ require httpService; } component WebApplication(int numClients){ inst S: WebServer; array C[numClients]: WebClient; forall k:0..numClients-1{ inst C[k] @ k; bind C[k].httpService -- S.httpService; } } 7 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice DarwinEvaluation Scopeandpurpose x Basicelements x Modelingsoftwarestructure Components,interfaces, configurations,hierarchy Limitedsupportthrough programmaticconstructs Style x Static&DynamicAspects x DynamicModels x Mostlystaticstructure;some additionalsupportfor dynamicaspectsthrough lazyanddynamic instantiation/binding N/A N/A Ambiguity x Rigorous,butstructuralelements canbeinterpretedinmanyways Accuracy x Picalculusanalysis Precision x Modelerschooseappropriate levelofdetailthroughhierarchy Viewpoints x Structuralviewpoints Viewconsistency x N/A NonFunctionalAspects x 8 Software Architecture: Foundations, Theory, and Practice Rapide Languageandtoolsetforexploringdynamicpropertiesof systemsofcomponentsthatcommunicatethroughevents Advantages x Uniqueandexpressivelanguagefordescribing asynchronouslycommunicatingcomponents x Toolsetsupportssimulationofmodelsandgraphical visualizationofeventtraces Disadvantages x Nonaturalorexplicitmappingtoimplementedsystems x Highlearningcurve x Importanttoolsupportisdifficulttorunonmodern machines HasmorphedintotheCEPproject,however 9 Software Architecture: Foundations, Theory, and Practice RapideExample type DataStore is interface action in SetValues(); out NotifyNewValues(); behavior begin SetValues => NotifyNewValues();; end DataStore; type Calculation is interface action in SetBurnRate(); out DoSetValues(); behavior action CalcNewState(); begin SetBurnRate => CalcNewState(); DoSetValues();; end Calculation; type Player is interface action out DoSetBurnRate(); in NotifyNewValues(); behavior TurnsRemaining : var integer := 1; action UpdateStatusDisplay(); action Done(); 10 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice RapideExample(contd) type DataStore is interface action in SetValues(); out NotifyNewValues(); behavior begin begin (start or UpdateStatusDisplay) where \ SetValues => NotifyNewValues();; ($TurnsRemaining > 0) => \ end DataStore; if ( $TurnsRemaining > 0 ) then \ TurnsRemaining := $TurnsRemaining - 1; \ type Calculation is interface DoSetBurnRate(); \ action in SetBurnRate(); end if;; out DoSetValues(); NotifyNewValues => UpdateStatusDisplay();; behavior UpdateStatusDisplay where $TurnsRemaining == 0 \ action CalcNewState(); => Done();; begin end UserInterface; SetBurnRate => CalcNewState(); DoSetValues();; end Calculation; architecture lander() is P1, P2 : Player; type Player is interface C : Calculation; action out DoSetBurnRate(); D : DataStore; in NotifyNewValues(); connect behavior P1.DoSetBurnRate to C.SetBurnRate; TurnsRemaining : var integer := 1; P2.DoSetBurnRate to C.SetBurnRate; action UpdateStatusDisplay(); C.DoSetValues to D.SetValues; action Done(); D.NotifyNewValues to P1.NotifyNewValues(); D.NotifyNewValues to P2.NotifyNewValues(); end LunarLander; Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. 11 Software Architecture: Foundations, Theory, and Practice SimulationOutput 1-player 2-player 12 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice RapideEvaluation Scopeandpurpose x Basicelements x Interactionsbetween componentscommunicating withevents Structures,components/ interfaces,behaviors N/A Style x x Static&DynamicAspects DynamicModels x Staticstructureanddynamic behaviorcomodeled Sometoolsprovidelimited animationcapabilities NonFunctionalAspects x N/A Ambiguity x Welldefinedsemanticslimit ambiguity Accuracy x Compilerschecksyntax, simulatorscanbeusedto checksemanticsalthough simulationresultsarenon deterministicandnon exhaustive Precision x Detailedbehavioralmodeling possible Viewpoints x Singlestructural/behavioral viewpoint Viewconsistency x N/A 13 Software Architecture: Foundations, Theory, and Practice Wright AnADLthatspecifiesstructureandformalbehavioral specificationsforinterfacesbetweencomponentsand connectors Advantages x StructuralspecificationsimilartoDarwinorRapide x Formalinterfacespecificationscanbetranslated automaticallyintoCSPandanalyzedwithtools Candetectsubtleproblemse.g.,deadlock Disadvantages x Highlearningcurve x Nodirectmappingtoimplementedsystems x Addressesasmallnumberofsystemproperties relativetocostofuse 14 Software Architecture: Foundations, Theory, and Practice WrightExample Component DataStore Port getValues (behavior specification) Port storeValues (behavior specification) Computation (behavior specification) Component Calculation Port getValues (behavior specification) Port storeValues (behavior specification) Port calculate (behavior specification) Computation (behavior specification) Component UserInterface Port getValues (behavior specification) Port calculate (behavior specification) call return Caller[] Computation (behavior specification) call return Callee[] Connector Call Caller = Role Caller .call Callee.call Glue Role Callee =return Caller.return Glue []Callee. [] Glue = 15 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice WrightExample 16 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice WrightEvaluation Scopeandpurpose x Basicelements x Structures,behaviors,and Ambiguity stylesofsystemscomposed x Welldefinedsemanticslimit ofcomponents& ambiguity connectors Style x Components,connectors, interfaces,attachments, styles Supportedthrough predicatesoverinstance models Staticstructuralmodels annotatedwithbehavioral specifications N/A Static&DynamicAspects x DynamicModels x NonFunctionalAspects x N/A Accuracy x Wrightmodelscanbe translatedintoCSPfor automatedanalysis Precision x Detailedbehavioralmodeling possible Viewpoints x Singlestructural/behavioral viewpointplusstyles Viewconsistency x Stylecheckingcanbedone automatically 17 Software Architecture: Foundations, Theory, and Practice DomainandStyleSpecificADLs Notationswehavesurveyedthusfarhavebeen genericallyapplicabletomanytypesofsoftwaresystems Ifyourestrictthetargetdomain,youcanprovidemore advancedfeaturesand/orreducecomplexity x Welltalkalotmoreaboutdomainspecificsoftware engineeringlaterinthecourse 18 Software Architecture: Foundations, Theory, and Practice Koala Darwininspirednotationforspecifyingproductlinesof embeddedconsumerelectronicsdevices Advantages x Advancedproductlinefeaturesletyouspecifymany systemsinasinglemodel x Directmappingtoimplementedsystemspromotes designandcodereuse Disadvantages x Limitedtostructuralspecificationwithadditionalfocus oninterfaces 19 Software Architecture: Foundations, Theory, and Practice KoalaExample interface IDataStore{ void setAltitude(int altitudeInMeters); int getAltitude(); void setBurnRate(int newBurnRate); int getBurnRate(); ... } Single system Product line of two systems20 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice KoalaEvaluation Scopeandpurpose x Basicelements x Structuresandinterfacesof productlinesofcomponent basedsystems Components,interfaces, elementsforvariation points:switches,diversity interfaces,etc. Productlinesmightbeseen asverynarrowstyles Style x Static&DynamicAspects x DynamicModels x Staticstructureonly N/A NonFunctionalAspects x N/A Ambiguity x Closemappingsto implementationlimitambiguity Accuracy x Closemappingsto implementationsshouldreveal problems Precision x Structuraldecisionsarefully enumeratedbutotheraspects leftout Viewpoints x Structuralviewpointwith explicitpointsofvariation Viewconsistency x N/A 21 Software Architecture: Foundations, Theory, and Practice Weaves Anarchitecturalstyleandnotationformodelingsystems ofsmallgraintoolfragmentsthatcommunicatethrough dataflowsofobjects Advantages x Extremelyoptimizednotation EvensimplerthanDarwindiagrams x Closemappingtoimplementedsystems Disadvantages x Addressesstructureanddataflowsonly 22 Software Architecture: Foundations, Theory, and Practice WeavesExample Generic Weaves System Lunar Lander in Weaves 23 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice WeavesEvaluation Scopeandpurpose x Basicelements x Structuresofcomponentsand connectorsintheWeaves style Components,queues,directed interconnections Weavesstyleimplicit Staticstructureonly Style x x Static&DynamicAspects DynamicModels x NonFunctionalAspects x N/A N/A,althoughthereisa11 correspondencebetween modelandimplementation elements Ambiguity x MeaningsofWeaveselements arewelldefinedalthough importantelements(e.g., protocols)aresubjectto interpretation Accuracy x Syntactic(e.g.,structural)errors easytoidentify Precision x Structuraldecisionsarefully enumeratedbutotheraspectsleft out Viewpoints x Structuralviewpoint Viewconsistency x N/A 24 Software Architecture: Foundations, Theory, and Practice AADL:TheArchitectureAnalysis& DesignLanguage Notationandtoolsetformodelinghardware/softwaresystems, particularlyembeddedandrealtimesystems Advantages x Allowsdetailedspecificationofbothhardwareandsoftware aspectsofasystem x Automatedanalysistoolscheckinterestingendtoend propertiesofsystem Disadvantages x Verbose;largeamountofdetailrequiredtocaptureevensimple systems x EmergingtoolsupportandUMLprofilesupport 25 Software Architecture: Foundations, Theory, and Practice AADL(Partial)Example data lander_state_data end lander_state_data; bus lan_bus_type end lan_bus_type; bus implementation lan_bus_type.ethernet properties Transmission_Time => 1 ms .. 5 ms; Allowed_Message_Size => 1 b .. 1 kb; end lan_bus_type.ethernet; system calculation_type features network : requires bus access lan_bus.calculation_to_datastore; request_get : out event port; response_get : in event data port lander_state_data; request_store : out event port lander_state_data; response_store : in event port; end calculation_type; system implementation calculation_type.calculation subcomponents the_calculation_processor : processor calculation_processor_type; the_calculation_process : process calculation_process_type.one_thread; 26 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice AADL(Partial)Example data lander_state_dataconnections end lander_state_data; bus access network -> the_calculation_processor.network; bus lan_bus_type event data port response_get -> end lan_bus_type; the_calculation_process.response_get; event port the_calculation_process.request_get -> bus implementation lan_bus_type.ethernet request_get; properties event data port response_store -> Transmission_Time => 1 ms .. 5 ms;the_calculation_process.response_store; Allowed_Message_Sizeproperties 1 kb; => 1 b .. end lan_bus_type.ethernet; Actual_Processor_Binding => reference system calculation_type the_calculation_processor applies to features the_calculation_process; network : requires bus access end calculation_type.calculation; lan_bus.calculation_to_datastore; request_get : outprocessor calculation_processor_type event port; response_get : in features event data port lander_state_data; request_store : out event port requires bus access network : lander_state_data; response_store : in event port; lan_bus.calculation_to_datastore; end calculation_type; end calculation_processor_type; system implementation process calculation_process_type calculation_type.calculation subcomponents features the_calculation_processor : request_get : out event port; processor response_get calculation_processor_type; : in event data port lander_state_data; the_calculation_processequest_store : out event data port lander_state_data; r : process calculation_process_type.one_thread;port; response_store : in event end calculation_process_type; Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission. 27 Software Architecture: Foundations, Theory, and Practice AADL(Partial)Example data lander_state_dataconnections end lander_state_data; bus access network -> the_calculation_processor.network; thread response_get -> bus lan_bus_type event data portcalculation_thread_type features end lan_bus_type; the_calculation_process.response_get; equest_get : out event port; event portrthe_calculation_process.request_get -> response_get bus implementation lan_bus_type.ethernet request_get; : in event data port lander_state_data; rport response_store -> equest_store : out event data port lander_state_data; properties event data response_store : in event port; Transmission_Time => 1 ms .. 5 ms;the_calculation_process.response_store; properties Allowed_Message_Sizeproperties 1 kb; => 1 b .. Dispatch_Protocol => periodic; end lan_bus_type.ethernet; Actual_Processor_Binding => reference end the_calculation_processor applies to calculation_thread_type; system calculation_type process implementation calculation_process_type.one_thread features the_calculation_process; subcomponents network : requires bus access end calculation_type.calculation; calculation_thread : thread client_thread_type; lan_bus.calculation_to_datastore; connections request_get : outprocessor calculation_processor_type event port; event data port response_get -> response_get : in features event data port lander_state_data; alculation_thread.response_get; request_store : out event port requires buscaccess network : lander_state_data; : response_store in event port; event port calculation_thread.request_get -> request_get; lan_bus.calculation_to_datastore; event port response_store -> end calculation_type; end calculation_processor_type; calculation_thread.response_store; event data port system implementation process calculation_process_type calculation_type.calculationrequest_store -> request_store; properties subcomponents features D the_calculation_processor : request_getispatch_Protocolport; : out event => Periodic; Period in event data port lander_state_data; processor response_get calculation_processor_type; : => 20 ms; end the_calculation_processequest_store : out event data port lander_state_data; r : process calculation_process_type.one_thread; calculation_process_type.one_thread;port; response_store : in event end calculation_process_type; Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. 28 Software Architecture: Foundations, Theory, and Practice AADLExampleExplainedaBit Notethelevelofdetailatwhichthesystemisspecified x Acomponent(calculation_type.calculation)runson x aphysicalprocessor(the_calculation_processor),which runs x aprocess(calculation_process_type.one_thread),whichin turncontains x asinglethreadofcontrol(calculation_thread),allofwhich canmaketwokindsofrequestresponsecallsthrough x ports(request_get/response_get, request_store/response_store)over x anEthernetbus(lan_bus_type.Ethernet). Allconnectedthroughcomposition,portmapping,andsoon ThisdetailiswhatgivesAADLitspowerandanalyzability 29 Software Architecture: Foundations, Theory, and Practice AADLEvaluation Scopeandpurpose x Basicelements x Interconnectedmultilevel systemsarchitectures Multitudecomponents, threads,hardware elements,configurations, mappings N/A Style x x Static&DynamicAspects DynamicModels x Primarilystaticstructurebut additionalpropertiesspecify dynamicaspects N/A NonFunctionalAspects x N/A Ambiguity x Mostelementshaveconcrete counterpartswithwellknown semantics Accuracy x Structuralaswellasother interestingpropertiescanbe automaticallyanalyzed Precision x Manycomplexinterconnected levelsofabstractionand concerns Viewpoints x Manyviewpointsaddressing differentaspectsofthesystem Viewconsistency x Mappingsandrefinementcan generallybeautomatically checkedordonotoverlap 30 Software Architecture: Foundations, Theory, and Practice ExtensibleADLs Thereisatensionbetween x TheexpressivenessofgeneralpurposeADLsand x Theoptimizationandcustomizationofmorespecialized ADLs Howdowegetthebestofbothworlds? x Usemultiplenotationsintandem (Difficulttokeepconsistent,oftenmeansexcessive redundancy) x OverloadanexistingnotationorADL(e.g.,UMLprofiles) Increasesconfusion,doesntworkwellifthecustom featuresdontmapnaturallyontoexistingfeatures x AddadditionalfeatureswewanttoanexistingADL ButexistingADLsprovidelittleornoguidanceforthis ExtensibleADLsattempttoprovidesuchguidance 31 Software Architecture: Foundations, Theory, and Practice Acme EarlygeneralpurposeADLwithsupportfor extensibilitythroughproperties Advantages x Structuralspecificationcapabilitiessimilarto Darwin x Simplepropertystructureallowsforarbitrary decorationofexistingelements x ToolsupportwithAcmeStudio Disadvantages x Nowaytoaddnewviews x Propertyspecificationscanbecomeextremely complexandhaveentirelyseparate syntax/semanticsoftheirown 32 Software Architecture: Foundations, Theory, and Practice AcmeExample //Global Types Property Type returnsValueType = bool; Connector Type CallType = { Roles { callerRole; calleeRole; }; Property returnsValue : returnsValueType; }; System LunarLander = { //Components Component DataStore = { Ports { getValues; storeValues; } }; Component Calculation = { Ports { calculate; getValues; storeValues; } }; Component UserInterface = { Ports { getValues; calculate; } }; // Connectors Connector UserInterfaceToCalculation : CallType { Roles { callerRole; calleeRole; }; Property returnsValue : returnsValueType = true; } Connector UserInterfaceToDataStore : CallType { Roles { callerRole; calleeRole; }; Property returnsValue : returnsValueType = true; } Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. 33 Software Architecture: Foundations, Theory, and Practice Connector CalculationToDataStoreS : CallType { Roles { callerRole; calleeRole; }; Property returnsValue : returnsValueType = false; } //Global Types Connector CalculationToDataStoreG : CallType { Property Type returnsValueType = bool; Roles { callerRole; calleeRole; }; Connector Type CallType = { Property returnsValue : returnsValueType = true; Roles { callerRole; calleeRole; }; } Property returnsValue : returnsValueType; Attachments { }; UserInterface.getValues to UserInterfaceToDataStore.callerRole; System LunarLander = { UserInterfaceToDataStore.calleeRole to //Components DataStore.getValues; Component DataStore = { UserInterface.getValues to Ports { getValues; storeValues; } UserInterfaceToDataStore.callerRole; }; UserInterfaceToDataStore.calleeRole to Component Calculation = { DataStore.getValues; Ports { calculate; getValues; storeValues; } UserInterface.calculate to }; UserInterfaceToCalculation.callerRole; Component UserInterface = { UserInterfaceToCalculation.calleeRole to Ports { getValues; calculate; } Calculation.calculate; }; Calculation.storeValues to CalculationToDataStoreS.callerRole; // Connectors CalculationToDataStoreS.calleeRole to Connector UserInterfaceToCalculation : CallType { DataStore.storeValues; Roles { callerRole; calleeRole; }; Calculation.getValues to Property returnsValue : returnsValueType CalculationToDataStoreG.callerRole; = true; } CalculationToDataStoreG.calleeRole to Connector UserInterfaceToDataStore : CallType { DataStore.getValues; Roles { callerRole; calleeRole; }; }; Property returnsValue : returnsValueType = true; } 34 } Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. AcmeExample Software Architecture: Foundations, Theory, and Practice Connector CalculationToDataStoreS : CallType { Roles { callerRole; calleeRole; }; //Global Types Property returnsValue : returnsValueType = false; Property Type returnsValueType = bool; } Connector Type CallType = { Connector CalculationToDataStoreG : CallType { Roles { callerRole; calleeRole; }; R Property returnsValue : returnsValueType; oles { callerRole; calleeRole; }; Property returnsValue : returnsValueType = true; }; } Attachments { System LunarLander = { Property Type StoreType = enum { file, UserInterface.getValues to //Components relationalDatabase, UserInterfaceToDataStore.callerRole; objectDatabase }; Component DataStore = { UserInterfaceToDataStore.calleeRole to Ports { getValues; storeValues; } Component DataStore = DataStore.getValues; { }; Ports { UserInterface.getValues to Component Calculation = { getValues; storeValues; UserInterfaceToDataStore.callerRole; Ports { calculate; getValues; storeValues; } } UserInterfaceToDataStore.calleeRole to }; Property storeType :DataStore.getValues; StoreType = Component UserInterface = { relationalDatabase; UserInterface.calculate to Ports { getValues; calculate; } Property tableName :UserInterfaceToCalculation.callerRole; String = LanderTable; }; Property numReplicas: int = 0; UserInterfaceToCalculation.calleeRole to }; Calculation.calculate; // Connectors Calculation.storeValues to Connector UserInterfaceToCalculation : CallType { CalculationToDataStoreS.callerRole; Roles { callerRole; calleeRole; }; CalculationToDataStoreS.calleeRole to Property returnsValue : returnsValueType = true; DataStore.storeValues; } Calculation.getValues to Connector UserInterfaceToDataStore : CallType { CalculationToDataStoreG.callerRole; Roles { callerRole; calleeRole; }; CalculationToDataStoreG.calleeRole to Property returnsValue : returnsValueType = true; DataStore.getValues; } }; } 35 AcmeExtensions Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice AcmeEvaluation Scopeandpurpose x Basicelements x Structuresofcomponents andconnectorswith extensibleproperties Components,connectors, interfaces,hierarchy, properties Throughtypesystem Ambiguity x Accuracy x Meaningsofelementssubjectto someinterpretation,properties mayhavearbitrarylevelof rigor/formality Checkablesyntactically,viatype system,andpropertiesbyexternal tools Propertiescanincreaseprecision butcannotaddnewelements Style x x Staticstructureismodeled Viewpoints natively,dynamicaspectsin x Structuralviewpointisnative, properties propertiesmightprovideadditional DynamicModels viewpoints x AcmeLiballows Viewconsistency programmaticmodel x Viaexternaltoolsthatmustbe manipulation developed NonFunctionalAspects x Static&DynamicAspects Precision x Throughproperties 36 Software Architecture: Foundations, Theory, and Practice ADML EfforttostandardizetheconceptsinAcmeandleverage XMLasasyntacticbase Advantages x XMLparsersandtoolsreadilyavailable x Addedsomeabilitytoreasonabouttypesof propertieswithmetaproperties Disadvantages x Propertiesarestillnamevaluepairs x DidnottakeadvantageofXMLextension mechanisms 37 Software Architecture: Foundations, Theory, and Practice ADMLExample SimilartoAcme,exceptinanXMLformat <Component ID=datastore name=Data Store> <ComponentDescription> <ComponentBody> <Port ID=getValues name=getValues/> <Port ID=storeValues name=storeValues/> </ComponentBody> </ComponentDescription> </Component> 38 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice xADL ModularXMLbasedADLintendedtomaximize extensibilitybothinnotationandtools Advantages x Growingsetofgenericallyusefulmodules availablealready x ToolsupportinArchStudioenvironment x Userscanaddtheirownmodulesviawelldefined extensibilitymechanisms Disadvantages x Extensibilitymechanismscanbecomplexand increaselearningcurve x Heavyrelianceontools 39 Software Architecture: Foundations, Theory, and Practice xADLExample <types:component xsi:type="types:Component" types:id="myComp"> <types:description xsi:type="instance:Description"> MyComponent </types:description> <types:interface xsi:type="types:Interface" types:id="iface1"> <types:description xsi:type="instance:Description"> Interface1 </types:description> <types:direction xsi:type="instance:Direction"> inout </types:direction> </types:interface> </types:component> 40 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice xADLExample <types:component xsi:type="types:Component" types:id="myComp"> <types:description xsi:type="instance:Description"> MyComponent </types:description> <types:interface xsi:type="types:Interface" types:id="iface1"> <types:description xsi:type="instance:Description"> Interface1 component{ </types:description> id = "myComp"; <types:direction xsi:type="instance:Direction"> description = "MyComponent"; inout interface{ </types:direction> id = "iface1"; </types:interface> description = "Interface1"; </types:component> direction = "inout"; } } 41 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice xADLExample <types:component xsi:type="types:Component" types:id="myComp"> <types:description xsi:type="instance:Description"> MyComponent </types:description> <types:interface xsi:type="types:Interface" types:id="iface1"> <types:description xsi:type="instance:Description"> Interface1 component{ </types:description> id = "myComp"; <types:direction xsi:type="instance:Direction"> description = "MyComponent"; inout interface{ </types:direction> id = "iface1"; </types:interface> description = "Interface1"; </types:component> direction = "inout"; } } 42 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice xADLTools Tools that implement Tools that implement xxADLsemantics ADL semantics (Other Tools) (Other Tools) use Faadeinterface Fa ade interface for data binding for data binding library library wraps xArchADT xArchADT uses Tree-based syntax- Tree-based syntax directed editor directed editor for xxADLdocuments for ADL documents ArchEdit ArchEdit Data Binding Library Data Binding Library generates Provides object-oriented Provides object-oriented interface to xxADL interface to ADL documents documents uses XML schema to XML schema to JJavadata ava data bbindinggenerator inding generator Apigen Apigen uses (e.g., Crimson, Xerces) ) (e.g., Crimson, Xerces Manipulates XML documents Manipulates XML documents as data structure of elements as data structure of elements and attributes and attributes parses/edits edits DOM Implementation DOM Implementation Off-the-shelf XML Off-the-shelf XML ddevelopment evelopment environment environment XML Spy XML Spy parses xADL 2.0 Schemas validates Off-the-shelf XML Off-the-shelf XML sschemavvalidator chema alidator XSV XSV 43 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice ArchStudioEnvironment 44 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2010 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice xADLSchemas(Modules) Schema Structure & Types Features Defines basic structural modeling of prescriptive architectures: components, connectors, interfaces, links, general groups, as well as types for components, connectors, and interfaces. Basic structural modeling of descriptive architectures: components, connectors, interfaces, links, general groups. Instances Mappings from structural element types (component Abstract Implementation types, connector types) to implementations. Mappings from structural element types to Java Java Implementation implementations. Allows structural elements to be declared optional included or excluded from an architecture depending Options on specified conditions. Variants Allows structural element types to be declared varianttaking on different concrete types depending on specified conditions. Defines version graphs; allows structural element types to be versioned through association with versions in version graphs. Versions 45 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission. Software Architecture: Foundations, Theory, and Practice xADLEvaluation Scopeandpurpose x Basicelements x Modelingvarious architecturalconcernswith explicitfocusonextensibility Ambiguity x Style x x Components,connectors, interfaces,links,options, variants,versions,,plus extensions Accuracy x Baseschemasarepermissive; extensionsaddrigororformality ifneeded Correctnesscheckersincludedin ArchStudioanduserscanadd additionaltoolsthroughwell definedmechanisms Baseschemasareabstract, precisionaddedinextensions Severalviewpointsprovided natively,newviewpointsthrough extensions Checkablethroughexternaltools andadditionalconsistencyrules 46 Static&DynamicAspects Limited,throughtypesystem Mostlystaticviewswith behavioranddynamic aspectsprovidedthrough extensions Modelscanbemanipulated programmatically Throughextensions Precision x Viewpoints x DynamicModels x Viewconsistency x NonFunctionalAspects x Software Architecture: Foundations, Theory, and Practice Caveat1 Theprecedingoverviewoptimizedforbreadthrather thandepth x Semanticsandcapabilitiesofmanyofthesenotations quitedeepandsubtle Someevenhaveentirebookswrittenaboutthem x Youareencouragedtoinvestigateindividualnotations moredeeply 47 Software Architecture: Foundations, Theory, and Practice Caveat2 Somesystemsaredifficulttomodelintraditional ways x Agilesystemsthatarenotexplicitlydesigned abovethelevelofcodemodules x Extremelylarge,complex,ordynamicsystems (e.g.,theWeb) Canmodellimitedorlesscomplexaspects Canmodeloneinstanceofthesystem(e.g., oneWebapplication) Exploitregularity Modelthestyle Modeltheprotocols 48
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

UCSD - BIBC - 120
USC - CS - 578
TheBigIdeaSoftwareArchitecture Lecture1CopyrightRichardN.Taylor,NenadMedvidovic,andEricM.Dashofy.Allrightsreserved.Software ArchitectureFoundations, Theory, and PracticeTheOriginsSoftwareEngineershavealwaysemployedsoftware architectures x Veryoftenw
USC - CS - 578
Architectures inContextSoftwareArchitecture Lecture2CopyrightRichardN.Taylor,NenadMedvidovic,andEricM.Dashofy.Allrightsreserved.Software ArchitectureFoundations, Theory, and PracticeFundamentalUnderstandingArchitectureisasetofprincipaldesigndecision
USC - CS - 578
BasicConceptsSoftwareArchitecture Lecture3CopyrightRichardN.Taylor,NenadMedvidovic,andEricM.Dashofy.Allrightsreserved.Software ArchitectureFoundations, Theory, and PracticeWhatisSoftwareArchitecture?Definition: x Asoftwaresystemsarchitectureistheset
USC - CS - 578
DesigningArchitecturesSoftwareArchitecture Lecture4CopyrightRichardN.Taylor,NenadMedvidovic,andEricM.Dashofy.Allrightsreserved.Software ArchitectureFoundations, Theory, and PracticeHowDoYouDesign?Where do architectures come from? Creativity1) 2) 3)
USC - CS - 578
ArchitecturalStylesSoftwareArchitecture Lecture5CopyrightRichardN.Taylor,NenadMedvidovic,andEricM.Dashofy.Allrightsreserved.Software ArchitectureFoundations, Theory, and PracticeObjectOrientedStyle Componentsareobjects x Dataandassociatedoperations
USC - CS - 578
Stylesand GreenfieldDesignSoftwareArchitecture Lecture6CopyrightRichardN.Taylor,NenadMedvidovic,andEricM.Dashofy.Allrightsreserved.Software ArchitectureFoundations, Theory, and PracticeHeterogeneousStylesMorecomplexstylescreatedthroughcompositionof
USC - CS - 578
SoftwareConnectorsCopyrightRichardN.Taylor,NenadMedvidovic,andEricM.Dashofy.Allrightsreserved.Software ArchitectureFoundations, Theory, and PracticeHow do we enable components A and B to interact?Attach adapter to A Introduce intermediate form Separa
USC - CS - 578
IntroductiontoModelingSoftwareArchitecture Lecture9CopyrightRichardN.Taylor,NenadMedvidovic,andEricM.Dashofy.Allrightsreserved.Software Architecture: Foundations, Theory, and PracticeObjectivesConcepts x Whatismodeling? x Howdowechoosewhattomodel? x
USC - CS - 578
S t a b le M a t c h i n g P r o b le mPerfect matching: everyone is matched monogamously. Each man gets exactly one woman. Each woman gets exactly one man.! !S t a b le M a t c h i n g P r o b le mQ. Is assignment X-C, Y-B, Z-A stable?Stability: no
USC - CS - 570
L in e ar T im e : O (n )2 .4 A S u r v e y o f C o m m o n R u n n i n g T i m e sLinear time. Running time is proportional to input size. Computing the maximum. Compute maximum of n numbers a1, , an.max ( a1 for i = 2 to n cfw_ if (ai &gt; max) max ( ai
USC - CS - 570
Asymptotic Notation&amp; Review of Functions Review of Functions8 October 2008CS 570-notationFor function g(n), we define (g(n), big-Theta of n, as the set: (g(n) = cfw_f(n) : positive constants c1, c2, and n0, such that n n0, we have 0 c1g(n) f(n) c2g(n)
USC - CS - 570
1) Summer 2008 Q7 Prove or give a counterexample: Let G be an undirected, connected, bipartite, weighted graph. If the weight of each edge in G is +1, and for every pair of vertices (u,v) in G there is exactly one shortest path, then G is a tree.If G is
USC - CS - 570
Master theorem - Wikipedia, the free encyclopediahttp:/en.wikipedia.org/wiki/Master_theoremHelp us provide free content to the world by donating today!Master theoremFrom Wikipedia, the free encyclopediaIn the analysis of algorithms, the master theore
USC - CS - 570
USC - CS - 585
Session 6 : Object-Relational Databases Object-Oriented Databases Introduction The need for extensions in Relational Data Model Classification of database systems Introduce extensions to the basic relational model Applications that would benefit from
USC - CS - 585
CS 585 Fall 2010CS 585 Fall 20101Farid ParviniOutline Instructor Logistics Prerequisite Introducing to DBMCS 585 Fall 20102Farid ParviniFarid Parvini Website :http:/www-scf.usc.edu/~fparvini/ Education: Ph.D. in Computer Science M.S. in Compu
USC - CS - 585
Database design process review&quot; Entity Sets&quot; Relationship Sets&quot; Design Issues &quot; Mapping Constraints &quot; Keys&quot; E-R Diagram&quot; Extended E-R Features&quot; Design of an E-R Database Schema&quot; Reduction of an E-R Schema to Tables&quot;1.Requirements Analysis&quot; What data i
USC - CS - 585
Formally, given sets D1, D2, . Dn a relation r is a subset of D 1 x D 2 x x D n Thus a relation is a set of n-tuples (a1, a2, , an) where a i D i! Example: if###customer-name = cfw_Jones, Smith, Curry, Lindsay #customer-street = cfw_Main, North, Park
USC - CS - 585
Basic Structure &quot; Set Operations&quot; Aggregate Functions&quot; Null Values&quot; Nested Subqueries&quot; Derived Relations&quot; Views&quot; Modication of the Database &quot; Joined Relations&quot; Data Denition Language &quot;branch (branch-name, branch-city, assets) customer (customer-name, cu
USC - CS - 585
Review Some Examples&quot; Application Programming&quot; Embedded SQL, &quot; Dynamic SQL &quot; ODBC &quot; JDBC&quot;An Instance of Boats An Instance of Sailors An Instance of Reserves1. Construct the cross-product of tables in the from-list2. The second step is to apply the qua
USC - CS - 585
Web Interfaces to Databases&quot; Performance Tuning&quot; Performance Benchmarks&quot; Standardization&quot; E-Commerce&quot; Legacy Systems&quot;2 The Web is a distributed information system based on hypertext.&quot; Most Web documents are hypertext documents formatted via theHyperTe
USC - CS - 585
Session 7 : Spatial DB &amp; Spatial IndexingCS585 Fall 2010 Farid Parvini1Spatial DB Outline Introduction Modeling Querying Data StructuresSpatial Indexing Outline Introduction Spatial Indexing R-Tree R+-Tree QuadtreesSpatial Database Applications Va
USC - CS - 585
Session 10: XML &amp; XML QueryCS585 Fall 2010 Farid ParviniIntroduction XML: Extensible Markup Language Defined by the WWW Consortium (W3C) Originally intended as a document markup language not adatabase language Documents have tags giving extra infor
USC - CS - 585
Session 11: Database System Architectures &amp; Distributed Database Centralized Systems Client-Server Systems Parallel Systems Distributed Systems Network Types Distributed DatabasesCS585 Fall 2010 Farid ParviniCentralized Systems Run on a single com
USC - CS - 585
OLAP (Online Analytical Processing)Excerpt from OLAP Presentation by Cyrus ShahabiUSC - CSCI585 Fall 2010 Farid Parvini1ContentIntroduction to Decision Support Multidimensional DatabasesFocus Application: OLAP Prefix-Sum Data Cube Dynamic Data Cub
USC - CS - 585
OLAP (Online Analytical Processing): Wavelet-based ApproachesExcerpt Partially from Presentation by Cyrus ShahabiUSC - CSCI585 Fall 2010 Farid Parvini1ContentIntroduction to Multidimensional Databases Focus Application: OLAP Prefix-Sum Data Cube Dyn
USC - CS - 585
1 Temporal Data&quot; Spatial and Geographic Databases&quot; Multimedia Databases&quot; Mobility and Personal Databases&quot;2 While most databases tend to model reality at a point in time (atthe `current' time), temporal databases model the states of the real world acro
USC - CS - 578
Homework 1: Connecting requirements and architecture using partial behavior modelsIn this assignment you will explore the relation between functional requirements specifications and an architecture-level behavioral specification of a software system. Ini
USC - CS - 578
Homework #2 AssignmentThe Call Center Customer Care (C4) Case Study, provided as an appendix to this assignment, presents an initial high level (Level 1) architectural breakdown for the system used by a large telecommunications company. This system compr
USC - CS - 578
Homework #3 AssignmentIn the last assignment you were tasked with designing an architecture for the C4 system that achieves particular requirements and use cases. In this assignment, you will be provided with the C4 system architecture designed by a deve
USC - CS - 578
CS 578 Software Architectures Fall 2010Homework Assignment #4 (The Final Project) Due: Wednesday, December 1, 2010, 11:59:59pmThis is an individual assignment, at the end of which you will be expected to demonstrate your solution to the instructor and/o
USC - CS - 561
CS 561: Artificial IntelligenceInstructor:TA:Sofus A. Macskassy, macskass@usc.eduHarris Chiu (chichiu@usc.edu), Wed 2:45-4:45pm, PHE 328 Penny Pan (beipan@usc.edu), Fri 10am-noon, PHE 328Lectures: MW 5:00-6:20pm, ZHS 159 Office hours: By appointment
USC - CS - 561
CS 561: Artificial IntelligenceInstructor:TA:Sofus A. Macskassy, macskass@usc.eduHarris Chiu (chichiu@usc.edu), Wed 2:45-4:45pm, PHE 328 Penny Pan (beipan@usc.edu), Fri 10am-noon, PHE 328Lectures: MW 5:00-6:20pm, ZHS 159 Office hours: By appointment
USC - CS - 561
CS 561: Artificial IntelligenceInstructor:TA:Sofus A. Macskassy, macskass@usc.eduHarris Chiu (chichiu@usc.edu), Wed 2:45-4:45pm, PHE 328 Penny Pan (beipan@usc.edu), Fri 10am-noon, PHE 328Lectures: MW 5:00-6:20pm, ZHS 159 Office hours: By appointment
USC - CS - 561
CS 561: Artificial IntelligenceInstructor:TA:Sofus A. Macskassy, macskass@usc.eduHarris Chiu (chichiu@usc.edu), Wed 2:45-4:45pm, PHE 328 Penny Pan (beipan@usc.edu), Fri 10am-noon, PHE 328Lectures: MW 5:00-6:20pm, ZHS 159 Office hours: By appointment
USC - CS - 561
gCSCI 561 Foundations of Artificial Intelligence Fall 2010 Instructor: Sofus A. Macskassy Project 1: A* Search (100 points) Due: October 11, 2010 1. IntroductionIn this project, you are required to use C/C+ or JAVA as the programming language to solve a
USC - CS - 561
CSCI 561 Foundations of Articial Intelligence Fall 2010Project 2: Logic Agent Due: 4:59 p.m., Nov 24, 2010(a) A Sudoku Puzzle(b) Corresponding SolutionFigure 1: Sudoku [Graphics from Wikipedia][1]1IntroductionThe goal of Sudoku puzzle is a board of
USC - CS - 561
CSCI-561 Fall 2010 Homework 3 Student name: _Macskassy Due Nov. 3, 2010 Student ID: _Question 1[Q1: 20 points]a). P Q is defined as being equivalent to (P Q) ^ (Q P). Based on this definition, show that P Q is logically equivalent to (P v Q) (P ^ Q).
USC - CS - 561
CSCI-561 Fall 2010 Homework 4 Student name: _Macskassy Due Nov. 17, 2010 Student ID: _Question 1 [30 points] Sudoku problem can be as general with size n2 x n2 . The rules are: (1) Each row contains unique number from 1 to n2. (2) Each column contains u
USC - CS - 561
CS 561: Artificial IntelligenceInstructor: TA: Sofus A. Macskassy, macskass@usc.eduHarris Chiu (chichiu@usc.edu), TBA Penny Pan (beipan@usc.edu), SAL 112, Fri, 10am-noonLectures: MW 5:00-6:20pm, ZHS 159 Office hours: By appointment Class page: http:/ww
USC - CS - 561
CS 561: Artificial IntelligenceInstructor:TA:Sofus A. Macskassy, macskass@usc.eduHarris Chiu (chichiu@usc.edu), TBA Penny Pan (beipan@usc.edu), SAL 112, Fri, 10am-noonLectures: MW 5:00-6:20pm, ZHS 159 Office hours: By appointment Class page: http:/ww
USC - CS - 561
CS 561: Artificial IntelligenceInstructor:TA:Sofus A. Macskassy, macskass@usc.eduHarris Chiu (chichiu@usc.edu), TBA Penny Pan (beipan@usc.edu), SAL 112, Fri, 10am-noonLectures: MW 5:00-6:20pm, ZHS 159 Office hours: By appointment Class page: http:/ww
USC - CS - 561
CS 561: Artificial IntelligenceInstructor:TA:Sofus A. Macskassy, macskass@usc.eduHarris Chiu (chichiu@usc.edu), Wed 2:45-4:45pm, PHE 328 Penny Pan (beipan@usc.edu), Fri 10am-noon, PHE 328Lectures: MW 5:00-6:20pm, ZHS 159 Office hours: By appointment
UCSD - BIBC - 120
Simons Rock - SD - 32703
Question bank for AP Final:http:/www.mhhe.com/cgi-bin/webquiz.pl Chapter 1 -Spring Semester1. The essential modifier used by geographers in forming their concepts is: a. absolute b. human c. relative d. spatial2. The statement that &quot;the journey to sch
UCSD - BIBC - 120
IIT Kanpur - MOS - 204
Walsh College - ACC - 505
Quiz #1Your score on this exam is 12 out of 21 .Answer Key Question 1 (Worth 3 points)An employee accidentally overstated the year's advertising expense by $50,000. Which of the following correctly depicts the effect of this error? Cost of goods manufa
UCSD - BIBC - 120
UOIT - PSYC - 1000
Chapter1:Introduction&amp;Methodso Manyquestionsthatpsychologistsdealwithareoldbutpsychologyasascienceisyoung psychologyemergesfromtwodistinctlinesofinquiry:philosophyandthenaturalsciencesof biologyandphysiologyPsychologyemergedasascienceinthelatenineteenthc
UCSD - BIBC - 120
UCSD - BIBC - 120
IIT Kanpur - MOS - 204
UCSD - BIBC - 120
Montclair - BUS - Mkt
Group Purchasing Organizations (GPO) and Inventory ManagementSTEVEN L. DAMATO RPH, BCOP MAINE CENTER FOR CANCER MEDICINE SCARBOROUGH, METhe Oncology Market$16 billion market growing to $40 billion in 2012 1.5 million new patients diagnosed annually 85%
Montclair - BUS - Mkt
Goods, Funds, and Information:Supply Chain Tactics for 2010 Copyright 2008 United Parcel Service of America, Inc. All rights reserved.The Evolving Global Supply ChainSupplierManufacturerDistributorRetailEnd UserSupplierManufacturer DistributorR
Montclair - BUS - Mkt
SITUATION ANALYSISUpdated: August, 2001 This work plan should be reviewed and the relevant steps performed as soon as practical at the beginning of an assignment. This review should provide us with the following: 1. 2. 3. 4. A thorough understanding of t
Montclair - BUS - Mkt
Inputs for WACC Calculation: Risk free rate (%) Yield-to-Maturity of debt (%) Equity risk premium (%) Beta of stock Corporate tax rate (%) Common shares (MM) Share price ($) Market value of debt ($, MM) 5.85% 4.72% 3.20% 1.3 35% 320.0 $52.00 $8.5Online T
Montclair - BUS - Mkt
Maine Lobster Potpie Pilot's Grill Restaurant, a Bangor landmark for almost 60 years, used to serve a similar version of this savory potpie. Traditionally Maine Lobster Potpies are topped with biscuit dough, but I often use puff pastry for an even richer
UCSD - BIBC - 120