Skip Ribbon Commands
Skip to main content
Site ActionsUse SHIFT+ENTER to open the menu (new window).Open Menu Navigate Up
Sign In

Quick Launch

   
View: 

1. Name

 Randy Chang
 (7%) 
 
 Carrie
 (7%) 
 
 Martha Witick
 (7%) 
 
 Kevin Lin
 (7%) 
 
 Apoorv Agarwal
 (7%) 
 
 Alex Roe
 (7%) 
 
 Nithya Renganathan
 (7%) 
 
 Frank Salinas
 (7%) 
 
 Damien
 (7%) 
 
 Adrien Pellerin
 (7%) 
 
 Victor
 (7%) 
 
 John Draper
 (7%) 
 
 Archie Hampton
 (7%) 
 
 Nathan Shih
 (7%) 
 

Total: 14

2. Percentage complete

 80%
 (29%) 
 
 85%
 (7%) 
 
 75%
 (14%) 
 
 90%
 (36%) 
 
 50%
 (7%) 
 
 70%
 (7%) 
 

Total: 14

3. What milestone objectives were actually attained?  Be specific!

 

Task 125:​ Create UML Use Case Diagram​ 

Perhaps the most useful task during this milestone for me. Because I had this, I was able to get a lot more useful input from Dr. Wong and James. I need to make a new task related to this related to updating the diagram. Since the release of version 1.0, I have discovered things that need to be changed based on either improvements suggested by classmates or the staff or poor decisions made during the initial creation. 


 (7%) 
 
 

 

Customer Meeting with Mr. Hofmeister - Communicated with Mr. Hofmeister for the 10-22 meeting, reserved room, drafted agenda, etc.
 
Simplistic Plan for Demo  - Majority of this was actually crafted by the Model team, but I gave them the specifications for what kind events needed to occur.
 
Initial Full Energy Plan - Available here; Goals, assumptions, and simplistic events.
 
Redesign class event workspace - Designed and implemented workspace changes - Subdivided from one agenda and one minute section into five agendas (one general and one for each team) and four minutes (one for each team). Seems to be working well, example here.
 
Data page for Mr. Hofmeister - Following the meeting with Mr. Hofmeister, I create the page of priorities, complexity coefficients and our research data (available here).
 

 

 (7%) 
 
 
Task 141: Check notes/use cases for existing design decisions about simulation manager
I looked over my notes and copied out the decisions regarding simulation manager. Done.

Task 142: Determine simulation manager responsibilities
Look in Randy's use case for our final decision - the simulation manager is responsible for implementing the blueprint its handed and actually running the simulation.
 (7%) 
 
 

After playing around with various ways that events could be implemented, ended up implementing an Event as a lambda with a start and stop date.
The demo didn't go because the binary files got corrupted. 
Did show Hoffmeister an overview of our energy model.

 (7%) 
 
 


Task 146​ : Deploy demo code in the cloud  by Wednesday 10/24

Worke primarly on this task and for that had created several subtask which could be seen in the TFS, I have created the following task for myself in acheiving this goal:

Task 147​ : Implement and learn the creation of TCP channel between the web role and worker role

This task was completed and the purpose of this task was to make a communication channel between the web role and the worker role over the TCP channel. In this i was able to create the communication channel between the roles by dynamically getting the IP address of the internal ports of the roles which is very in the case when the application is running over the cold and we wont be knowing the IPaddress and port number of the role.


Task 129 Retrieving up the BLOB object from the database in the cloud

I also worked with Damien in completing the above mentioned task, in this case we have decided upon the basic database table structure that we might be having in our storage subsystem (more details could be found in the Journal 9 and 10). In this task we were able to retrieve  and store the byte array from the database running on the local machine as well as on the cloud.


 (7%) 
 
 

Task 133: Create a web role in cloud

Task 134: Create web and worker role in cloud

Task 135: Establish communication between web and worker roles

For this, I used a basic CloudQueue to establish communication between roles.  I also created some super crappy stub code in the gui to test message sending.  This queue communication will be replaced, but I just wanted to get SOMETHING working.  Next up is figuring out dynamic worker role instantiation.

 (7%) 
 
 

​Task 122: Created a palette and wrote dummy code to draw factories within it.

Task 158: Created a c# class for modules. Modified the code from the warm up project.

Task 154: This was basically done by the js plum code victor was working on .We just had to link the double click event on a div and pass the name as parameter.

Task 116: Went through the MVC tutorials.

 (7%) 
 
 

-Create new branch in main project containing warm up project code

-migrate composite modules

-implement serialization of modules, lambdas, configs, and nodes
https://comp410.tfspreview.com/DefaultCollection/Comp410f12%20Main%20Project/_workitems#&id=126​

 (7%) 
 
 

Task 129

My earliest task was to store an arbitary (ish) byte array into the cloud, and retrieve it without substantial modification. I chose to do this by storing UTF-16 strings. I used built-in methods to convert a string to a byte array, then stored that into the database on the cloud. I then retrieved it and, when it was to be displayed, converted it back to a string. This was mainly a test of whether we could store byte arrays into the cloud.

 (7%) 
 
 

