Introduction to the Class Project and Computing Facilities CSCI 599 – Software Engineering for Embedded Systems September 3, 2002
Class 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 desired
Embedded Systems Lab Located in KAP 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-hours
What You Will Be Able to Do
What You May Choose to Do
How Much Prism? Overall Design of Prism-MW – YES! A D CB
How Much Prism? Prism-MW API – YES! Architecture Architecture() Architecture(name : String) Architecture(name : String, n : int) start() : void stop() : void shutdown() : void handle(r : Request) : void handle(n : Notification) : void addComponent(comp : Component) : void addConnector(conn : Connector) : void weld(conn : Connector, comp : Component) : void weld(comp : Component, conn : Connector) : void weld(conn1 : Connector, conn2 : Connector) : void removeComponent(comp : Component) : void removeConnector(conn : Connector) : void setThreadCount(n : int) : void getThreadCount() : int threadFunction() : void notifyArchitecture() : void searchFIFO(f : SynchronizedFIFO, o : Object) : Object Component Component(name : String) Component() Component(name : String, junk : String) send(r : Request) : void send(n : Notification) : void ComponentThread ComponentThread() ComponentThread(s : String) run() : void Connector Connector() Connector(name : String) handle(r : Request) : void handle(n : Notification) : void ConnectorThread ConnectorThread(n : String) Message Message() Message(name : String) name() : String addParameter(parameterName : String, parameterValue : Object) : void hasParameter(Name : String) : boolean removeParameter(Name : String) : void getParameter(Name : String) : Object Notification Notification() Notification(Name : String) Request Request() Request(Name : String)
How Much Prism? Internal Design of Prism-MW – Perhaps Component BComponent A D R 1 N 1 R 2 R 3 N 2 send Request handleRequest ConnectorC Thread Pool R XR
Assigning Project Teams You may form 3-person teams –no exceptions unless 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 4
Project 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 fun!