FOSSEE Summer Fellowship 2020 - Xcos

Please keep visiting this page for updates
Last updated on 01 April 2020

Due to the outbreak of COVID-19 and travel restrictions placed by IIT Bombay, the FOSSEE Summer Fellowship 2020 will be offered remotely. The FOSSEE team will contact the selected candidates through emails soon.

General Instructions:
  1. There are two screening tasks available under Xcos course.
  2. We recommend you focus on one task and submit it successfully.

Description of the Screening Task

  1. Install Scilab 6.0.2 or Scilab 5.5.2.
  2. Open Xcos.
  3. Prepare a block diagram using one (or more) of the specified blocks (given below). Blocks not in the list can also be additionally used in that block diagram. In particular, a Source Block may be required to give suitable input and a Sink Block may be required to view/store the output.
  4. Save the file as a .xcos file. Any other format is not accepted.
  5. (Optional) If a prerequisite Scilab file is required, please save this file as a .sci file. Any other format is not accepted.
  6. Test the diagram. You should see the appropriate output. The output will typically be in the form of a graph, though other output formats are also acceptable. 
  7. Save the output in an appropriate format. For graphical output, save it in a .png file.
  8. Prepare more such diagrams. It would be better if your other diagrams use other blocks from the specified list.

List of specified blocks

  1. AUTOMAT
  2. CLKFROM + CLKGOTO
  3. CSCOPXY
  4. DIFF_f
  5. DLRADAPT_f
  6. DLSS
  7. GAIN_f
  8. INTRP2BLK_f
  9. MATMAGPHI / MATPINV / MATSUM / MATTRAN / MATZCONJ / MATZREIM / SUBMAT
  10. MAXMIN
  11. PDE
  12. PNP
  13. ROOTCOEF
  14. VVsourceAC
  15. ZCROSS_f

Notes

  • Xcos diagrams prepared using Scilab 6.0.2 will not open in Scilab 5.5.2.
  • Diagrams containing different matrix related blocks will be counted as one submission. e.g. if one diagram contains MATMAGPHI and another one contains MATZCONJ, the diagrams will be counted as one submission (if other blocks from the list are not being used).

Technical Requirements

Knowledge of Xcos / Scilab

Resources

Refer to Spoken Tutorials on Xcos to start learning Xcos.

The following references may be useful for additional learning:

  1. Scilab / Xcos
  2. Youtube

Procedure to Submit

    1. Prepare a project directory in a .zip format which has the following:
      1. A separate directory per diagram (e.g. matriximg)
        1. In that directory, the .xcos file must be present. Use the same name as the directory. (e.g. matriximg.xcos)
        2. Any prerequisite .sci file may be present. Use the same name as the directory. (e.g. matriximg.sci)
        3. Any output file(s) may be present. Use the same name as the directory. Add numbers to the name. (e.g. matriximg-1.pdf and matriximg-2.png)
        4. Any additional resources.
      2. If a diagram depends on another diagram, please create a README file and mention this dependency. e.g., when the output workspace of one diagram is used as input of another one.
    2. Submit the .zip file in the submission portal.

Click here to submit.

Evaluation Criteria

The completed Xcos Diagrams with suitable output will be evaluated on

    1. The number of blocks used from the specified list in the block diagrams.
    2. The number of block diagrams involving the specified blocks.
    3. If a block from the specified list has fewer completed submissions across all candidates, your block diagram containing that block will be given more preference.
    4. If your block diagram has been copied in another submission, both the diagrams will be rejected.
    5. If plagiarism is detected, the block diagram will be rejected.

Description of the screening task

  1. Download the sample xcos files from here. Xcos files (.xcos) are xml files with Xcos specific tags.
  2. The files have been prepared using Scilab 6.0.2 and Scilab 5.5.2. Installing Scilab is not mandatory, but it may help you in testing your stylesheets faster.
  3. For command-line processing, download Saxon-HE.
  4. Part A: Prepare an XSL stylesheet that will transform the Scilab 6.0.2 file to a Scilab 5.5.2 file. The transformed xcos file must be supported by both Scilab 5.5.2 and Scilab 6.0.2. In case, a Scilab 6.0.2 file cannot be converted, an appropriate error message must be printed and the output diagram must not be created. The stylesheet must be named Scilab-602-to-552.xsl.
  5. Part B: Prepare an XSL stylesheet that will convert the Scilab 5.5.2 file to a Scilab 6.0.2 file. The transformed xcos file must be supported by Scilab 6.0.2 only. In case, a Scilab 5.5.2 file cannot be converted, an appropriate error message must be printed and the output diagram must not be created. The stylesheet must be named Scilab-552-to-602.xsl.

Notes

  • Xcos diagrams prepared using Scilab 6.0.2 will not open in Scilab 5.5.2.
  • Ubuntu users can also install Saxon-HE using:

apt install libsaxonhe-java

  • If Java version is installed, the command line will be of this format:

    java -jar /usr/share/java/Saxon-HE.jar -s:input.xml -xsl:Scilab.xsl -o:output.xml

    where

    • Saxon-HE.jar is the jar downloaded and installed in /usr/share/java/
    • input.xml is the sample file provided by us, 
    • Scilab.xsl is the xsl file you have created,  and 
    • output.xml is the output file created after processing.

Technical Requirements

Knowledge of XML / XSL

Resources

Introduction to XML

What Is XSL

XSLT Transformation

Procedure to Submit

Create a zip file containing the following files:

  1. README      (a text file documenting how to use the stylesheets)
  2. Scilab-602-to-552.xsl   (a stylesheet for Part A)
  3. Scilab-552-to-602.xsl   (a stylesheet for Part B)
  4. Any wrapper scripts

Click here to submit.

Evaluation Criteria

The completed stylesheets will be evaluated on:

      1. Documentation of stylesheet
      2. The correctness of the output. The output should be an XML file with correct tags.
      3. Self-test: after processing a diagram through both stylesheets in the correct order, we should get the same diagram back (ignoring space changes, ordering of attributes, and equivalent HTML entities).
      4. If your stylesheet has been copied in another submission, both the submissions will be rejected.
      5. If plagiarism is detected, the submission will be rejected.