Donald D. Cowan

Learn More
This paper introduces S.P.L.O.T., a Web-based reasoning and configuration system for Software Product Lines (SPLs). The system benefits from mature logic-based reasoning techniques such as SAT solvers and binary decision diagrams to provide efficient reasoning and interactive configuration services to SPL researchers and practitioners. In addition, the(More)
Feature modeling is used in generative programming and software product-line engineering to capture the common and variable properties of programs within an application domain. The translation of feature models to propositional logics enabled the use of reasoning systems, such as BDD engines, for the analysis and transformation of such models and(More)
Software engineers of multi-agent systems (MASs) are faced with different concerns such as autonomy, adaptation, interaction, collaboration, learning, and mobility, which are essentially different from classical concerns addressed in object-oriented software engineering. MAS developers however have relied mostly on object-oriented design techniques and(More)
The design of a large component-based software system typically involves the composition of different components. Instead of relying on a free composition of components, we advocate that more rigorous analysis methods to check the correctness of component composition would allow combination problems to be detected early in the development process so that(More)
Structured documents such as those developed for SGML, GML or LATEX usually contain a combination of text and tags. Since various types of documents require tags with different placement, the creator of a document must learn and retain a large amount of knowledge. Rita consists of an editor and user interface which are controlled by a grammar or description(More)
This paper introduces a new visual formalism, called ADV-charts, for specifying the behavior of interactive systems (including multi-modal interactive systems) by using a state machine approach. ADVcharts combine concepts from Abstract Data Views, with notations from Objectcharts, Statecharts, and Petri-nets. ADVcharts are motivated by the need to provide a(More)