Code Monkey home page Code Monkey logo

poo-energetic-system's Introduction

324CA Ciorceanu Andrei-Razvan

Sumar : 
Tema presupune simularea unui ecosistem de producatori/consumatori de energie electrica.
Input :
Clasa SimulationInputData contine toate detaliile de input:
	- numberOfTurns 
	- InitialData - listele initiale cu consumatori si distribuitori 
	- MonthlyUpdates - listele de consumatori noi si CostChange
	- CostChange- schimbarile pentru distribuitori

Clase: 
Consumer, Producer ce extind Entity - modeleaza notiunile de entitate in piata respectiv consumatori/consumatori
Entity - un identificator, buget si un flag de faliment 
Consumer - detine functii ce modifica bugetul ( daca poate plati un contract, daca e falimentar)
Distributor - detine functii ce modifica bugetul ( producerea de oferte, daca poate plati un contract, daca e falimentar )

Offer - modeleaza o oferta data de un distribuitor pe piata cu un pret si o perioada
Contract ce extinde Offer - provide din detaliile unei oferte si leaga oferta de consumatori
	- are stari interne in functie de actiunile contractului :
		- ACTIVE - un contract eligibil pentru a fi platit de catre consumatori catre producatori/consumatori
		- POSTPONED - un contract amanat etapa in care nu are un cost pentru consumatori si nici un profit pentru distribuitori
		- EXPIRED - un contract ce a ajuns la final ce urmeaza sa fie eliminat 

ContractService - SINGLETON -  manager pentru oferte si contracte
	- detine ofertele si adauga/modifica/sterge ofertele primite de la distribuitori
	- detine contractele adauga/modifica/sterge contracte cu consumatorii
	- detine detalii despre contracte in momentul expirarii

EntityFactory - factory method pattern pentru producerea de entitati	


Driverul procesarii este reprezentat de clasa Simulation, care efectueaza toate etapele simularii:
Simulation : SINGLETON
	- setup  - importa starea initiala a consumatorilor/producatorilor
	- apply  - adauga noi consumatori
			 - face update la detaliile producatorilor
	- offer  - pentru toti distribuitorii produce cate o oferta(Offer class) 
	- assign - pentru toti consumatorii produce un contract(Contract class) care leaga consumatorii de distribuitori
	- update - executa schimbarile de buget pentru consumatori si face modificarile de contract in cazul unui faliment
			 - muta contractele in luna urmatoare 
			 - executa schimbarile de buget pentru distribuitori si face modificarile de contracte in cazul unui faliment
Simulation va executa aceste stagii la fiecare turn si va contine starea finala dupa ultimul turn. 
Folosing jackson, scriu aceasta clasa in fisierul de iesire la finalul simularii.

poo-energetic-system's People

Contributors

andreiciorceanu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.