public KIMDirectObserver(INamespace namespace, IConcept observable, String id, IScale scale) { super(namespace, id); this.observable = new ObservableSemantics(observable); this.scale = scale; }
@Override public List<IObservableSemantics> getAlternativeObservables() { List<IObservableSemantics> ret = new ArrayList<>(); if (originalConcept != null) { /* * these are all direct observations */ ret.add(new ObservableSemantics(originalConcept)); } return ret; }
public ObservableSemantics withType(IConcept type) { ObservableSemantics ret = new ObservableSemantics(this); ret.setType(type); return ret; }
public KIMDirectObserver(IConcept observable, String id, IScale scale) { super(KLAB.MMANAGER.getLocalNamespace(), id); this.observable = new ObservableSemantics(observable); this.scale = scale; }
/** * Simple constructor that just makes a simple individual. The usual way to create an * observable is through the ObservableSemantics instantiate() method. setTraits should * always be true unless we're creating a dummy observable that won't be used. * * @param observable */ public Observable(IConcept observable, String name, IContext context, boolean setTraits) { super(observable, name, context); this.semantics = new ObservableSemantics(observable); if (setTraits) { setTraitsAndRoles(); } }
public static IObservableSemantics makeObservable(Object observable) { // CallTracer.indent("makeObservable()", this, observable); IObservableSemantics result; if (observable instanceof IModel) { result = new ObservableSemantics((IModel) observable, ((IModel) observable) .getId()); // CallTracer.msg("got Observable result for IModel parameter: " // + CallTracer.detailedDescription(result)); // CallTracer.unIndent(); return result; } else if (observable instanceof IConcept) { result = new ObservableSemantics((IConcept) observable, NS .getObservationTypeFor((IConcept) observable), // TODO use current subject type for inherency CamelCase.toLowerCase(((IConcept) observable).getLocalName(), '-')); // CallTracer.msg("got Observable result for IConcept parameter: " // + CallTracer.detailedDescription(result)); // CallTracer.unIndent(); return result; } // CallTracer.msg("parameter was not IConcept or IModel. returning null."); // CallTracer.unIndent(); return null; }
public KIMModel(IObservableSemantics observable, IContextualizer contextualizer, IResolutionScope scope) { super(null); ObservableSemantics obs = new ObservableSemantics((ObservableSemantics) observable); obs.setModel(this); this.observables.add(obs); this.predefinedContextualizer = contextualizer; this.namespace = scope.getResolutionNamespace(); name(observable.getFormalName()); }
@Override public List<IObservableSemantics> getAlternativeObservables() { IConcept c = Observables.getInherentType(getObservable().getType()); if (c != null && NS.isObservable(c)) { return Collections.singletonList(new ObservableSemantics(c)); } return null; }
public KIMPresenceObserver(IObservableSemantics observable) { IConcept oob = Observables.makePresence(observable.getType()); this.observable = new ObservableSemantics(oob, KLAB .c(NS.PRESENCE_OBSERVATION), observable .getFormalName()); }
public KIMPresenceObserver(IObserver observer) { super(observer); IConcept oob = Observables.makePresence(observable.getType()); this.observable = new ObservableSemantics(oob, KLAB .c(NS.PRESENCE_OBSERVATION), observable .getFormalName()); if (observer instanceof KIMPresenceObserver) { isIndirect = ((KIMPresenceObserver) observer).isIndirect; } }
KIMModel(IConcept observable, IObserver observer, String formalName) { super((KIMObserver) observer); setParent(observer.getParent(), false); ((KIMObserver) observer).setParent(this, true); this.observer = observer; ((KIMObserver) observer).model = this; ObservableSemantics observ = new ObservableSemantics(observable, observer .getObservationType(), formalName); observ.setObserver(observer); this.observables.add(observ); name(formalName); }
@Override public IRelationship connect(IActiveSubject source, IActiveSubject destination, IConcept relationshipType, ITransition transition, boolean reuse) throws KlabException { IRelationship ret = null; IRelationshipInstantiator ri = null; Map<String, IState> inputs = new HashMap<>(); if (reuse) { ri = relInstantiators.get(relationshipType); } if (ri == null) { IObservableSemantics obs = new ObservableSemantics(relationshipType); IResolutionScope scope = resolutionContext.forObservable(obs); ((ResolutionScope)scope).setInstantiatingContext(true); Resolver resolver = new Resolver(scope, resolutionContext.getScenarios(), null); ICoverage coverage = resolver.resolve(obs, monitor, this); if (coverage.isRelevant()) { /* * setup dataflow listener to grab model and instantiator */ } } else { ret = ri.createRelationship(source, destination, transition, inputs); } if (ri != null && reuse) { relInstantiators.put(relationshipType, ri); } return ret; }
private IObserver makeInherentObserver(IObserver observer2) { IObserver obs = ((KIMObserver) observer2).copy(); ObservableSemantics obsm = new ObservableSemantics((ObservableSemantics) obs .getObservable()); IConcept newtype; try { newtype = Observables.contextualizeTo(obsm.getType(), this.getType()); obsm.setType(newtype); ((KIMObserver) obs).observable = obsm; } catch (KlabException e) { // should never happen as this is not called on models with errors. } return obs; }
KIMMeasurementObserver(ISemantic observable, String unit2) { if (observable instanceof IObservableSemantics) { this.observable = (IObservableSemantics) observable; } else { this.observable = new ObservableSemantics(observable.getType(), KLAB.c(NS.MEASUREMENT), CamelCase .toLowerCase(observable.getType().getLocalName(), '-')); ((ObservableSemantics) this.observable).setObserver(this); } this.unit = new Unit(unit2); }
public static IObserver presenceObserver(ISemantic observable) { IObservableSemantics obs = new ObservableSemantics(Observables.makePresence(observable.getType()), KLAB.c(NS.PRESENCE_OBSERVATION), CamelCase.toLowerCase(observable.getType().getLocalName(), '-')); return new KIMPresenceObserver(obs); }
for (Pair<IConcept, Boolean> c : getInferredDependencies(monitor, context)) { ObservableSemantics obs = new ObservableSemantics(c.getFirst()); if (NS.isCountable(c.getFirst())) { obs.setInstantiator(true); IDependency ndep = new KIMDependency(new ObservableSemantics(c, NS .getObservationTypeFor(c), fname), fname, null, isOptional, null, context); ret.add(ndep); IDependency ndep = new KIMDependency(new ObservableSemantics(dep, NS .getObservationTypeFor(dep), fname), fname, sd .getThird(), isOptional, null, context);
.get(KIMScope.Type.OBSERVER_OBSERVABLE), statement.getConcept(), null); this.observable = new ObservableSemantics(k.getType());
@Override public IStorage<?> createStorage(IObserver observer, IScale scale, IDataset dataset, boolean isDynamic, boolean isProbabilistic) { IObservableSemantics observable = new ObservableSemantics((ObservableSemantics) (observer.getModel() == null ? observer.getObservable() : observer.getModel().getObservable())); ((ObservableSemantics) observable).setObserver(observer); if (observer instanceof INumericObserver && ((INumericObserver) observer).getDiscretization() == null) { return new NumberStorage(observable, scale, ((INumericObserver) observer).getDiscretization(), dataset, isDynamic); } else if (observer instanceof IClassifyingObserver || (observer instanceof INumericObserver && ((INumericObserver) observer).getDiscretization() != null)) { IClassification classif = (observer instanceof IClassifyingObserver) ? ((IClassifyingObserver) observer).getClassification() : ((INumericObserver) observer).getDiscretization(); if (classif != null) { // extra safety ((Classification)classif).initialize(); } return isProbabilistic ? new ProbabilityStorage(observable, scale, dataset, isDynamic, classif) : new ConceptStorage(observable, scale, dataset, isDynamic, classif); } else if (observer instanceof IPresenceObserver) { return new BooleanStorage(observable, scale, dataset, isDynamic); } throw new KlabRuntimeException("don't know how to create storage for observer " + observer); }
ObservableSemantics obs = new ObservableSemantics((ObservableSemantics) observer .getObservable()); obs.setModel(this);
.getFirstLineNumber()); } else { observables.add(new ObservableSemantics(ko.getType(), KLAB .c(NS.DIRECT_OBSERVATION), id));