The following tasks were all part of getting a customer demo ready for last week's customer meeting:

Task 109:Hook up Sync Modules to Warmup Project

Task 110:Implement Events in Sync Modules

Task 111:Build Producer/Consumer model with Event for Hoffmeister Demo on Monday

Task 112:Implement Logging of key values in a circuit with respect to time for graphing

Task 113:Practice Demo for Hoffmeister

Task 94:Create Producer/Consumer Demo for Customer Meeting

Unfortunately the customer demo encountered technical issues in the hour leading up to the demo (as detailed in my journal from last week), so I've taken that into account in my percentage complete.

 (7%) 
 
 

Nathan and I fixed labels on the warmup project during the first week of this milestone, in preparation for the client meeting. We reached a point, however, where we felt it was better to stop working on the warmup project. Tasks here: https://comp410.tfspreview.com/DefaultCollection/Comp410f12%20Main%20Project/_workitems/edit/71https://comp410.tfspreview.com/DefaultCollection/Comp410f12%20Main%20Project/_workitems/edit/75 

The entire GUI team was tasked with going through at least one MVC tutorial before last Sunday, which I did. Tasks here: https://comp410.tfspreview.com/DefaultCollection/Comp410f12%20Main%20Project/_workitems/edit/115
 
This past week, the GUI team focused on getting a GUI up in HTML5 for the final project. Nathan and I were tasked with examining the library jsPlumb and attempting to create an HTML5 version of the MainWindow module workspace from the warmup project. I was able to put together a dumb, basic version of the module workspace using jsPlumb that at least demonstrates a lot of the functionality we'd need, such as typing terminals, handling terminal connections before they are made, dragging and dropping, adding a module to the space, and showing a label with a value that grows in size upon hovering over it with the mouse. Tasks here: https://comp410.tfspreview.com/DefaultCollection/Comp410f12%20Main%20Project/_workitems/edit/120, https://comp410.tfspreview.com/DefaultCollection/Comp410f12%20Main%20Project/_workitems/edit/163
 (7%) 
 
 

Task 119: add multiplication/division of SIUnits

also fixed a bunch of comparison edge cases I missed on the first pass.

 (7%) 
 
 

Task 114, went through an MVC tutorial

Task 123, created the partial-view of a factory

Task 159, created a basic skeleton C# class for a factory to represent in our Model of the GUI MVC design.

Task 155, handled all the Forward and Reverse Integrations between branches in maintaining a clean TFS workspace​

 (7%) 
 
 

​My tasks were: 

Comb through jsplumb code.  The purpose of this task was to understand jsPlumb to the point where I can implement terminals for the project.  

Integrate jsPlumb functionality into GUI branch.  I helped Victor with this task by troubleshooting with him.  

Create a c# class for terminals.  Done, this task is part of a subgoal that should be labeled Get a GUI running in HTML5.  

 (7%) 
 

Total: 14

4. What milestone items were left uncompleted?  Be specific!

 

Task 148: Create External Interfaces for Each System From Use Case Diagram (75% finished)

Version 0 was finished on Thursday 10/25 with some minor revisions made over the weekend. After completion of this task, I had created subtasks for the controller team to reconcile differences between the interfaces I drafted and the interfaces that were being used by the systems. The controller team will be able to release version 1 by Wednesday. I still need to iron out some of the interfaces differences with the modules team (e.g. IModule/IModuleFactory/ITerminal/etc). 

Task 149:​​ Create System Block Diagram from API & Use Cases

I probably could have made a new SBD with just the use cases, but I decided it would be more important to get a good API draft created first (which was unfortunately not completed as well). Also I think that when the APIs are completed, the System Block Diagram will be more accurate and also more understandable. 

 (7%) 
 
 

​ 

Draft Specs & Recs for This Year - Started working on the specs and recs for this year, drawing off of the final version from last year. Did not make much progress, though, mostly because I needed to confirm definitions and overall design. Should make more progress as the last details between subsystems and their APIs are complete, which should be done by Wed. Available here.
 

 

 (7%) 
 
 

Task 128: API for simulation manager
See Task 151.

Task 151: Update ISimulationManager, IModelManager Interfaces

These interfaces DO have corresponding interfaces in the Controller's DEV branch. Unfortunately, I only helped create them, and in the case of ISimulationManager, we still need to integrate the Controller's ISimulationManager with the Model's IModulesManager (actually the Simulation Manager).

So they exist, but not in the form we'd like. Also, a lot of people who did most of the work were not me.

(Integration remains.)

 (7%) 
 
 

The design of modules was still being finalized and migrated over to the main project. It wasn't feasible to implement concrete models when the design was still shifting. 

 (7%) 
 
 

​What now is still left though we were able to complete the Task 60 which was responsible of putting the Demo GUI code on to the azure we have not completed the task 146 as we are still lacking the integration of the GUI code with the Module team code as they have not added their code to the repository or there were change some changes in their storage mechanism and Controller also have not even given the API for the storage.

