CSE3311-Team8 / SampleSLProject

This project will enable users to sample open source Simulink projects
2 stars 0 forks source link

Add Simulink models metric as advanced filtering options #8

Open 50417 opened 2 years ago

50417 commented 2 years ago

Use the <GitHub/MATC>-Models Table as a filtering option in the UI.

The filtering attributes to include in the UI are:

  1. _block_count (show as Block counts),
  2. Agg_Subsystem_count (show as Subsystem Count)
  3. Hierarchy_depth
  4. Library Linked Block Count
  5. CComplexity (show as Cyclomatic Complexity)
  6. Alge_loop_cnt (Show as Algebraic Loop Count)
  7. target_hw (Show as Target Hardware)
  8. solver_type
  9. sim_mode(Show as Simulation mode)
  10. unique_sfun_count (Unique S-Function Count)
  11. unique_mdl_refe_count(Show as Unique Model Reference Count)

Some of the attributes need discrete value/option while some are integers. Based on that, you can use a drop down menu to show available discrete value or give an option to user to enter min-max integer value.

Note that there are three different _block_count (SCHK_block_count, SLDiag_block_count and C_corpus_blk_count) in the table. Essentially, there are 3 tools to get block counts of Simulink models. So in the UI, you can have 3-option drop down menu (1. Exclude library-imported block, 2. Include library-imported block via sldiagnostics and 3. Include library-imported block via custom tool) alongside Block Count for user to choose from. For Exclude library-imported block, query SCHK_block_count. For Include library-imported block via sldiagnostics, query SLDiag_block_count. The actually name of the 3-options may need to be changed later

carlos-uresti commented 2 years ago

This may sound odd but could make a brief sketch or layout, it would really help me with tying everything together.

50417 commented 2 years ago

Here is a rough sketch of the UI. 277316785_2312577518889501_3710828540865113706_n

This is just a suggestion to give an idea of what kind of input to take from user. You can change the layout as you see fit.

carlos-uresti commented 2 years ago

Thank you for the sketch. I know you asked us to include a model_files column in our project tables but some of those projects have large number of files, 100 or more, associated with it. Displaying the model files takes up a large amount of space on the screen. Can you look in the MATC projects table and see what I'm talking about. Also, the licenses for the MATC projects appear to be some type of encrypted string which are too large to display in a dropdown menu, plus the user wouldn't be able to tell the type of license. If you go to the site for each individual MATC project, there is a menu there where you can find the type of license for each one but there is no way to tell from MATC proejct file. I am using hardcoded values at the moment because of this, do you have any suggestion on how to deal with this issue?

50417 commented 2 years ago
  1. You don't have to display the text in MATLAB Central projects in the drop down menu. You can display it as BSD and query accordingly. Currently all MATLAB Central project in the provided database have BSD license. They could potentially have non-BSD license (or other kind of license) in the future but for now they are all BSD license. Reference
  2. On the result page, you can just display the number of models (example: 4,100 and so on.). Make the number clickable. Once the user clicks it, display the 10-15 models and its information formatted accordingly with an option to view more.