|
||||||||
Journal Entries, Week #6
Quick jump to: alio, beowulf, jamesmcd, jkdot, jsegars, lipinski, localguy, othello, rjmorgan, ryanaip, thewang, tjice, wrprice, swong. ----- ALIO
------------------------------------------------------------------------------------------- Journal number 6 Status: · On the current Milestone 3 that has been assigned Im done with about half of it. o I have decoupled the behaviors from the list structure that they used to be a part of. o Behaviors are now implemented via stack and queue calls during runtime. o Every behavior in the queue is run during one turn, while only the first behavior of the stack is run during a turn · We are working on how to properly use Attributes and are going to write some behaviors to be run in the mall. (One suggestion is to use the new pattern discussed by Dr. Wong during class) · Documentation for how to use behaviors and the flowchart are going to be posted once they are finalized. Obstacles encountered: · Some problems with Source Safe have popped up. Some classes were written to Source Safe but for some reason they were not included in the project. This meant that when the VS loaded again it looked as if it hadnt been saved. I think this problem has gone away now but it was worth mentioning. ·
Members of the model group did not realize I had
finished a new person that implemented the behaviors and changed the implementation
of a person. This was soon fixed during
Friday lab. Solutions proposed: Analysis of development process · There is a lot of good documentation that has been generated. This is very helpful from the standpoint of implementation in that there is no single person that is required for specific parts of the project. · A lot of new problems are going to be realized when we start to integrate the many parts of the project, and we should talk about what each group needs from another so we dont have milestones assuming one group is doing something when in fact it isnt. What seems to be working · People are moving along with their parts and the integration seems to be going well. Im looking forward to seeing the outcome of the collaboration next week What seems to not be working ·
While we are using a queue and a stack in
implementing the behaviors I would like to use a structure akin to a Vector
from Java for Attributes. Does anyone know if there is such a thing in C#? Proposals for change Once we finish the next milestone I suggest that we should take a what now look at the project. This way we can discern if anything needs to be streamlined or given greater functionality and see how what we have done fits in with the big picture of the simulation. Nice journal. -----
BEOWULF -----------------------------------------------------------------------------------
Nice
journal. -----
JAMESMCD
---------------------------------------------------------------------------------
Nice journal. ----- JKDOT
---------------------------------------------------------------------------------------- Milestone: Status: For this milestone, I will be working more testing and analyzing the interface (focus on the store owner interface). Though this is by no means the final draft of the GUI, I would like it to be in a stable state since we will be integrating it with the engine. Once the functionality is added, we will have to conduct more comprehensive tests. Jeff and I put definite due dates on several points of this milestone and so far, we are on track. Gains Made:
Obstacles encountered:
Proposed Solutions:
Development Process: Whats working:
Whats not working: Misleading answers. There is the occasional tendency to make a promise that is not followed through. We should say definitely what we plan to deliver and then honor that (its confusing for the teams if one is depending on something they thought the other would provide but really wont). Proposals for change:
Solution: Periodically, each group
should describe what they are doing, what structures and conventions they are
using, and what complications they are encountering in detail and in
class. Then, the floor could be opened
up for questions from everyone.
Solution: I dont know a solution to this. Perhaps if the page was streamlined a bit and
the organization was more focused towards pertinent information about the
status of each group, it would work. I
have no idea, however, what this would take or even if it would ameliorate the
situation. Nice journal. -----
JSEGARS
------------------------------------------------------------------------------------- Milestone: Connecting
GUI and Model, Usability Testing Gains Made During the last week, Kijana and I have a pretty good amount of progress on our milestones. Kijana met with Dr. Nguyen on Wednesday to present the UIs for store creation and management and there were a couple issues raised which well be discussing with the model group in our meeting Sunday. On Thursday, we performed using testing for the two store UIs. The techniques we used were identical to those in the last milestone and the overall results were about the same: no major problems but some areas where we need to make the behavior a little more intuitive. Obstacles In terms of completing the milestone, we didnt really encounter any major obstacles this week. Each of the tasks we completed had already been performed on the mall creation and management UIs for the previous milestone, so there werent any unexpected obstacles. I expect things to change next week, however, when we focus on integrating the UI with the model. The obstacles section may be a little longer Development Process What's Working After our communication problems
with the model group last week, things have improved a great deal. After looking over the model groups tasking
for this milestone, we noticed that they were planning to connect both the main
management UI as well as the wizards. We
had not initially tasked for this, but because we actually checked to see what
they were doing, we were able to add it to our milestone and avoid a potential
problem. What's Not Working / Change The only real problem weve
encountered so far in the development process is scheduling conflicts. Meeting with the Model group is at the core
of what we need to accomplish for this milestone and the earliest time we were
all able to meet was Sunday. This is
later than we would have liked, but thats the nature of trying to schedule
meetings involving many people. The
other problem I see (discussed briefly last week) is the issue of
documentation. Im still not exactly
clear on where I should go to look for the most current documentation and
UML. We have the Docs section of the
website, which also says to look under Milestones for more documentation. The most recent docs here are from Milestone
1 though, so Im not really sure whats been changed since then. We should probably set up another page or use
the existing Docs page to always link to the most recent documentation. Nice
journal. ----- LIPINSKI
------------------------------------------------------------------------------------- Milestone:
Gains Made: Ryan and myself have re-modified the adapters and worked
out a system so that the GUI has access to everything it needs without having
direct contact with the model. We still
need to revamp the factories, and actually connect up to the real GUI. Obstacles Encountered: ·
We had to allow the UI
to be able to get information about a person/item, without them actually
knowing about the person and furthermore allow a person to communicate with the
UI, without calling any methods on the UI.
·
We had to figure out
how the client/server models should be set up. Solutions Proposed: ·
We set up some new
interfaces for IEntities that allow the UI to have access to the attributes
inside of the IEntity, via a getAttributes() method. We also set up a reportAttribute, which an
IEntity can add text to, to report to the UI.
The UI can then go through all IEntities in a room, and display their
reports. ·
For the Server side we
have just a single room set up. This
represents the main mall hallway. This
is, currently the only place that people are allowed to be added. This hallway cannot currently contain items,
but will contain doors to all the stores in the mall. The client then has a room, and the only
thing they can change is the items in the room. Development Process Whats Working: Individual accounts on
SourceSafe, and multiple checkouts. Whats not Working: Aside from Jim, not much. Id say the main thing that Im disliking
currently is the notion of individual milestones, when most milestones really
arent individual. To
Change: It seems
to me that Ryans and my milestone are tied together. Its more like one milestone split between
two people, and furthermore certain parts of both cant be done until the other
is. In that case, it seems silly to
treat it as two separate milestones. I
think that we should think about possibly having partner milestones, where a
pair is responsible for just a bigger list, and thereby make is so that
everyone doesnt just have their own agenda. Nice
journal. ----- LOCALGUY
--------------------------------------------------------------------------------- Milestone:
I looked up several methods of detecting running processes, but it looks like the .NET framework provides for a lot of this functionality in System.Diagnostics. I implemented some methods for starting and exiting a program and for detecting if a program is running. I still need to do some testing and some slight modifications, but they are located in ProcessManager in the RemotingHub directory in VSS. I cleaned up my event code for RemotingLib to make it more OO. I also made the sender an IConnection for the isObjectWaitingEvent in an IConnection. I added the method getRemoteServerSpec() in IConnection that returns the ServerSpec from the other side of an IConnection.
§ Using Visual Source Safe. I dropped an hour or two setting everything up and figuring out how it works. I had it all working under the comp410 login, then I tried to checkout everything under my user name and all havoc breaks loose! Be specific here! Im going to have to spend some more time to get back to the point where I was. It takes a long time to do anything over the network with VSS. §
I still need to add functionality to close
IConnections and to catch the various exceptions that are thrown when the user
tries to do something illegal. I also need to
comment my code.you are not alone!
§ I will look for information on unregistering servers in the .NET remoting book. I am also going to test the remoting library to find the various exceptions that are thrown when you try to do something illegal. We may have to change the existing API to make the connectToServer and registerServer calls throw exceptions. Development Process:
Im getting a better handle on what I should be working on. I think this is because the AR group did a better job in defining tasks for this milestone than on previous milestones. The AR group also decided on a weekly meeting time when we can figure out what we need to be doing and what obstacles we are facing.
After class today I realized that I
really do not know how the Model group code or UI group code works at all. I think I could contribute to the project
more if I knew what they were doing.
I need to look at the other groups documentation and UML diagrams and even look through some code in order to get a better understanding on how things are working in their code. Nice
journal. -----
OTHELLO ----------------------------------------------------------------------------------- ·
Milestone Status: o Gains:
Ive been reading RFC 2616 (HTTP 1.1) for further background knowledge, and
Ive gotten the .NET Remoting example on Events/Delegates working using
HTTP. Im not loading it into the
project repository, because its a side example, and I shouldnt really migrate
that much code from it into the project.
However, I think its a proper example since its a trivial chat client,
and I think the UI group has been interested in chat capabilities. o Obstacles:
Aside from right now being a pretty hectic time for me, I have little milestone
obstacles to complain about. RFC 2616 is
pretty long (~180 pages), but of course, that wasnt really part of my
milestone. It was more for additional
reading, to understand HTTP more intimately.
However, it is somewhat annoying how much more I can find about WebServices
instead of Remoting
hehe. o Proposed solution: Considering part of my out-of-class duties will be over this
weekend, it should free up a little more time.
I can try to find yet some more Remoting documentation, Im sure that
theres not really a limit on too much knowledge :-P ·
Development Process: o Whats working: Pair programming (with
Robby) is working out, and our group is meeting more often. Were supposed to begin meeting maybe twice a
week (starting next week, since this week was pretty spelled out for us). o Whats not working: Remote logins to Exciton
is still annoying, it would really be nice to get VS .NET in Symonds sometime
soon. Also, I feel like class
discussions are somewhat slow, but maybe its just my personal perception. o Proposals for change: Im sure that acquainting
myself with VSS will help facilitate the development process, and help me just
run things from my own computer. It has
also been a discussion in our group to possibly hold a networking tutorial so
that others in the class would understand more basics about the backbone of the
internet, etc. I mean, our group exists
to help make things easier / more convenient, but we cant necessarily explain
make everything magically work. In order
for the program to work, developers are going to have to fiddle around with
port numbers, and IP addresses, and feel comfortable with both notions at least. Also, an understanding of DNS and other basic
internet concepts would be convenient. I
dunno, just a thought. Nice
journal. ·
----- RJMORGAN
-------------------------------------------------------------------------------- o
Gains made I have made significant progress on my milestone, especially on
the tasks that were critical for others.
I have verified that proxy objects transferred from one client process
to another work properly, since it was critical for the proper operation of the
AR groups networking hub. To verify
this, I created three separate processes and chained them together, with the
first process creating a MarshalByRefObject instance and sending a proxy to the
second process, which relayed it to the third process. Each process was able to successfully access
methods of the instance that ran in the first process application domain. I dont feel like the source code is
something that should go into VSS, so if anyone needs a copy, just email me. o
Obstacles encountered In connecting the
third process to the second process, I had a problem reusing the same port the
second process used to connect the first server process. I ended up using an extra port to register
the second process as a server that the third process could connect to. o
Solutions proposed As an alternative solution, I will be working through the
scenarios in which the RemotingLib library can reuse ports and services to
optimize the operation of our networking hub.
This is another tasking that has come up as result of our initial
efforts in designing the hub. Through
this process, I will identify the problems that caused the obstacles above. ·
Analysis of development process o
What seems to be working The AR group has had very successful communication in our past
meetings, and we all are aware of the responsibilities we own/share. We have set a regular meeting time of
Thursdays at o
What seems to not be working The Friday lab meeting time.
The IM department as well as everyone else around here expects students
to be out of class by o
Proposals for change I propose that we move the lab meeting to some other time during
the week. I realize that this probably
wont happen, so Ill just have to work things out within my group during class
on Fridays and at other times to ensure Im not missing out on demos, etc. Moving the time is not the issuefiguring out how and when to get
everything done that needs to be done is the issue. Nice
journal. -----
RYANAIP
------------------------------------------------------------------------------------ Development StatusMilestone ProgressThis week The adapters are in the Control/Adapters folder and are documented. Well work on getting all of the project documentation posted soon. Weve also started to think about how factories will work, although most of that work will come next week after we have the adapters working with the GUI. Well work on a similar adapter method to interact with the wizards that the UI group has developed. Process AnalysisIts been difficult to schedule meetings between groups (in our case between the GUI and the model group). Theres really not much that can be done about this everyone has busy schedules. But the fact that we started planning early helped us to settle on a time to meet next Sunday. Its not as soon as wed like, but its better than if wed waited until next week. People have been having a lot of problems with
SourceSafe. Ill continue to explore how
to administer SourceSafe more effectively, but Ill also start looking into
using CVS instead. Weve been using that
successfully when working on the Comp 460 project, which is of a similar scope. Nice
journal, though the prose format makes it harder to find the various pieces
than in a bulleted format. -----
THEWANG
---------------------------------------------------------------------------------- Milestone Gains: · We came up with the execution model of behaviors, sketching out by hand the flow chart of how behaviors will be run. There will essentially be two queues, one that contained behaviors such as get older or get hungrier, that ran every clock cycle. The other would contain all of the behaviors that are to be run, one each clock cycle. One behavior can cause the addition of multiple other behaviors onto the stack, such as the decision to look at an item might require move, move, look at, then buy. These would each require one clock cycle to run, and so, behaviors that span multiple clock cycles can simply be reinserted onto the queue. · We discussed extensibility issues, and how it will need to interact with the rest of the model, but have not checked it with the modified model. Still left to do: · Now, that it was suggested in class that the comparators for attributes be separated from the attributes themselves, we will need to modify current attributes to not actually perform the comparisons. We will also have to create a structure for the comparator class, and figure out how to support multiple comparators. · Figure out how dynamic behaviors will be implemented. Originally we had planned to have static, predictable behaviors that still acted differently based on the comparison values given to it. The attributes would then be dynamically changed, i.e. after buying three red dresses, the red dress attribute would be greatly decreased. We will need to understand if attributes still need to be modified in addition to how to implement dynamic behaviors. · After we get that figured out, we can get back to our original milestone of creating some more sample behaviors that use attributes in their decision making process. Development process: · Thank you Ryan for giving us our own SourceSafe accounts! Hopefully we will be able to work more efficiently separately at the same time. Else, thats still a big problem that were having. · I think that meeting with our own group or with other groups or whatnot should happen whenever they need to happen, instead of only waiting until the end of the week on Friday (especially since the milestones end on Fridays anyway). Therefore, we can eliminate the need for Friday afternoon meetings, right? Nice
journal. ----- TJICE
----------------------------------------------------------------------------------------- ·
Milestone Status: Gains: The
progress this week has been limited due to the small amount of time the UI and
model group has had working on integrating everything. So basically all I have done is begin to
understand the Model groups code and try to start working with the adapters
that were in place during milestone 2. o Obstacles: The basic
obstacle is just understanding the model groups code and try to make
everything work. This will just take
time. Proposed solution: The only
solution is to just go and hammer this stuff out in a group (emphasis as a
group.) Otherwise, a lot of time will
be wasted trying to write code to integrate with existing code that I am personally
still trying to understand. ·
Development Process: o
Whats working: Since I am still in the coding phase of
this milestone, there is nothing to report yet.
The individual pieces are still working, but they have not been
integrated together. Meetings have been
set up though over the weekend to hammer out code, so COMMUNICATION is working. o
Whats not working: Well since Im still in the
development phase nothing is working as of yet.
Everything ( as far as the code integrating the model and UI ) is still
in the fluidic stage and is not working. o Proposals
for change: There is only one
proposal. That proposal is just to sit
down this weekend and make this work now that the model group has finished
the adapters for the model. Nice
journal. -----
WRPRICE
------------------------------------------------------------------------------------ Current Milestone
Status:
Development Process
Nice journal. ----- SWONG
--------------------------------------------------------------------------------------- No major issues this week, save the recurring communications issues. People are not finding the documentation they need from the other groups. |