Weekly outline

  • General

    Spoštovani! / Dear Student: 

    Predavanja & vaje: vsak petek med 8-11:00 @ https://meet.jit.si/FogComputing

    (Lectures & project work): every Friday, 8-11:00 @ https://meet.jit.si/FogComputing

    Lep pozdrav, / Best regards,

    Vlado Stankovski


  • 17 February - 23 February

    1. teden: Uvod v računalništvo v megli. Računalništvo v megli in z njimi povezani koncepti. Virtualizacija, federacije in druge oblike združevanja ponudnikov računalništva v oblaku. Računalniški kontinuum: internet stvari, računalništvo na robu, v megli in v oblaku. Motivacija za računalništvo v megli: tokovi masovnih podatkov - Problem štirih “V”-jev masovnih podatkov. Organizacijski in nadzorni slogi. Možnosti decentralizacije. Primeri razplastenih arhitektur. Dinamično spreminjanje obratovalnih pogojev aplikacij računalništva v megli. Energetska učinkovitost, zasebnost, varnost in druge visokonivojske zahteve. DevOps proces za razvoj aplikacij računalništva v megli. Vloga semantike pri procesu integracije. Laboratorijske vaje: Delo se bo začelo s preizkusom algoritmov in modelov globokega učenja (npr. s TensorFlow). Študentje bodo pozvani k izvedbi predloga projekta do konca tretjega tedna.

    Week 1: Introduction to fog computing. Fog computing and related concepts. Virtualisation and multi-cloud environments. The computing continuum: the Internet of Things, edge, fog and cloud computing. Motivation for fog computing: Big Data pipelines – the four Vs of the Big Data problem. Organisation and control styles. Prospects of decentralisation. Related layered architectures and examples. Variability in fog computing. Energy efficiency and other high-level concerns. Overall DevOps process for delivering fog computing applications. The role of semantics in the integration process. Laboratory work: The work will begin by trying out ML models (e.g. with TensorFlow). The students will be reminded about the requirement to submit a project proposal by the end of the third week.

    • Projektna naloga (Project) File Uploaded 17/02/20, 15:35
  • 24 February - 1 March

    2. teden: Motivacija: pametne aplikacije in okolja. Strategija pametne specializacije v Sloveniji - področja in primeri uporabe. Analize zahtev. Večstopenjski načrti aplikacij. Samoprilagajanje sistema in aplikacij. Nameščanje in izvajanje. Laboratorijske vaje: Nadaljevanje iz prvega tedna.

    Week 2: Motivation: smart applications and environments. The strategy of smart specialisation in Slovenia – application areas and application examples. Requirements analyses. Multi-tier application designs. System and application adaptation approaches. Implementation and deployment styles. Laboratory work: Continued from the first week. 

    • 2 March - 8 March

      3. teden: Pristop združitve informacij. Primeri digitalnega dvojčka, razširjene virtualnosti, obveščanja in kibernetskih sistemov. Laboratorijske vaje bo prvotno aplikacijo za globoko učenje razširilo s funkcijo obveščanja. Predavatelj bo ocenil prve predloge projektov. Laboratorijske vaje: Razširitev aplikacije z 2. tedna s funkcijo obveščanja (npr. e-pošta, Slack).

      Week 3: Information fusion approaches. Digital twin, augmented virtuality, notification and cyber-physical systems examples.The laboratory work will extend the initial ML application with a notification functionality. The lecturer will accept and/or agree the initial project proposals. Laboratory work: Extend the application from week 2 with notification functionality (e.g. email, Slack).

    • 9 March - 15 March

      4. teden: Fenomen in praksa DevOps za računalništvo v megli. Korak za korakom skozi vse faze DevOps. Napredna delovna okolja (workbench) za programsko opremo, kot je SWITCH za časovno kritične aplikacije v oblaku. Pristop k orkestraciji. Laboratorijske vaje: študentje bodo sestavili in preizkusili delovno orodje Fabric8.

      Week 4: The DevOps culture and practice for fog computing. Step-by-step through all DevOps phases. Advanced workbenches for software engineering such as SWITCH for time-critical cloud applications. Approaches to orchestration. Laboratory work: the students will set-up and try out the Fabric8 workbench. 

      • 16 March - 22 March

        5. teden: Računalništvo zahtev za pametne storitve in aplikacije. Funkcionalne in nefunkcionalne zahteve. Kakovost storitve. Zahteve na visoki ravni. Energetska učinkovitost. Operativni stroški. Uporaba poenotenega jezika modeliranja za zajemanje zahtev. Kompromisi. Laboratorijske vaje: izdelava diagramov UML in analiza zahtev konkretne aplikacije, analiza postopka razvoja aplikacije globokega učenja.

        Week 5: Requirements engineering for smart services and applications. Functional and Non-Functional Requirements. Quality of Service. High-level requirements. Energy efficiency. Operational costs. Using UML to capture requirements. Trade-offs. Laboratory work: UML based requirements engineering for concrete problems at hand including the ML application under development.

        Reference: 

        [1] https://en.wikipedia.org/wiki/Requirements_analysis

        [2] https://en.wikipedia.org/wiki/Use_case

        [3] https://en.wikipedia.org/wiki/Unified_Modeling_Language

        [4] https://en.wikipedia.org/wiki/Scrum_(software_development)

        [5] Primer: http://www.entice-project.eu/deliverables  (glej D2.2)

        [6] Bolj poglobljeno: https://www.slideshare.net/JoaquinLeal/requirements-engineering-fundamentals-second-edition-73258516

      • 23 March - 29 March

        6. teden: Programski in računalniški viri ter nadzor. Programska oprema in računalniški viri v celotnem spektru računalništva roba do oblaka. Modeli virov. Pristopi spremljanja na več ravneh. Infrastruktura, vsebnik, virtualka, meritve ravni aplikacije. Primerjava sistemov za spremljanje. Pristopi modeliranja kvalitete storitev. Zagotavljanje, razvrščanje in preverjanje možnosti uvajanja v oblak. Laboratorijske vaje: Uvedena bodo orodja za spremljanje izbrane aplikacije globokega učenja, kot je npr. Prometheus z vizualizacijo Banana.

        Week 6: Software and computing resources and monitoring. Software and computing resources across the edge-to-cloud spectrum. Resource models. Multi-level monitoring approaches. Infrastructure, container, Virtual Machine (VM), Application level metrics. Monitoring systems comparison. QoS modelling approaches. Assurances, ranking and verification of cloud deployment options. Laboratory work: Monitoring tools such as Prometheus with Banana visualisation will be deployed to monitoring the chosen ML application.

        Reference

        [1] Monitoring self-adaptive applications within edge computing frameworks: A state-of-the-art review, https://www.sciencedirect.com/science/article/pii/S016412121730256X


        • 30 March - 5 April

          7. teden: Upravljanje slik vsebnikov in virtualnih strojev. Slike vsebnikov in virtualnih strojev. Teorija in praksa priprave, fragmentacija, optimizacija, dostava in delovanje slik ter shrambe slik vsebnikov in virtualnih strojev. Primer optimizirane shrambe slik virtualnih strojev ENTICE. Laboratorijske vaje: Predstavitev orodja Docker Compose. Namestitev algoritma in modela za globoko učenje v vsebnik. Izvedbe različnih operacij z vsebniki. Ob koncu tedna bodo študentje predstavili trenutno stanje svojega projekta.

          Week 7: Container and VM images management. Anatomy of a container and VM images. Theory and practice of preparation, fragmentation, optimisation, delivery and images repositories operation. Laboratory work: Introduction to Docker compose. Containerise the ML application and the monitoring system. The ENTICE repository of VM images. Perform different operations with containers. At the end of this week, the students will present the current status of their project, and will pass a mid-semester milestone. 

        • 6 April - 12 April

          8. teden: Načrtovanje večstopenjskih aplikacij. Pristopi k reševanju različnih nefunkcionalnih zahtev z zasnovo pametne aplikacije. Računalništvo na robu. Izvedba vodov masovnih podatkov od roba do oblaka. Uporaba ponudnikov hibridnih oblakov (infrastruktura kot storitev, platforma kot storitev, programje kot storitev, predmet kot storitev, itd.) Laboratorijske vaje: študentje bodo lahko primerjali obstoječe zasnove in se ukvarjali z različnimi izboljšavami za obravnavo aplikativnih zahtev. Nadaljevali bodo z delom na projektu.

          Week 8: Multi-tier application designs. Approaches for addressing various non-functional requirements with the design of the smart application. Computing at the Edge. Implementation of Big Data pipelines from the edge to the cloud. Using hybrid cloud providers (IaaS, PaaS, SaaS etc.). Laboratory work: the students will have the ability to compare their existing designs and consider various improvements to address the application requirements. They will proceed with their project work.

        • 13 April - 19 April

          9. teden: Uporaba metod globokega učenja v aplikacijah računalništva v megli. Razvrstitev zahtevnejših algoritmov in modelov globokega učenja in postopki njihovega nameščanja v vsebnike. Taksonomija metod umetne inteligence ter njihove možnosti za implementacijo v vsebnikih. Večstopenjska postavitev vsebnikov (mikrostoritev) od roba omrežja vse do oblaka. Postopki optimizacije izbranih metod globokega učenja za različne namene (npr. varčevanje z energijo, pospeševanje, itd.) Laboratorijske vaje: spremljanje kakovosti storitve različnih namenskih različic aplikacij globokega učenja.

          Week 9: Implementation of AI methods for fog computing.  Taxonomy and containerisation of AI methods. Splitting AI methods to be deployed between the edge and the cloud. Optimisation of AI methods for different purposes (e.g. saving energy, speed-up etc.) Laboratory work: QoS monitoring of different-purpose variants of the ML application.

        • 20 April - 26 April

          10. teden: Primerjalne analize sistemov tokov masovnih podatkov. Platforme in integracija interneta stvari. Večstopenjski tokovi masovnih podatkov. Zahteve za elastičnost in razširljivost. Vrste podatkov. Tok podatkov. Dostava podatkov k procesom v primerjavi z dostavo procesov k podatkovnim virom (npr. na rob omrežja). Čezmejno upravljanje podatkov, npr. z namenom ohranjanja zasebnosti. Laboratorijske vaje: preizkus napredne platforme interneta stvari (npr. SensiNact). Namestitev algoritma in modela za globoko učenje v vsebnik.

          Week 10: Big Data pipelines and data management principles in fog computing. IoT platforms and integration. Multi-tier Big Data pipelines. Elasticity and scalability requirements. Data types. Data streams. Moving data to processes versus moving processes to data. Cross-border data management. Laboratory work: Trying out an advanced IoT platform (e.g. SensiNact). Integration requirements with the containerised ML application. 

        • 27 April - 3 May

          11. teden: Upravljanje s tokovi masovnih podatkov ter načela upravljanja podatkov v računalništvu v megli. Pregled metodologij in tehnik za primerjalno analizo aplikacij za obdelavo masovnih podatkov. Kvalitativno in kvantitativno vrednotenje aplikacij. Laboratorijske vaje: praktično delo z Big Data Bench 4.0. Izdelava primerjalne analize za izbrano aplikacijo globokega učenja.

          Week 11: Big Data systems benchmarking. An overview of Big Data benchmarking methodologies and tools. Qualitative and quantitative evaluation. Benchmark designs in the context of smart applications. Laboratory work: Practical work with the Big Data Bench 4.0 benchmark. Designing benchmark for the ML application.

          • 4 May - 10 May

            12. teden: Uvod v tehnologijo veriženja blokov. Zgodovina, zasnova, tehnologija in filozofski vidiki tehnologije veriženja blokov (blockchaina). Uskladitev tehnologije veriženje blokov z računalništvom v megli. Poslovni modeli interneta stvari, umetne inteligence, računalništva v oblaku in tehnologije veriženja blokov. Pristopi za monetizacijo storitev. Primeri storitev in aplikacij, ki temeljijo na tehnologiji veriženju blokov. Laboratorijske vaje: zasnova pristopa monetizacije za izbrano aplikacijo globokega učenja.

            Week 12: Introduction to blockchain. History, design, technology and philosophical aspects of blockchain. Blockchain alignment with fog computing. IoT, AI, cloud and blockchain based business models. Ledger designs. Public and private ledgers. Examples of blockchain-based services and applications. Laboratory work: design a monetisation approach for the ML application.

            Na vajah se bomo v teh zadnjih nekaj tednih naučili uporabiti Fri žetone.
            In the lab we shall learn in the last few weeks how to use our Fri tokens. 
            Specimen

          • 11 May - 17 May

            13.teden: Pametne pogodbe in pametni preroki. Programski jeziki, metode, sprožilci, pogodbe, decentralizirani preroki. Predloge in primeri sporazumov na ravni storitev. Uporaba pametnih pogodb pri razvoju večstopenjskih aplikacij. Laboratorijske vaje: Študenti bodo izdelali pametno pogodbo (npr. v jeziku Solidity).

            Week 13: Smart Contracts and Smart Oracles. Programming languages, methods, triggers, contracts, decentralised oracles. Service-Level Agreements styles and examples. Using Smart Contracts with multi-tier applications. Laboratory work: The students will write a Smart Contracts (e.g. in Solidity). 

            • 18 May - 24 May

              14. teden: Visokonivojske zahteve. Doseganje zanesljivosti, zaupanja, varnosti in zasebnosti pri aplikacijah računalništva v megli. Preučevanje različnih pristopov. Uporaba semantike pri veriženju blokov, npr. ont.io. Laboratorijske vaje: Študentje bodo dokončali pametno pogodbo, ki omogoča monetizacijo za aplikacijo globokega učenja.

              Week 14: High-level concerns. Achieving dependability, trust, security and privacy in fog computing. Study of various approaches. Using semantics in blockchain (e.g. ont.io). Laboratory work: The students will finalise a Smart Contract implementing monetisation for the ML application.

              • 25 May - 31 May

                15. teden: Pobuda naslednje generacije interneta. Analiza trenutnega stanja tehnologij in trendov. Vizija interneta, osredotočenega na ljudi. Laboratorijske vaje: Študenti bodo predstavili rezultate svojih projektov.

                Week 15: Next Generation Internet initiatives. A state-of-the-art analyses of upcoming new technologies and trends. The vision of human-centred Internet. Laboratory work: The students will present the outcome of their projects.