Advance Software Engineering (CEN-5011)AcknowledgementsAgendaActivity 3: ConcurrencyConcurrency (continued)Concurrency QuestionsImplementing ConcurrencySlide 8Activity 4: HW/SW MappingMapping the ObjectsConnectivityExample of a Connectivity DrawingLogical vs. Physical ConnectivityLayeringHW/SW Mapping QuestionsConnectivity in Distributed SystemsDrawing HW/SW Mappings in UMLComponent DiagramComponent Diagram ExampleDeployment DiagramDeployment Diagram ExampleSlide 22Activity 5: Data ManagementFile or Database?Object-Oriented DatabasesRelational DatabasesSlide 30Activity 6: Global Resource HandlingDefining Access ControlAccess MatrixAccess Matrix ImplementationGlobal Resource QuestionsSlide 36Activity 7: Software ControlCentralized ControlEvent-Driven Control Example: MVCSoftware Control (continued)Centralized vs. Decentralized (1)Centralized vs. Decentralized (2)Slide 43Activity 8: Boundary ConditionsAdministration Use CasesExample: MyTripManageServer Use CaseBoundary Condition QuestionsModeling Boundary ConditionsSlide 50SummaryCEN 5011 8th LectureAdvance Software Engineering (CEN-Advance Software Engineering (CEN-5011)5011)Instructor: Masoud Sadjadihttp://www.cs.fiu.edu/~sadjadi/System Design:System Design: Addressing Design Addressing Design GoalsGoals8th Lecture2CEN 5011: Advanced Software EngineeringAcknowledgementsAcknowledgementsDr. Bernd BrueggeDr. Allen DutoitOvervieOverview:w:ConcurrencyHW/SW MappingData Manage.Access ControlSoftware ControlBoundary Cond.Summary8th Lecture3CEN 5011: Advanced Software EngineeringAgendaAgendaSystem Design I (previous lecture)–0. Overview of System Design–1. Design Goals–2. Subsystem DecompositionSystem Design II–3. Concurrency–4. Hardware/Software Mapping–5. Persistent Data Management–6. Global Resource Handling and Access Control–7. Software Control–8. Boundary ConditionsSummaryOvervieOverview:w:ConcurrencyHW/SW MappingData Manage.Access ControlSoftware ControlBoundary Cond.Summary8th Lecture4CEN 5011: Advanced Software EngineeringActivity 3: ConcurrencyActivity 3: ConcurrencyIdentify concurrent threads and address concurrency issues.Design goal: response time, performance.Threads–A thread of control is a path through a set of state diagrams on which a single object is active at a time.–A thread remains within a state diagram until an object sends an event to another object and waits for another event.–Thread splitting: Object does a nonblocking send of an event.OvervieOverview:w:ConcurrencyHW/SW MappingData Manage.Access ControlSoftware ControlBoundary Cond.Summary8th Lecture5CEN 5011: Advanced Software EngineeringConcurrency (continued)Concurrency (continued)Two objects are inherently concurrent if they can receive events at the same time without interactingInherently concurrent objects should be assigned to different threads of controlObjects with mutual exclusive activity should be folded into a single thread of control (Why?)OvervieOverview:w:ConcurrencyHW/SW MappingData Manage.Access ControlSoftware ControlBoundary Cond.Summary8th Lecture6CEN 5011: Advanced Software EngineeringConcurrency QuestionsConcurrency QuestionsWhich objects of the object model are independent?What kinds of threads of control are identifiable?Does the system provide access to multiple users?Can a single request to the system be decomposed into multiple requests? Can these requests be handled in parallel?OvervieOverview:w:ConcurrencyHW/SW MappingData Manage.Access ControlSoftware ControlBoundary Cond.Summary8th Lecture7CEN 5011: Advanced Software EngineeringImplementing ConcurrencyImplementing ConcurrencyConcurrent systems can be implemented on any system that provides –Physical Concurrency (hardware) or–Logical Concurrency (software)Scheduling problem (Operating systems)OvervieOverview:w:ConcurrencyHW/SW MappingData Manage.Access ControlSoftware ControlBoundary Cond.Summary8th Lecture8CEN 5011: Advanced Software EngineeringAgendaAgendaSystem Design I (previous lecture)–0. Overview of System Design–1. Design Goals–2. Subsystem DecompositionSystem Design II–3. Concurrency–4. Hardware/Software Mapping–5. Persistent Data Management–6. Global Resource Handling and Access Control–7. Software Control–8. Boundary ConditionsSummaryOvervieOverview:w:ConcurrencyHW/SW MappingData Manage.Access ControlSoftware ControlBoundary Cond.Summary8th Lecture9CEN 5011: Advanced Software EngineeringActivity 4: HW/SW MappingActivity 4: HW/SW MappingThis activity addresses two questions: –How shall we realize the subsystems: Hardware?Software? –How is the object model mapped on the chosen hardware and software?Mapping Objects onto Reality: Processor, Memory, Input/Output.Mapping Associations onto Reality: Connectivity.Much of the difficulty of designing a system comes from meeting externally-imposed hardware and software constraints. –Certain tasks have to be at specific locations.OvervieOverview:w:ConcurrencyHW/SW MappingData Manage.Access ControlSoftware ControlBoundary Cond.Summary8th Lecture10CEN 5011: Advanced Software EngineeringMapping the ObjectsMapping the ObjectsProcessor issues:–Is the computation rate too demanding for a single processor?–Can we get a speedup by distributing tasks across several processors?–How many processors are required to maintain steady state load?Memory issues: –Is there enough memory to buffer bursts of requests?I/O issues:–Do you need an extra piece of hardware to handle the data generation rate? –Does the response time exceed the available communication bandwidth between subsystems or a task and a piece of hardware?OvervieOverview:w:ConcurrencyHW/SW MappingData Manage.Access ControlSoftware ControlBoundary Cond.Summary8th Lecture11CEN 5011: Advanced Software EngineeringConnectivityConnectivityDescribe the physical connectivity of the hardware –Often the physical layer in ISO’s OSI Reference ModelWhich associations in the object model are mapped to physical connections?Which of the client-supplier relationships in the analysis/design model correspond to physical connections?Describe the logical connectivity (subsystem associations)–Identify associations that do not directly map into physical connections:How should these associations be implemented? OvervieOverview:w:ConcurrencyHW/SW MappingData Manage.Access ControlSoftware ControlBoundary
View Full Document