Big Data Szczecin

 https://wit.am.szczecin.pl/pl/studia-podyplomowe-big-data/opis-studiow-podyplomowych/


The Complete MATLAB Course: Beginner to Advanced!

https://www.youtube.com/watch?v=T_ekAD7U-wU




3 Java - Jcat

 instrukcja

https://ericsson.sharepoint.com/sites/RARBSINFRASTRUCTURE/Site6%20-%20Smart%20Site%20Controller%20under%20RA%20E%26P/Shared%20Documents/Execution%20Docs/WP4%20ERS%20Enclosures%20power%20system%20support/Product%20Development%20Phase/JCAT%20instruction/JCAT_SSM_InteliJ.docx?d=w01ee9986ea5e4c368c905e2ecaeaff67

branch (jcat + symulator)

JCAT_simulator_05_11


/repo/eblzmrc/encl_ss/source/node_tests/jcat/test-supportSystemManagement/src/main/java/com/ericsson/msran/test/UC6_UC7_UC8...

/helpers  - pomocnicze

/resources/beans/ -  konfiguracje nodów

/resources/suites = zdefiniowane siuts      TUTAJ dodaje sie pliki


TAGI: tescie  otagowane  @Test  i dodane w SUT

(nazwa klasy taka sama jak plik)

kolejne tagi:

@Setup

@Teardown



ZMIENNE w tescie  .java

moHandler  - reprezentuje MO

ssmNode    - reprezentuje Noda (czy byl crasch, potrzebnye do pobrania moHandlera, reset noda itp)

moHelper  - klasa pomocnicza



TRACE:

