/**
* Called when a null model is about to be retrieved in order to allow a subclass to provide an
* initial model.
* <p>
* By default this implementation looks components in the parent chain owning a
* {@link IComponentInheritedModel} to provide a model for this component via
* {@link IComponentInheritedModel#wrapOnInheritance(Component)}.
* <p>
* For example a {@link FormComponent} has the opportunity to instantiate a model on the fly
* using its {@code id} and the containing {@link Form}'s model, if the form holds a
* {@link CompoundPropertyModel}.
*
* @return The model
*/
protected IModel<?> initModel()
{
IModel<?> foundModel = null;
// Search parents for IComponentInheritedModel (i.e. CompoundPropertyModel)
for (Component current = getParent(); current != null; current = current.getParent())
{
// Get model
// Don't call the getModel() that could initialize many in between
// completely useless models.
// IModel model = current.getDefaultModel();
IModel<?> model = current.getModelImpl();
if (model instanceof IWrapModel && !(model instanceof IComponentInheritedModel))
{
model = ((IWrapModel<?>)model).getWrappedModel();
}
if (model instanceof IComponentInheritedModel)
{
// return the shared inherited
foundModel = ((IComponentInheritedModel<?>)model).wrapOnInheritance(this);
setFlag(FLAG_INHERITABLE_MODEL, true);
break;
}
}
// No model for this component!
return foundModel;
}
Welcome to the world of evidence! Evidence-based teaching is effective teaching, and we bring you the most effective methods. Read on to find out more.
A. van Lamsweerde. ICSE '00: Proceedings of the Conference on The Future of Software Engineering, page 147--159. New York, NY, USA, ACM, (2000)MR: Wertvoll wegen dem Überblick über formale Spezifikations- und somit Modell-Paradigmen..
J. Calame, N. Ioustinova, and J. van de Pol. Electronic Notes in Theoretical Computer Science, (October 2007)MR: Stark formalisiertes und mathematisch ergründetes Werk.
Basierend auf der Spezifikation des IUT (gegeben in LTS) wird der Lösungsraum durch data abstraction eingeengt (mittels µCRL). Mittels enumerativ tools (wie TGV) werden dann abstrakte Testfälle generiert. Die konkreten Daten (Ein und Ausgaben!) werden mittels constraint-solving techniques (mittels Prolog) ermittelt.
Future Work soll ermöglichen UML-Spezifikationen als Eingabe zu erlauben und die Testfälle sollen in TTCN-3 generiert werden!
Spätestens dann wird dieser Ansatz für IST-SPL sehr interessant..
H. Klus, D. Niebuhr, and A. Rausch. ICEBE '07: Proceedings of the IEEE International Conference on e-Business Engineering, page 600-603. Hong Kong, China, IEEE Computer Society, (October 2007)
H. Klus, D. Niebuhr, and A. Rausch. Proceedings of the International Workshop on Engineering of software services for pervasive environments (ESSPE 2007), page 21--28. Dubrovnik, Croatia, ACM, (September 2007)Electronic Proceedings.
A. Rajan, M. Whalen, and M. Heimdahl. ICSE '08: Proceedings of the 30th international conference on Software engineering, page 161--170. New York, NY, USA, ACM, (2008)MR: nuetzlich fuer IST-SPL nur wegen der Referenzen auf eingesetzte Techniken zur ' Test Case Generation using model checkers '..
T. Kishi, and N. Noda. Proceedings of the International Workshop on Software Product Line Testing (SPLiT 2004), page 19--26. Boston, MA, (August 2004)ST: Das zu testende System und die mit dem System in Interaktion stehende Umgebung werden als Zustandsautomat modelliert.
Testdaten ergeben sich aus den Transitionen.
Es werden Modelchecking Techniken angewendet um Invarianten zu prüfen..