Results 1 - 10
of
22
WebDSL: A Case Study in Domain-Specific Language Engineering
"... Abstract. The goal of domain-specific languages (DSLs) is to increase the productivity of software engineers by abstracting from low-level boilerplate code. Introduction of DSLs in the software development process requires a smooth workflow for the production of DSLs themselves. This requires techno ..."
Abstract
-
Cited by 46 (14 self)
- Add to MetaCart
Abstract. The goal of domain-specific languages (DSLs) is to increase the productivity of software engineers by abstracting from low-level boilerplate code. Introduction of DSLs in the software development process requires a smooth workflow for the production of DSLs themselves. This requires technology for designing and implementing DSLs, but also a methodology for using that technology. That is, a collection of guidelines, design patterns, and reusable DSL components that show developers how
Global Analysis and Transformations in Preprocessed Languages
- IEEE Transactions on Software Engineering
, 2003
"... Tool support for refactoring code written in mainstream languages such as C and C is currently lacking due to the complexity introduced by the mandatory preprocessing phase that forms part of the C/C compilation cycle. The defintion and use of macros complicates the notions of scope and of identifie ..."
Abstract
-
Cited by 29 (7 self)
- Add to MetaCart
(Show Context)
Tool support for refactoring code written in mainstream languages such as C and C is currently lacking due to the complexity introduced by the mandatory preprocessing phase that forms part of the C/C compilation cycle. The defintion and use of macros complicates the notions of scope and of identifier boundaries. The concept of token equivalence classes can be used to bridge the gap between the language proper semantic analysis and the nonpreprocessed source code. The CScout toolchest uses the developed theory to analyze large interdependent program families. A Web-based interactive front end allows the precise realization of rename and remove refactorings on the original C source code. In addition, CScout can convert programs into a portable obfuscated format or store a complete and accurate representation of the code and its identifiers in a relational database.
The Information Furnace: Consolidated Home Control
- Personal and Ubiquitous Computing
, 2003
"... The Information Furnace is a basement-installed PC-type device that integrates existing consumer home-control, infotainment, security, and communication technologies to transparently provide accessible and value-added services. A modern home contains a large number of sophisticated devices and te ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
(Show Context)
The Information Furnace is a basement-installed PC-type device that integrates existing consumer home-control, infotainment, security, and communication technologies to transparently provide accessible and value-added services. A modern home contains a large number of sophisticated devices and technologies. Access to these devices is currently provided through a wide variety of disparate interfaces.
Jargons for domain engineering
- ACM SIGPLAN Notices
, 1999
"... Permission is granted for noncommercial reproduction of the work for educational or research purposes. ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
(Show Context)
Permission is granted for noncommercial reproduction of the work for educational or research purposes.
Reliable Software Implementation Using Domain-Specific Languages
- Proceedings ESREL ’99 — The Tenth European Conference on Safety and Reliability
, 1999
"... : We describe the use of domain-specific languages for expressing critical design values and constraints in a civil engineering CAD software application. Through the use of these specialised languages information that is critical to the correct operation of the software can be expressed in a form th ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
(Show Context)
: We describe the use of domain-specific languages for expressing critical design values and constraints in a civil engineering CAD software application. Through the use of these specialised languages information that is critical to the correct operation of the software can be expressed in a form that can be easily drafted, verified, and maintained by domain experts (civil engineers) thus minimising the risk inherent from the mediation of software engineers. Although domain-specific languages can offer increased expressiveness, runtime efficiency, and reliability at a modest implementation cost, system architects should take into account the issues of training costs, tool support, and software process integration. In G. I. Schueller and P. Kafka, editors, Proceedings ESREL '99 --- The Tenth European Conference on Safety and Reliability, pages 627--631, MunichGarching, Germany, September 1999. ESRA, VDI, TUM, A. A. Balkema. This is a machine-readable rendering of a working paper draft...
Palmtop Programmable Appliance Controls
, 1998
"... Palmtop PCs with infrared transceivers provide a userfriendly, intelligent, and extensible alternative to the remote controls traditionally used to control home appliances. We describe the design and implementation of a palmtop programmable appliance control system. The system is designed around RDL ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
Palmtop PCs with infrared transceivers provide a userfriendly, intelligent, and extensible alternative to the remote controls traditionally used to control home appliances. We describe the design and implementation of a palmtop programmable appliance control system. The system is designed around RDL, a domain specific language, allowing the realisation of virtual remote control units and sophisticated interaction sequences. The multitude and diversity of control applications programmed in RDL point towards a new appliance control paradigm based on a client-server architecture and intelligent user interfaces. Keywords: Remote control; infrared interfacing; domain specific language. 1 Introduction We are constantly witnessing the rapid convergence of many consumer and information technology appliances. An interesting application of this convergence that has received relatively less attention than the widely publicised convergence of the World Wide Web and television is the remote cont...
Declarative Peephole Optimization Using String Pattern Matching
, 1999
"... Peephole optimisation as a last step of a compilation sequence capitalises on significant opportunities for removing low level code slackness left over by the code generation process. We have designed a peephole optimiser that operates using a declarative specification of the optimisations to be per ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Peephole optimisation as a last step of a compilation sequence capitalises on significant opportunities for removing low level code slackness left over by the code generation process. We have designed a peephole optimiser that operates using a declarative specification of the optimisations to be performed. The optimiser's implementation is based on string pattern matching using regular expressions. We used this approach to prototype an optimiser to convert target machine instruction sequences containing conditional execution of instructions inside loop bodies into code that adaptively executes the optimum branch instructions according to the program's branch behaviour. Keywords Peephole optimization; branch prediction; regular expressions. 1 Introduction Peephole optimisation [ASU85, p. 554--558] as a last step of a compilation sequence capitalises on significant opportunities for removing low level code slackness left over by the code generation process. In addition, as peephole o...
Unix Tools as Visual Programming Components in a GUI-builder Environment
- Software—Practice and Experience
, 2001
"... Development environments based on ActiveX controls and JavaBeans are marketed as "visual programming" platforms; in practice their visual dimension is limited to the design and implementation of an application's graphical user interface (GUI. The availability of sophisticated GUI deve ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
(Show Context)
Development environments based on ActiveX controls and JavaBeans are marketed as "visual programming" platforms; in practice their visual dimension is limited to the design and implementation of an application's graphical user interface (GUI. The availability of sophisticated GUI development environments and visual component development frameworks is now providing viable platforms for implementing visual programming within general-purpose platforms, i.e. for the specification of non-GUI program functionality using visual representations. We describe how specially-designed reflective components can be used in an industry-standard visual programming environment to graphically specify sophisticated data transformation pipelines that interact with GUI elements. The components are based on Unix-style filters repackaged as ActiveX controls. Their visual layout on the development environment canvas is used to specify the connection topology of the resultant pipeline. The process of converting filter-style programs as visual controls is automated using a domainspecific language. We demonstrate the approach through the design and the visual implementation of a GUI-based spelling checker.
Component Mining: A Process and its Pattern Language
- Information & Software Technology
, 2000
"... An important issue in a component-based software development process is the supply source of mature, reliable, adaptable, and maintainable components. We define as component mining the deliberate, organised, and automated process of extracting reusable components from an existing rich software base ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
(Show Context)
An important issue in a component-based software development process is the supply source of mature, reliable, adaptable, and maintainable components. We define as component mining the deliberate, organised, and automated process of extracting reusable components from an existing rich software base and present a pattern language used for mining components from programs that are typically executed as non-interactive autonomous processes. We describe the patters in terms of intent, motivation, applicability, structure, participants, consequences, and implementation. Based on the pattern language, we describe the implementation of a set of COM components that encapsulate the Unix filters and an exemplar application that uses them. Keywords Component mining, pattern language, Unix tools, reuse. 1