Introduction to the Class Project and Computing FacilitiesClass Project LogisticsEmbedded Systems LabWhat You Will Be Able to DoWhat You May Choose to DoHow Much Prism? Overall Design of Prism-MW – YES!How Much Prism? Prism-MW API – YES!How Much Prism? Internal Design of Prism-MW – PerhapsAssigning Project TeamsProject DetailsIntroduction to the Class Projectand Computing FacilitiesCSCI 599 – Software Engineering for Embedded SystemsSeptember 3, 2002Class Project Logistics•10 teams of 3 students•1 PocketPC per student–wireless support–NexiCams (as needed)–keyboards (as needed)–YBIYBI•Prism-MW–Java –EVC++•Prism-DE if desired•DRADEL if desiredEmbedded Systems Lab•Located in KAP 103•12 Windows machines–JDK–MS Visual Studio–MS Office–ethernet connections–wireless setup•Use for the class only!–combination lock to the Lab–each student must read the USC Ethics Code–will be required to sign a declaration of fair use–the Lab will be checked periodically after-hoursWhat You Will Be Able to DoWhat You May Choose to DoHow Much Prism?Overall Design of Prism-MW – YES!ComponentThreadConnectorThreadArchitec tureAdapterNotification RequestMessageSe r ializab leIS ca ffo ldConnectorIAr c h it e ct u r eAr c h ite c tu r e Eve n t Co n sta n tsICo mp o n e n tPeerComponentIC o n n e cto r#to p# b o tto m#s i d eAdminComponentArchitectureBrick#s ca ffo ldAddressto p Idb o t to m Idsid e Id ADCBHow Much Prism?Prism-MW API – YES!ArchitectureArchitecture()Architecture(name : String)Architecture(name : String, n : int)start() : voidstop() : voidshutdown() : voidhandle(r : Request) : voidhandle(n : Notification) : voidaddComponent(comp : Component) : voidaddConnector(conn : Connector) : voidweld(conn : Connector, comp : Component) : voidweld(comp : Component, conn : Connector) : voidweld(conn1 : Connector, conn2 : Connector) : voidremoveComponent(comp : Component) : voidremoveConnector(conn : Connector) : voidsetThreadCount(n : int) : voidgetThreadCount() : intthreadFunction() : voidnotifyArchitecture() : voidsearchFIFO(f : SynchronizedFIFO, o : Object) : ObjectComponentComponent(name : String)Component()Component(name : String, junk : String)send(r : Request) : voidsend(n : Notification) : voidComponentThreadComponentThread()ComponentThread(s : String)run() : voidConnectorConnector()Connector(name : String)handle(r : Request) : voidhandle(n : Notification) : voidConnectorThreadConnectorThread(n : String)MessageMessage()Message(name : String)name() : StringaddParameter(parameterName : String, parameterValue : Object) : voidhasParameter(Name : String) : booleanremoveParameter(Name : String) : voidgetParameter(Name : String) : ObjectNotificationNotification()Notification(Name : String)RequestRequest()Request(Name : String)How Much Prism?Internal Design of Prism-MW – PerhapsComponent BComponent AComponent DR1N1R2R3N2send Request handleRequestConnector CThread PoolRX RAssigning Project Teams•You may form 3-person teams–no exceptions un l ess class size is not a multiple of 3•Mail me and the TA–team name (optional)–team member names–team member USC ID numbers•Otherwise, you will be assigned to a team during Week 4Project Details•To be discussed in class during Week 4•Will rely on the principles of software architecture•Will leverage Prism•Will require substantial design and implementation•Will be
View Full Document