setTestInfo("

setTestFailure("



SETUP:

tcStartTime = Calendar.getInstance().getTime();    - pobiera czas to odkrycia czy byl crash


LDN lokalizacja:

/repo/eblzmrc/encl_ss/source/node_tests/jcat/test-supportSystemManagement/src/main/java/com/ericsson/msran/test/backend/Ldn.java


MoHELPER  (klasa Michała)

void createMo(ManagedObjectHandler moHandlerString ldn)

sprawdza czy MO istnieje, jak nie to tworzy i sprawdza czy stworzyl.


void createMo(ManagedObjectHandler moHandlerManagedObject managedObject)

tworzy z innego obiektu (

uzywa: 

String ldn = managedObject.getLocalDistinguishedName();

Po co tworzyc z innego obiektu ?

bo przy tworzeniu PowerProfile pyta o overvoltage, więc trzeba stworzyć MOobject i go ustawic i dopiero stworzyc


void deleteMo(ManagedObjectHandler moHandlerString ldn)

kasuje, moze byc przeciążona podobnie jak wyżej


public void deleteMoRecursively(SmartSiteController nodeString ldn)

wysyła RDEL


boolean verifyAttribute(ManagedObjectHandler moHandlerString ldnString attributeNameString attributeValueint timeoutSeconds)

czy MO ma jakąś wartość 


void checkPMD(Date tcStartTimeSmartSiteController node)

czy był crasch


void configurePowerController(ManagedObjectHandler moHandler)

tworzy nasz PowerControler (z wykorzystaniem LDN zawartych w backend/Ldn.java )


void configurePowerProfile(ManagedObjectHandler moHandlerboolean attributesSynchronized)

tworzy PowerProfile z wykorzystaniem triku wczesniejszego stworzenia Mo i nadania mu wartosci 55)

użycie setAttribute ( ldn istniejącegoMo + nowy obiekt atrybutu, enum (liczba)

+ commit za każdym razem


boolean checkProductData (ManagedObjectHandler moHandlerString ldn)

czy istnieje product data i czy ma wartość



Kolejny helper to AlarmHelper (dane do alarmów backend/Alarm.java

boolean waitAlarmRaised(


boolean waitAlarmCeased(



Przykład UC3

(zadanie, stworzenie PowerControllera i ustawienie ProductDaty  - nastepuje po ustawieniu referencji na Serialport)

Test rozbity na 2 Testy: 

UC3_Create_two_PowerControllers

gdzie podobnie do helpera tworzy 2 PowerControllers

UC3_PowerController_productData_available

w Setup ustawiane zmienne

  tcStartTime - czas 

  ssmNode   - Node

  moHandler  - ManagedObjectHandler

Test rozbity na 3 etapy: Preconditions Sequence Postconditions

1) preconditions() 

    - sprawdza czy istnieje ldn controllera (moHandler.managedObjectExists(Ldn.SSC_LDN)

SSC_LDN = "ManagedElement=1,Equipment=1,FieldReplaceableUnit=Controller6610";

    - ustawia atrybut moHandler.setAttribute(Ldn.SSC_LDN, new ManagedObjectValueAttribute(

ADMINISTRATIVE_STATE,
                Status.UNLOCKED

    - verifySerialPorts()       sprawdza czy istnieje SerialPort

2) sequence()

- tworzy PowerController  moHelper.createMo(moHandler, Ldn.POWER_CONTROLLER_LDN_1);

- ustawia mu atr.  moHandler.setAttribute(Ldn.POWER_CONTROLLER_LDN_1...

- tworzy ConnectionPort i usyawia atrybuty

- ustawia referencje connectionPortu na SerialPort

3) postconditions()

- Checking if PowerController is ENABLED/DEGRADED and SET

assertThat(moHelper.verifyAttribute(moHandler, Ldn.POWER_CONTROLLER_LDN_1,  Attribute.OPERATIONAL_STATEStatus.ENABLED5) &&
                moHelper.verifyAttribute(moHandler, Ldn.POWER_CONTROLLER_LDN_1Attribute.AVAILABILITY_STATUSStatus.DEGRADED5))
                .withFailMessage("PowerController is not ENABLED/DEGRADED")
                .isTrue();


 assertThat(moHelper.checkProductData(moHandler, Ldn.POWER_CONTROLLER_LDN_1))
                .withFailMessage("ProductData not set")
                .isTrue();



JCAT and Simulator

Symulator polaczenie:

ssh oss@10.68.87.174 (dla 87) 

haslo: default


Po wgraniu softu i PRZED tworzneiem PowerControlerFRU aktywowac SerialPort

ssh root@10.68.161.87 

sudo chmod 666 /dev/ttyLP1

sudo chmod 666 /dev/ttyLP4


1) Stworzyć plik konfiguracji symulatora:

/repo/eblzmrc/encl_ss/source/node_tests/jcat/test-supportSystemManagement/src/main/resources/beans/CC6610_simulator87.xml

Przykład z połączoną konfiguracją dla Noda87

bean konfigurujący NODE87, uzywac w kodzie będziemy nazy listy " ericssonSiteControllerList "

<bean id="NODE87" class="StpResource">
    <property name="site" value="etk" />
    <property name="ericssonSiteControllerList">
      <list>
        <ref bean="CC6610_SIMULATOR87" />
      </list>
    </property>
    <property name="SmartSiteControllerList" ref="CC6610_NODE87"/>
  </bean>

(przedostarnia linia dla noda87, reszta dla symulatora)

nazwę NODE87 wpisujemy poźniej w konfigurację INTELIJ


dlasza konfiguracja dla node87 pozostaje taka sama jak w pliku dla node87

<bean id="CC6610_NODE87" class="SmartSiteControllerResource">

natomiast dla symulatora

<bean id="CC6610_SIMULATOR87" class="EricssonSiteControllerResource">
    <property name="name" value="hrzgitesc00061" />
    <property name="host" value="10.68.87.174" />
    <property name="serialPort" value="1" />
    <property name="cliResource" ref="CliResource" />
  </bean>

  <bean id="CliResource"
        class="com.ericsson.commonlibrary.resourcemanager.resourcedata.model.SshResource">
    <property name="host" value="10.68.87.174" />
    <property name="username" value="oss" />
    <property name="password" value="default" />
    <property name="port" value="22" />
    <property name="expectedRegexPrompt" value=">" />
  </bean>


Zmiany w samym pliku testów:

Dodać następujące includy:

import com.ericsson.commonlibrary.remotecli.Cli;

import com.ericsson.commonlibrary.resourcemanager.interfaces.EricssonSiteController;


w klasie dodać zmienne:

    private EricssonSiteController escNode;

    private Cli cli;


wydawanie polecen symultorowi:

           ssmNode = Rm.getSmartSiteControllerList().get(0);      //NODE
            escNode = Rm.getEricssonSiteControllerList().get(0);   //SYMULATOR
            setTestInfo("YYY simulator " + escNode.getName());
             moHandler = ssmNode.getManagedObjectHandler();

            cli = escNode.getColi();
            cli.connect();
            cli.send("startTransaction " + "t");
            cli.send("createMO " + "t" + " " + "SDN=0,SimulPowerSystem=1" + " " + "simulPowerSystemType=\"SIM_MC1800\"");
            cli.send("commit " + "t");

             assertThat(moHandler.managedObjectExists(Ldn.SSC_LDN))
                     .withFailMessage("System-created FRU representing Controller doesn't exist")
                     .isTrue();

            cli.disconnect();
        } catch (Exception e) {
            setTestFailure("Failed to get MOs");
        }

zestaw poleceń symulatora:

getc  - konfiguracja

getmo <MO instance>  - info o MO

getMOAttribute <MO instance> (displays MO attribute values)

test clearexit  - resetconfig&exit

getAlarmList (get alarm list)

clearAlarmList (clears alarm list)

deleteMO

test revision 



1. Creating new Serial port

startTransaction t 

createMO t SDN=0,SerialPort=1 

setMOAttribute t SDN=0,SerialPort=1 mode RS485 

setMOAttribute t SDN=0,SerialPort=1 dataBits 8 

setMOAttribute t SDN=0,SerialPort=1 protocol YDN23 

setMOAttribute t SDN=0,SerialPort=1 portNumber 1 

setMOAttribute t SDN=0,SerialPort=1 bitRate 9600 

commit t 

endtransaction t


2. Creating new Power system 

startTransaction t 

createmO t SDN=0,SimulPowerSystem=1 simulPowerSystemType="SIM_MC1800" 

setmoAttribute t SDN=0,SimulPowerSystem=1 depEquipment="SDN=0,SerialPort=1"; 

commit t 

endtransaction t



3. Creating load disconnects 

startTransaction t

createMO t SDN=0,SimulPowerSystem=1,SimulLoadD=1 ContactorId=1

createMO t SDN=0,SimulPowerSystem=1,SimulLoadD=2 ContactorId=2

commit t

endtransaction t



4. Creating new rectifier 

starttransaction t

createMO t SDN=0,SimulPowerSystem=1,SimulRectifier=1

commit t

endtransaction t


         Stop communication

[10:27 AM] Toni Saric A

    

startt t

setmo t SDN=0,SimulPowerSystem=1 operationalState="disabled"

com t

endt t



startt t

setmo t SDN=0,SimulPowerSystem=1 operationalState="enabled"

com t

endt t



1 Linki


Wyższa Szkoła Zarządzania i Bankowości w Krakowie ( start 18 maj, 4000zł)
https://www.wszib.edu.pl/podyplomowe_data_scientist/

podyplomowe@wszib.edu.pl

lokalizacja:

udemy:
Transact-SQL
ETL


Krakowska Szkoła Biznesu (zapisy od 1 czerwca, 4500zł)
https://www.ksb.biz.pl/pl-PL/catalog/studia-podyplomowe/study/data-science-metody-narzedzia-zastosowania

lokalizacja:



Budowa systemów Business Intelligence w środowisku Microsoft na WSEI
link:


Dąbrowa Górnicza
link:


Książki i artykuły Grupy Big Data o problematyce powiązanej z Big Data
link:


KS:

Strony:
Blog: Link1:

Data Community Poland

Meetup DCP

MS 70-767