but by 10/28 they have uploaded their code to the repository so this sprint we would be creating the task to integrate the code and look in to the commnication between n numbers of web role with m numbers of worker role for the scalability purpose as already the task for this has been created Task 137​.


 (7%) 
 
 

​For Task 135, the method of communication (a CloudQueue) is not what we want for our final implementation, because of performance issues.  However, Apoorv/Damien picked up right after me while I was out of town and managed to turn it into a TCP endpoint: Task 147​

 (7%) 
 
 

Task 153​: I have a list of parameters the GUI needs from the outside world .This can be finalized only if the module team figures out what they are passing to the outside system. This won’t happen until every teams definition is the same. This will be nailed out by tomorrow and every team will have a list of API ready to use.

Task 124 : Accordion is 90% complete .Will be updated once we start building up the results page. Its not of high priority now.

 (7%) 
 
 

​complete testing of deserialization of modules still needs to be tested. I've currently tested the ability to get a module back with the correct property values and lambda, but did not actually try computing values through the module. I expect this to work, and if it doesn't, i expect the fix will be switching from returning a new AModule to a new CompuationModule.

 (7%) 
 
 

Task 62

This seemingly-simple task was to identify code from our warmup project that could be reused in the main project. Unfortunately, most of my tasks have delved into storage code, rather than networking code, so it hasn't been a high priority for me.


Task 165

This is my current problem task. I am trying to find a form of data which can represent a function and be stored on the cloud. Googling has shown me how to convert a delegate into a byte array, but not how to reform it. If I can figure this out, we should be able to store a complete module onto the cloud fairly easily.

 (7%) 
 
 

​This is part of the Controller Team initiative for defining interfaces between the subsystems:

Task 150:Update Interfaces for IModuleManager, IParameterManager​

We've reviewed the interfaces quite a bit, within the controller team and in between the modules and controller team. We underestimated how much time it would take to nail down the specifics of the interfaces.

 (7%) 
 
 

https://comp410.tfspreview.com/DefaultCollection/Comp410f12%20Main%20Project/_workitems/edit/42

https://comp410.tfspreview.com/DefaultCollection/Comp410f12%20Main%20Project/_workitems/edit/43

Both of these tasks are assigned to me, however they are of a lower/later priority than getting the GUI up in HTML5. Eventually we will get to them, but for now they are technically uncomplete.

Also, although I feel I attained the milestone objective of getting jsPlumb functionality into our page, I know there is more to be done in respect to this as we start to cater it to the actual needs of the final project. There is a lot of code cleanup that should also be done, but I feel that these will be milestone items for the next two weeks.​

 (7%) 
 
 

Task 118: ModuleManager (this is the SimulationManager in the use case diagram) implementation

-I started this during the first week of the sprint and participated in some design meetings, but then a ton of work fell in my lap and I got literally nothing done after that point.

 (7%) 
 
 

Task 107, have basic "prototype" project functionality in the final project by class 10/29

The goal of the class was to have the ability to create modules out of a palette, wire them together, and be able to delete them by 10/29.  This milestone was not met.  Our current progress involves having a palette where we can draw factories, double-clicking on factories to create a module (view only) in the main window, and using jsPlumb to draw modules with terminals, drag ability, and connections.  These views have no backed to them, it is only hard-coded C# that adds a bunch of divs to the palette window.  When factory partial views are double-clicked, js handles all the drawing of a module.  No connection with a backend now.

 (7%) 
 
 

​This task is of low priority compared to my other tasks.

Warmup Project Graphing​.  I imagine this task's name will change to Main project Graphing, but nevertheless it's low priority right now.  

 (7%) 
 

Total: 14

5. Additional Comments

 

​I'm surprised that I ended up not having any tasks from Networking. Although this seems consistent with what I said in Journal 10 about being in more of a support role for networking this sprint. 

I think that the process of integrating warmup project functionality will make it a lot more obvious what changes I need to make to the Use Case Diagram and APIs and ultimately influence the System Block Diagram

 (20%) 
 
 

​ 

Keep on getting horrible dread feelings that we're really behind, but we're on schedule (in most things) actually. So we are actually doing alright, but we have to keep this pace consistently.

 

 (20%) 
 
 

Sprint 3 ended today, so I closed all of my tasks regardless of known completion status.

Arrgh NSF NSF NSF NSF NSF. The next two weeks will be... very carefully scheduled for me.

 (20%) 
 
 

​I got really sick last week after the customer demo with a sinus infection and I'm just now getting much better. This unfortunately affected my productivity last week. I was still able to participate in modules meetings and Kevin and I made significant progress defining module functionality (how events are going to work, how timing is going to work, how to abstract module definitions down to a simple list of inputs/outputs and a lambda).

 (20%) 
 
 

While it may have not been realistic to reach Task 107 by Monday, I still feel disappointed to have not reached this goal.  Our class is working hard, so it is a bit demoralizing to still not be able to achieve a goal we laid out for ourselves.  I look at this as a problem in the overall progress of the class and worry about having time to add all the features we have designed for.​

 (20%) 
 

Total: 5