Abstract: Programming today requires years of training. With natural language, programming would become available to everyone and enable end users to program their devices or extend their functionality without any knowledge of programming languages. We present an assistant usable in technical domains that uses natural language understanding, programming step-by-step and an active dialog management system. It allows users to manipulate spreadsheet data by using natural language. We extend our previous system with active ontologies. By adding additional information to an ontology, such as a rule evaluation system and a fact store, it becomes an execution environment instead of just being a representation of knowledge. Sensor nodes register certain events and store them in the fact store. An evaluation mechanism tests the new facts against the existing rules and performs the associated action if one or more rules apply to the stored facts. The system also handles references to previous results and expressions, allowing the construction of complex expressions step-by-step. It also creates new formulas by using End-User Programming conce ... mehrpts and supports the use of repetitive tasks that involve use of conditions and negations. An evaluation shows that the active ontology-based approach resolves 90% of the input tasks which is an increase of 10% over the pattern matching approach.