close Warning: Can't synchronize with repository "(default)" (/var/svn/mms does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 15 years ago

Last modified 15 years ago

#244 closed defect

Problemas com a função MMS::RemoveEstimations() — at Version 3

Reported by: Daniel Noce da Silva Owned by: Pedro Gea
Priority: blocker Milestone:
Component: Estimation Keywords:
Cc:

Description (last modified by Pedro Gea)

1-

Considere uma estimação e sua respectiva previsão carregadas no MMS. O valor do Real MMS::RemoveEstimation("Mat.Veh__1.0__BSR") é 1.

Quando vamos fazer o mesmo para a previsão Real MMS::RemoveEstimation("Mat.Veh__1.0__Veh.Tur.Mat__1.0__BSR") retorna 0.

No entanto, a previsão é removida. O mesmo acontece quando estas duas linhas sao compiladas na ordem inversa.

Text nameSubModel = "Veh.Tur.Mat__1.0__BSR";
Text outputName = "Veh.Tur.Mat";

Real MMS::CreateForecast([[
      Text _.name = nameSubModel;
      @MMS.Estimation _.estimation =  estBSR;
      @MMS.SettingsEstimate _.settings = [[
        Real _.showTraces = False
      ]]

    ]]);

    Date endEst = estBSR::GetModel_(?)::GetOutput(outputName)::GetLast(?);
    Date beginPrev = Succ(endEst,Mensual,1);
    Date endPrev = Succ(endEst,Mensual,20);

    Text name = estBSR::GetModel_(?)::GetName(?);
    Text version = estBSR::GetModel_(?)::GetVersion(?);
    @MMS.Forecast forecast =
      MMS::GetForecast([[name,version,nameSubModel]]);

    Real forecast::SetForecastInterval(?, beginPrev, endPrev);
    Real forecast::Execute(?);
    Real forecast::Store(Ois.DefRoot+"MMS/Forecast/"+forecast::GetIndex(?)+".oza");

// Aqui esta o problema:

MMS::RemoveEstimation("Mat.Veh__1.0__BSR");
MMS::RemoveEstimation("Mat.Veh__1.0__Veh.Tur.Mat__1.0__BSR");

2-
Há variáveis input que precisam de uma previsão.

Temos uma função que carrega as previsoes e estimações para gerar estes inputs.

Apos gerar os inputs estas estimações são removidas. Quando esta função é chamada dentro da estimação acontece o seguinte erro:

ERROR: [1] Corrupted method DirectFunction
Possibly this problem is due to a non standard use of OOP, if this function was assigned to a member of type Code of a NameBlock or Class instance that has been destroyed already.</E>

Mesmo quando a serie é obtida da seguinte forma:

Serie output = Copy(results::GetOutput(submodel))


Change History (3)

comment:1 Changed 15 years ago by Daniel Noce da Silva

nota: código correto

Text nameSubModel = "Veh.Tur.Mat__1.0__BSR";
Text outputName = "Veh.Tur.Mat";

Real MMS::CreateForecast([[
      Text _.name = nameSubModel;
      @MMS.Estimation _.estimation =  estBSR;
      @MMS.SettingsEstimate _.settings = [[
        Real _.showTraces = False
      ]]

    ]]);

    Date endEst = estBSR::GetModel_(?)::GetOutput(outputName)::GetLast(?);
    Date beginPrev = Succ(endEst,Mensual,1);
    Date endPrev = Succ(endEst,Mensual,20);

    Text name = estBSR::GetModel_(?)::GetName(?);
    Text version = estBSR::GetModel_(?)::GetVersion(?);
    @MMS.Forecast forecast =
      MMS::GetForecast([[name,version,nameSubModel]]);

    Real forecast::SetForecastInterval(?, beginPrev, endPrev);
    Real forecast::Execute(?);
    Real forecast::Store(Ois.DefRoot+"MMS/Forecast/"+forecast::GetIndex(?)+".oza");

// Aqui esta o problema:

MMS::RemoveEstimation("Mat.Veh__1.0__BSR");
MMS::RemoveEstimation("Mat.Veh__1.0__Veh.Tur.Mat__1.0__BSR");

comment:2 Changed 15 years ago by Pedro Gea

(In [1320]) Revisión de la implementación del atributo _.transformation para intentar evitar un error del tipo: Corrupted method.
Refs #244

comment:3 Changed 15 years ago by Pedro Gea

Description: modified (diff)
Owner: set to Pedro Gea
Status: newaccepted
Note: See TracTickets for help on using tickets.