Skip to content

Engineering Notebook Luis Mora

Luis Mora edited this page Nov 30, 2020 · 42 revisions

Engineering Notebook -- Luis Mora

11/23/20 - 11/29/2020

  • coded solution to solve trim internal nodes bug and repetitive edges bug
  • helped aaron solve more bugs
  • working on documentation
    • worked on SRS and SDS revision
    • working on paper
  • will continue working on paper

11/9/20 - 11/20/20

  • Implemented the -L functionality for the configurator
    • used a filehandler
    • there was a problem (race?) trying to use filehandler on the fly
      • sometimes the filehandler was not created when setting level
    • found a way to format log files
    • figured out how to modify gradle's clean function to remove log files
  • Corrina helped me establish better levels for logger and in better places
  • fixed bug that was introduced in the configurator -- logger should log everything while the handlers decide what to print
  • added check for empty log file passed
  • helped aaron with using streams to handle concatenate our lists of nodes
  • Aaron's node problem could be solved by handling the creation of unwanted nodes in the cleanupNodes function and cleanupEdges function instead of dynamically (leads to complicated logic/hardcoding/null pointers)-- i'll pitch it to him in the morning - it's 1 am
  • created a -o option for cmd line arguments

11/2/20 - 11/6/20

  • investigating examples of Logger implementations in Java
  • root handler is giving issues in setting a level for the other loggers.
    • trying to figure out how to use the root handler for loggers
    • tried avoiding using the root logger -- now facing issues of double printing as a result
    • removed the root logger successfully
  • adding a logger implementation to the Configurator caused some tests to fail
    • surrounded code with try catch to allows tests to pass
  • current implementation of logger has a behavior in which the verbosity should be the first argument passed to have information about file/directory validation printed -- could be intended

10/26/2020 - 10/29/2020

  • Reviewed code
  • Recommended changes to Corrina's branch to optimize code
  • Found a mistake within my code that would lead to problems later on
    • nodes are unique in the global array but not their ids
    • fixed this by giving unique ids to nodes before adding to the global array
    • fixed that the edge clean up function -- it relies on the global node array being fixed already -- order matters
  • testing module's toString function led to the discovery of similar module names (difference is UPPER/LOWER case)
    • confirmed to be (diag/algo/cans) cfg files
    • fixed
  • private functions have not been renamed by doxygen to reflect upper/lowercase convention
    • needs a fix
    • probably running doxygen again
    • it has not been done since aaron rewrote the modules according to convention
  • found out that the number of nodes in the project are a lot less than previously thought (300s vs 1200s)
  • starting to look at logger examples in java to implement in sprint 3
    • sprint 3 should add a -o and -v to the configurator and log appropriately

10/19/2020 - 10/23/2020

  • have been working on changing the design of graph - node to node - edge
  • merged second draft of parser --- parser absorbed job of graph manipulator
  • graph objects were removed and will be handled with Node and Edge type array lists
  • handling edge cases with aaron for module prefixes --- ex/ RTOS functions do not follow the XXX_function naming convention ---- ex/ __attribute__ is ignored as it produces an empty string
  • removed duplicate nodes from global arraylist
  • am and will work on finishing parser with team

10/12/20 - 10/17/20

  • worked on initial implementation of parser
  • handled major cases except edge case
  • helped in refactoring the parser -- suggested using maps instead of loops to speed up process
  • brainstorming/designing next step in the logic flow -- removing internal connections within manipulator
  • finding and solving errors in logic flow --- are nodes added unique? how are we saving connections?
  • design - should the parser make modules or the manipulator?
  • thinking of test cases for parser

Sometime in the beginning

  • worked on configurator -- our class that handles the command line arguements
  • tried breaking it various different ways till we came up with a solid command line handler
  • helped create test cases for our initial classes

Things I have learned this semester

  • Markdown
  • Git Links/ Wiki's
  • how to work with Gradle
    • build.gradle contains the settings needed to automate the build process
    • settings.gradle specifies where the project starts
    • gradle run --args="provide java application arguments here"

Clone this wiki locally