Chis, Vasile-Andrei (2016). Moldable tools. (Dissertation, Universität Bern, Pilosophisch-naturwissenschaftliche Fakultät, Institut für Informatik)
16chis_a.pdf - Published Version
Available under License Creative Commons: Attribution-Share Alike (CC-BY-SA).
Download (7MB) | Preview
Development tools are a prerequisite for crafting software. They offer the lenses through which developers perceive and reason about their software systems. Generic development tools, while having a wide range of applicability, ignore the contextual nature of software systems and do not allow developers to directly reason in terms of domain abstractions. Domain-specific development tools, tailored to particular application domains, can address this problem. While it has clear advantages, incorporating domain abstractions into development tools is a challenging activity. The wide range of domains and contextual tasks that development tools need to support leads to costly or ad hoc mechanisms to incorporate and discover domain abstractions. Inherently, this limits developers from taking advantage of domain-specific information during the development and maintenance of their systems. To overcome this problem, we propose to embed domain abstractions into development tools through the design of moldable tools that support the inexpensive creation of domain-specific extensions capturing domain abstractions, and that automatically select extensions based on the domain model and the developer’s interaction with the domain model. This solution aims to reduce the cost of creating extensions. Towards this goal, it provides precise extension points together with internal DSLs for configuring common types of extensions. This solution facilitates automatic discovery by enabling extension creators to specify together with an extension an activation predicate that captures the context in which that extension is applicable. We validate the moldable tools approach by applying it, in the context of objectoriented applications, to improve three development activities, namely: reasoning about run-time objects, searching for domain-specific artifacts, and reasoning about run-time behavior. For each activity we identify limitations of current tools, show how redesigning those tools following the moldable tools approach addresses the identified limitations, and discuss the cost for creating domain-specific extensions. We demonstrate that moldable tools address an existing need by analyzing the increase in domain-specific extensions after we integrated the moldable tools solving the aforementioned tasks with an IDE. We also show what kinds of custom environments developers can create by continuously adapting their development tools.
|Item Type:||Thesis (Dissertation)|
|Division/Institute:||08 Faculty of Science > Institute of Computer Science (INF)|
|UniBE Contributor:||Chis, Vasile-Andrei and Nierstrasz, Oscar Marius|
|Subjects:||000 Computer science, knowledge & systems
500 Science > 510 Mathematics
|Date Deposited:||03 Oct 2016 10:32|
|Last Modified:||03 Oct 2016 10:32|
|Additional Information:||e-Dissertation (edbe)|