diff options
-rw-r--r-- | README.md | 23 |
1 files changed, 11 insertions, 12 deletions
@@ -8,39 +8,38 @@ synchronization, scheduling, and GUI design. ### Analysis > Will you use data abstraction? How? -TCP communication will be abstracted away so will only deal with Hermes +TCP communication will be abstracted away, so that we deal with Hermes definition of a message. We will try to encrypt the messages passed around. The encryption will be -abstracted away so we only have to think about it once during implementation +abstracted away, so we only have to think about it once during implementation. > Will you use recursion? How? The server will continually loop waiting for connections from clients. -The Gui will continually loop to handle input with the user, and to and fro -Hermes. +The GUI will continually loop to handle input from the user, and to and fro +the server. > Will you use map/filter/reduce? How? -Map will be used for dealing with editor area of clients. Iterating over a list -of open ports to send messages(we expect a lot more but these are ones off the -top of our heads) +Map will be used for dealing with input area of clients, and iterating over a list +of open ports to send messages. > Will you use object-orientation? How? Keeping count of the number of clients will require an object of some sort. -With procedures to increment and decrement the number of users +With procedures to increment and decrement the number of users. > Will you use functional approaches to processing your data? How? The communication part of Hermes is over tcp which uses a lot of functional -approaches e.g. you start a listener which you can then pass to tcp accept. +approaches e.g. you start a listener which you can call tcp-accept on. The result of tcp accept are two pairs of ports which we can then bind to some -variables. +variables. > Will you use state-modification approaches? How? (If so, this should be encapsulated within objects. `set!` pretty much should only exist inside an object.) State-modification will be used e.g. keeping count of logged in users requires -state modification via set! to maintain the true user account +state modification via set! to maintain the true user account. > Will you build an expression evaluator, like we did in the symbolic differentatior and the metacircular evaluator? @@ -67,7 +66,7 @@ Evaluating Hermes is very simple. Can at least two clients hold a meaningful conversation remotely? If Client A speaks at 11:01 am, and client B does so at 11:01 plus a few seconds, Hermes has to convey this state correctly. Is the GUI intuitive for current irc users? When we can successfully answer this questions -satisfactorily we would have met our goals . +satisfactorily we would have met our goals. ## Architecture Diagram |