CS 381 – Software Development
The objective of this project to reinforce, via practice, the understanding gained from the discussions and lectures about modern distributed, parallel and concurrent programming, processing, computing, computation, software development, algorithms and applications.
Choose one of the case study categories presented in the attachment.
Systematically perform 1 pass through the agile or spiral SW development life cycle:
Describe?Specify?Design?Develop-Program-Code?Demo-Prototype
Note: At each stage,
a. Use both text and diagrams to convey your architectures, models, concepts, embodiments.
b. Use (semi-) formal methods, such as UML, ER models, NOSQL models, MapReduce, Data parallel models, Dataflow models, Algorithmic Structures, Functional and function style computing, SOA, ESB, Petri nets and transitions models, semi-structured models for data, information, meta-data and knowledge structures and representation and their manipulations by algorithms, functions, procedures, processes, agencies.
c. Be as concrete as possible, for the level of presentation and discussion.
d. Assume that your work product or output, in the form of design and engineering canvass, will be handed over to someone else to continue where you left off. (Hence, your work output should be comprehensive, clear, well-organized and readable.)
1. Pick a specific, particular and concrete application or scenario for the chosen category.
2. Provide a comprehensive analysis, description, explanation and model of the case study as an example or exemplar for the use of distributed processing, parallel processing and/or concurrent processing among multiple, swarms, teams, groups, cohorts, legions, collectives, colonies, societies, crowds, ensembles of computational entities (processes, actors, agents, bots, ants, demons, sprites, robots, etc. In essence, how such a collective behaves as a super-organism, organization or computational enterprise, corporation or empire. Potentially, such a collective can have from tens O(10) to millions O(1 million) computational actors, bots, agents.
Provide the overall architecture (framework, configuration) of the application. Use lots of diagrams, at different levels of details and refinement. Explain each diagram, with the text and diagrams supporting coherently and seamlessly supporting each other.
3. Identify what can constitute an MVP for the chosen scenario and provide the Pseudo-code implementations of the MVP. Identify appropriate technology stacks (HW, MW and SW) as part of the Pseudo-code. For parts of the Pseudo-code that will be developed “in-house” and not purchased or procured, identify object classes, data structures, pseudo-code for the CRUD and
(2018). Prof. Amenyo. CS 381. Fall 2018. Project 3 Page 2 of 5
other procedures, routines, methods that can be used to manipulate the identified data representations.
4. Implement a demo prototype of the application MVP. Your demo should be executable code that successfully runs.
5. Write and submit a Project Report about the Effort.
Application Areas:
1. TensorFlow Applications, (or variant dataflow, computational graph applications)
2. MapReduce Applications or Hadoop Applications
3. SpatialOS Applications
4. Robot Team Applications
5. Drone Team Applications
6. Robot-Drone Teams Applications
7. Zombie Control computational model
8. Blackboard Architecture Distributed AI Applications
9. Multi-agent System Applications
10. Collective Intelligence Applications
11. Swarm Intelligence Applications
12. Stigmergy computational model
13. Distributed sensor network, or Wireless sensor network applications (including, Biochips, Micro-arrays, Multi-cameras, Poly-cameras)
14. Assemblage Structures computational model, (including foldable space structures and tensegrity structures)
15. ANN-based Deep Learning AI Applications
16. Tuple-space computing support of Coordinating Languages such as Linda
17. Amorphous computing Applications
18. Trellis computing Applications
19. LifeStream™ computing Applications
20. Electronic-skin (e-skin) Applications (includes, Chameleonic adaptation)
21. Sensate Media, Pushpin, Paintable Computing Applications
22. Computational Teams for Social, Affective, Wearable, Tangible computing applications
23. Full body integrated network of wearable and implantable devices applications
24. @Home Computing Applications
25. SOA-ESB applications
26. Second Life Online World
27. Spore Online Game
28. Massively Multi-player Online Games (Role Playing, Strategy, Building and Construction)
29. Complex Adaptive Systems Applications
30. Other Domains of Student’s choosing
31. Other domains encountered earlier in the semester.
(Note each of these must be considered from the point of the view of the participation of multiple computational entities, agents, actors, bots, machines, automata, as part of a team or collective, to deliver services and applications for the targeted computational objective):
a. Amazon Go, cashless, just-walkout store
b. Automated warehouse, with Robot teams (JD.com, Amazon.com)
c. Smartwatch – Smartphone wearables (Watch OS – IOS, Wear OS – Android)
d. Smart Speaker – Smartphone at home (Apple, Amazon, Google, Alibaba)
e. Multi-Sided Platform (MSP) (Uber, Lyft, AirB’nB, EBay, Amazon)
f. Database system for: Inventory management; Hospital, Medical Electronic Health Records (EHR)
g. Capsule Endoscopy Data Analytics
h. Smart City (NYC, Chicago/AOT)
i. Smart Highway, Intelligent Highway
j. City IOT, Municipal IOT
k. Autonomous Car, Automobile, Vehicle, Truck, Train, Cargo Container Carrier, Supertanker
l. Tandem-Cascade-Chain of Automobiles, Trucks, Vehicles
m. Computer Game
n. Massive, Multi-player Online Game
o. Augmented Reality (AR) application