package aulas; public ruleBase ClassificacaoTransportesBase { rule Ciclo { declarations Transporte t; conditions t.getNumeroRodas() < 4; actions t.setTipoTransporte("ciclo"); modified(t); } rule Automovel { declarations Transporte t; conditions t.getNumeroRodas() == 4; t.getMotor(); actions t.setTipoTransporte("automovel"); modified(t); } rule Bicicleta { declarations Transporte t; conditions t.getTipoTransporte().equals("ciclo"); t.getNumeroRodas() == 2; !t.getMotor(); actions t.setMarca("Bicicleta"); } rule Triciclo { declarations Transporte t; conditions t.getTipoTransporte().equals("ciclo"); t.getNumeroRodas() == 3; !t.getMotor(); actions t.setMarca("Triciclo"); } rule Motocicleta { declarations Transporte t; conditions t.getTipoTransporte().equals("ciclo"); t.getNumeroRodas() == 2; t.getMotor(); actions t.setMarca("Motocicleta"); } rule CarroEsporte { declarations Transporte t; conditions t.getTipoTransporte().equals("automovel"); t.getNumeroPortas() == 2; t.getTamanho().ehPequeno(); actions t.setMarca("CarroSport"); } rule Sedan { declarations Transporte t; conditions t.getTipoTransporte().equals("automovel"); t.getNumeroPortas() == 4; t.getTamanho().ehMedio(); actions t.setMarca("Sedan"); } rule MiniVan { declarations Transporte t; conditions t.getTipoTransporte().equals("automovel"); t.getNumeroPortas() == 3; t.getTamanho().ehMedio(); actions t.setMarca("MiniVan"); } rule CarroEsporteUtilitario { declarations Transporte t; conditions t.getTipoTransporte().equals("automovel"); t.getNumeroPortas() == 4; t.getTamanho().ehGrande(); actions t.setMarca("UtilitarioSport"); } }