ICM – Computer Science Major – Course unit on Interoperability of Data and Semantics and M1 Cyber Physical and Social Systems – Course unit on System Modeling

Institut Henri Fayol - MINES Saint-Étienne

Warning
This is the 2024 edition. Wait for input.

Objectives and deliverable

You will gain experience through this practical work, where you need to demonstrate your know-how based on screenshots, documents, and programs.

The deadline for this practical work is 2026-01-14

Note
submit your work as LASTNAME.zip to https://ecampus.emse.fr/mod/assign/view.php?id=34361 (expiration date/time: 2026-01-15 01:00 )

The zip should contain one directory per section below. Each directory must contain screenshots, documents, or the sources of a program, that together demonstrate you acquired each know-how listed in the corresponding section.

Note
For this practical work it’s ok to use LLMs. Just make sure the output does what I ask !

Example: Sources of a program

If a Section 01 - xyz mentions:

Write a python script to…​

Your deliverable MUST contain a folder (named for ex. 01) with the sources of a simple script to do what is asked.

Tip
You SHOULD use any relevant existing libraries for addressing the problems, and use generative AI techniques if appropriate.
Warning
Not a word document. Not a pdf document. Not a screenshot. No temporary files such as libraries or .venv folders.

Example: Videos or screenshots

If a Section 01 - xyz mentions:

Show me you can …​

Your deliverable MUST contain a folder (named for ex. 01) with the a video or a sequence of screenshots that demonstrate you know how to do what is asked.

Warning
Not a word document. Not a pdf document.

Example: Documents

If a Section 01 - xyz mentions:

Write a document that …​

Your deliverable MUST contain a folder (named for ex. 01) with the sources of the document (valid, with the right extension, etc).

Warning
Not a word document. Not a pdf document. Not a screenshot.

01 - Multimedia files

You should have made some videos and screenshots from the TFSD practical work.

Write a bash script that, given a directory, will:

  • find all the videos and compress them somehow using the ffmpeg CLI tool

  • find all the images and ensure they are in png with width 600 px using the ImageMagick CLI tool

Put the sources of the script in the report, and a (compressed) video that demonstrates its use.

02 - ENTSO-E

ENTSO-E, the European Network of Transmission System Operators, represents 40 electricity transmission system operators (TSOs) from 36 countries across Europe, thus extending beyond EU borders. ENTSO-E was established and given legal mandates by the EU’s Third Package for the Internal energy market in 2009, which aims at further liberalising the gas and electricity markets in the EU.

ENTSO-E’s Central Information Transparency Platform provides free access to fundamental data and information on pan-European wholesale energy generation, transmission, and consumption.

Documents are typically available as XML, with the schema defined at https://gitlab.entsoe.eu/transparency . In particular, file urn-entsoe-eu-wgedi-codelists.xsd will be of interest to this exercise (a pdf version of the content available in this file is available here)

The Energy Identification Coding (EIC) scheme is managed and maintained by ENTSO-E for the harmonisation and implementation of standardised electronic data interchanges, to facilitate cross-border exchanges and to efficiently and reliably identify different objects and parties relating to the Internal Energy Market (IEM) and its operations. Allocated international EIC Codes can be downloaded as XML here. Access to the EIC codes issued by Local Issuing Offices (LIO) can be found on the EIC LIO websites.

The description of an outage is described in the document iec62325-451-6-outage_v4_0.xsd, and folder transparency/xml-examples/Outages contains several examples of xml documents reporting outages.

  • Show me you can validate your XML documents online.

  • Show me you can prettify your XML documents online.

  • Show me you use a text editor with syntax highlighting for XML

  • Show me you can validate a XML document in your text editor

  • Show me you can prettify (format) a XML document in your text editor

  • Show me you can validate a XML document against a XML schema

  • Show me you can run a XPath query

  • Show me you can generate a set of classes for your preferred programming language (python, java, c++, …​) from a XML Schema document

  • Show me you can unmarshall an example document into instances of your objects

  • Write a script to parse an XML document reporting an outage, and query it to print a human-readable report of it.

03 - schema.org description

Write a JSON-LD document using the schema.org vocabulary (< 50 lines) that describes the general information about product https://www.senetic.fr/product/LS100-WL-868M

Tip
Some information is embedded in the source of the html file (with itemscope and itemtype attributes), it’s ok if you find a way to extract and use them.

04 - Open Data portals

Open data portals often expose some API for programmatic access. For example:

Your goal is to report on the recommended/enforced/used metadata/formats/schemas for some type of data in some open data portal.

Tip
you may limit the analysis to 10-15 datasets only.

A few examples: