Projekt

Obecné

Profil

Project architecture » Historie » Revize 8

Revize 7 (Alex Konig, 2021-04-27 12:52) → Revize 8/56 (Alex Konig, 2021-04-27 13:15)

h1. Project architecture 

 The application consists of two parts 

 * Server 
 * Client application 

 h1. Server architecture 

 In the following text will be specified the architecture of and the communication between parts of the server application. 

 In the simple visualisation below are displayed the relevant classes that are relevant for more than one main package of the server and requests that take place between the main packages. 
 Main packages of the server are the following:  
 * DataLoader 
 * Parser 
 * Model 
 * Connection 
 * WeatherPredictionParser 

 Main requests that take place within this system are: 
 * Connection asks for prediction for an input from user / requests retraining of the model 
 * Model asks Parser parser for information acquired from data 
 * Parser asks DataLoader data downloader for path to folder containing data 
 * Model asks WeatherPredictionParser for information about current weather prediction for today/tommorrow/day after tommorrow 

 h3. Configuration 

 The path to data folder itself is specified from user as a command line argument upon launching the application. 

 ? Config file 

 !basic_architecture_v4.png! 

 h2. Model architecture 

 h2. Interface model-parser 

 Handing over information in lists containing separate entries. 

 Method Parse() enables specifying the interval by which to divide the days. By default parses one day as one entry. 

 For example if a day is divided with a 3h interval for each day are created entries for the following times 

 * 7-10 
 * 10-13 
 * 13-16 
 * 16-19 

 h2. Parser architecture 

 Output from parser is relatively universal, The one thing that is not are zcu specific building tags. Those are noted in TagInfo and could be replaced by different ones. 

 Interesting classes to note are: 

 h3. Csv loader 

 Class responsible for loading input data files into memory. Can be swapped for a class processing different types of files as long as it provides the same methods. 

 h3. Output 

 Parser output is independent from input data, mostly relies on the tags used for different faculties. This and Jis and LogIn Parsers would have to be modified if this application was to be used with different input data. 

 !parser_architecture_v2.png! 

 h2. Interface parser-downloader 

 Parser asks for folder with data files. 

 h2. Loader architecture 

 Has to be able to handle request signaling dowload of new data, and requests for path to folder with data. 

 h1. Client application architecture 



 h1. Communication server-client