Scott Thibault
University of Rennes
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Scott Thibault.
ACM Computing Surveys | 1998
Charles Consel; L. Hornof; Renaud Marlet; Gilles Muller; Scott Thibault; E.-N. Volanschi; J. Lawall; Jacques Noyé
Permission to make digital/hard copy of part or all of this work for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee.
conference on domain specific languages | 1999
Scott Thibault; Renaud Marlet; Charles Consel
Domain-specific languages (DSL) have many potential advantages in terms of software engineering, ranging from increased productivity to the application of formal methods. Although they have been used in practice for decades, there has been little study of methodology or implementation tools for the DSL approach. We present our DSL approach and its application to a realistic domain: the generation of video display device drivers. The article focuses on the validation of our proposed framework for domain-specific languages, from design to implementation. The framework leads to a flexible design and structure, and provides automatic generation of efficient implementations of DSL programs. Additionally, we describe an example of a complete DSL for video display adaptors and the benefits of the DSL approach for this application. This demonstrates some of the generally claimed benefits of using DSLs: increased productivity, higher-level abstraction, and easier verification. This DSL has been fully implemented with our approach and is available. Compose project URL: http://www.irisa.fr/compose/gal.
symposium on software reusability | 1997
Scott Thibault; Charles Consel
Application generators have been demonstrated as a successful approach to achieving software reuse and typically yields higher productivity gains than methods such as component-based reuse. Despite their advantages, industrial software developers are reluctant to adopt these methods due to the lack of tools for constructing generators. This paper presents a framework for the development of application generators. This framework provides a structured design approach and automatic tools for design. The framework consists of a two level design process: The first level is the identification of operations that expresses the fundamental computations of the application domain. The second level is the design of a domain-specific language which allows one to express variations within a family of applications. The domain-specific language is implemented in terms of the operations defined by the first level. We show that the uniform application of partial evaluation enables automatic application generation from a micro-program to its implementation. This framework has been developed in the context of real applications in areas such as Internet services and digital television, and is being developed in conjunction with industrial partners.
Higher-order and Symbolic Computation \/ Lisp and Symbolic Computation | 2000
Scott Thibault; Charles Consel; Julia L. Lawall; Renaud Marlet; Gilles Muller
Interpretation and run-time compilation techniques are increasingly important because they can support heterogeneous architectures, evolving programming languages, and dynamically-loaded code. Interpretation is simple to implement, but yields poor performance. Run-time compilation yields better performance, but is costly to implement. One way to preserve simplicity but obtain good performance is to apply program specialization to an interpreter in order to generate an efficient implementation of the program automatically. Such specialization can be carried out at both compile time and run time.Recent advances in program-specialization technology have significantly improved the performance of specialized interpreters. This paper presents and assesses experiments applying program specialization to both bytecode and structured-language interpreters. The results show that for some general-purpose bytecode languages, specialization of an interpreter can yield speedups of up to a factor of four, while specializing certain structured-language interpreters can yield performance comparable to that of an implementation in a general-purpose language, compiled using an optimizing compiler.
international conference on distributed computing systems | 1999
Scott Thibault; Jerôme Marant; Gilles Muller
Active networks have been proposed to allow the dynamic extension of network behavior by downloading application-specific protocols (ASPs) into network routers. We demonstrate the feasibility of the use of ASPs in an active network for the adaptation of distributed software components. We have implemented three examples which show that ASPs can be used to easily extend distributed applications, and furthermore, that such adaptation can be safe, portable and efficient. Safety and efficiency is obtained by implementing the ASPs in PLAN-P, a domain-specific language and run-time system for active networking. The presented examples illustrate three different applications: audio broadcasting with bandwidth adaptation in routers; an extensible HTTP server with load-balancing facilities; and a multipoint MPEG server derived from a point-to-point server.
automated software engineering | 1997
Renaud Marlet; Scott Thibault; Charles Consel
Flexibility is recognized as a key feature in structuring software, and many architectures have been designed to that effect. However, they often come with performance and code size overhead, resulting in a flexibility vs. efficiency dilemma. The source of inefficiency in software architectures can be identified in the data and control integration of components, because flexibility is present not only at the design level but also in the implementation. We propose the use of program specialization in software engineering as a systematic way to improve performance and in some cases, to reduce program size. In particular, we advocate the use of partial evaluation, which is an automatic technique to produce efficient, specialized instances of generic programs. We study several representative, flexible mechanisms found in software architectures: selective broadcast, pattern matching, interpreters, layers, and generic libraries. We show how partial evaluation can systematically be applied in order to optimize those mechanisms.
automated software engineering | 1999
Renaud Marlet; Scott Thibault; Charles Consel
The notion of flexibility (that is, the ability to adapt to changing requirements or execution contexts) is recognized as a key concern in structuring software, and many architectures have been designed to that effect. However, the corresponding implementations often come with performance and code size overheads. The source of inefficiency can be identified to be in the loose integration of components, because flexibility is often present not only at the design level but also in the implementation. To solve this flexibility vs. efficiency dilemma, we advocate the use of partial evaluation, which is an automated technique to produce efficient, specialized instances of generic programs. As supporting case studies, we consider several flexible mechanisms commonly found in software architectures: selective broadcast, pattern matching, interpreters, software layers, and generic libraries. Using Tempo, our specializer for C, we show how partial evaluation can safely optimize implementations of those mechanisms. Because this optimization is automatic, it preserves the original genericity and extensibility of the implementation.
ACM Computing Surveys | 1998
C. Consel; L. Hornof; Renaud Marlet; Gilles Muller; Scott Thibault; Eugen-Nicolae Volanschi; J. Lawall; Jacques Noyé
Permission to make digital/hard copy of part or all of this work for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee.
systems man and cybernetics | 2003
Gilles Muller; Julia L. Lawall; Scott Thibault; R. E. Voel Jensen
Active networks present significant safety, security, and efficiency challenges. Domain-specific languages, i.e., languages providing only constructs relevant to a particular domain, provide a solution that balances these constraints. Safety and security can be ensured using verification techniques that exploit the restricted nature of such languages. Strategies have been developed for the compilation of domain-specific languages that provide both portability and efficiency. This paper presents a synthesis of work on the PLAN-P domain-specific language for programmable routers. We present the language design, representative experiments that have been carried out using the language, and new compilation strategies. End-to-end performance is typically comparable to that of hand-coded C implementations.
symposium on reliable distributed systems | 1998
Scott Thibault; Charles Consel; Gilles Muller
Collaboration
Dive into the Scott Thibault's collaboration.
French Institute for Research in Computer Science and Automation
View shared research outputsFrench Institute for Research in Computer Science and Automation
View shared research outputs