Domain specific languages (DSLs) have proven to be a very adequate mechanism to encapsulate and hide the complex implementation details of component-based software development. Since evolution lies at the heart of any...
详细信息
ISBN:
(纸本)3540201025
Domain specific languages (DSLs) have proven to be a very adequate mechanism to encapsulate and hide the complex implementation details of component-based software development. Since evolution lies at the heart of any software system the DSLs that were built around them must evolve as well. In this paper we identify important issues that cause a DSL implementation to be very rigid in which all phases are tightly coupled and highly dependent upon one another. To increase the poor evolvability of current day DSL development environments a new development environment Keyword based programming (KBP) is proposed where DSLs are built by using a language specification to compose and glue loosely coupled and independent language components (called keywords).
this paper introduces new parsing and context-aware scanning algorithms in which the scanner uses contextual information to disambiguate lexical syntax. the parser uses a slightly modified LR-style algorithm that pass...
详细信息
Aiming at the reuse requirements of spacecraft embedded software assets, the commonality and variability of spacecraft embedded software requirements are analyzed, and a tree diagram-based spacecraft software componen...
详细信息
this volume constitutes the proceedings of the ?rst ACM SIGPLAN/SIGSOFT internationalconference on generativeprogramming and component Engine- ing (GPCE 2002), held October 6–8, 2002, in Pittsburgh, PA, USA, as par...
详细信息
ISBN:
(数字)9783540458210
ISBN:
(纸本)9783540442844
this volume constitutes the proceedings of the ?rst ACM SIGPLAN/SIGSOFT internationalconference on generativeprogramming and component Engine- ing (GPCE 2002), held October 6–8, 2002, in Pittsburgh, PA, USA, as part of the PLI 2002 event, which also included ICFP, PPDP, and a?liated workshops. the future of Software engineering lies in the automation of tasks that are performed manually today. generativeprogramming (developing programs that synthesize other programs), componentengineering (raising the level of mo- larization and analysis in application design), and Domain-Speci?c Languages (elevating program speci?cations to compact domain-speci?c notations that are easier to write and maintain) are key technologies for automating program de- lopment. In a time of conference and workshop proliferation, GPCE represents acounter-trend in the merging of two distinct communities with strongly ov- lapping interests: the generative and component-Based Software engineeringconference (GCSE) and the international Workshop on the Semantics, App- cations, and Implementation of Program Generation (SAIG). Researchers in the GCSE community address the topic of program automation from a contemporary software engineering viewpoint; SAIG correspondingly represents a community attacking automation from a more formal programming languages viewpoint. Together, their combination provides the depth of theory and practice that one would expect in apremier research conference. three prominent PLI invited speakers lectured at GPCE 2002: Neil Jones (University of Copenhagen), Catuscia Palamidessi (Penn State University), and Janos Sztipanovits (Vanderbilt University). GPCE 2002 received 39 submissions, of which 18 were accepted.
this roadmap describes ways that researchers in four areas - -specification languages, program generation, correctness by construction, and programming languages - -might help further the goal of verified software. It...
详细信息
Large scale software is composed of libraries produced by different entities. Non-intrusive and efficient mechanisms for adapting data structures from one library to conform to APIs of another are essential for the su...
详细信息
this paper is based on a project within the Siemens Corp., where object-oriented techniques were used to develop a switching system for broadband ISDN. Some important components of system software and how their suppor...
详细信息
ISBN:
(纸本)0852965427
this paper is based on a project within the Siemens Corp., where object-oriented techniques were used to develop a switching system for broadband ISDN. Some important components of system software and how their support for object-orientation should look like are discussed. One of these is an operating system that acts as a runtime system for object-oriented features. the effects of this support are shown by some typical applications for switching systems. Another system component is an analysis tool offering a novel type of object specific trace mechanism. the most important object-oriented terms are defined. the particular requirements in the area of switching systems are discussed.
A user interface, such as a dialog, assists a user in synthesising a set of values, typically parameters for a command object. Code for "command parameter synthesis" is usually application-specific and non-r...
详细信息
ISBN:
(纸本)9781605582672
A user interface, such as a dialog, assists a user in synthesising a set of values, typically parameters for a command object. Code for "command parameter synthesis" is usually application-specific and non-reusable, consisting of validation logic in event handlers and code that controls how values of user interface elements change in response to a user's actions, etc. these software artifacts are incidental-they are not explicitly designed and their implementation emerges from a composition of locally defined behaviors. this article presents property models to capture explicitly the algorithms, validation, and interaction rules, arising from command parameter synthesis. A user interface's behavior can be derived from a declarative property model specification, withthe assistance of a component akin to a constraint solver. this allows multiple interfaces, both human and programmatic, to reuse a single model along with associated validation logic and widget activation logic. the proposed technology is deployed in large commercial software application suites. Where we have applied property models, we have measured significant reductions in source-code size with equivalent or increased functionality;additional levels of reuse are apparent, both within single applications, and across product lines;and applications are able to provide more uniform access to functionality. there is potential for wide adoption: by our measurements command parameter synthesis comprises roughly one third of the code and notably more of the defects in desktop applications.
Concepts - sets of abstractions related by common requirements have a central role in generic programming. this paper proposes a general framework for using concepts to control polymorphism in different ways. First, c...
详细信息
ISBN:
(纸本)3540201025
Concepts - sets of abstractions related by common requirements have a central role in generic programming. this paper proposes a general framework for using concepts to control polymorphism in different ways. First, concepts can be used to constrain parametric polymorphism, as exemplified by type classes in Haskell. Second, concepts can be used to provide fine-grained control of function and operator overloading. Finally, generic functions can be overloaded (specialized) based on concepts, rather than simply on types. We describe a C++ implementation of a new mechanism, which we call enable-if, and its role in concept-controlled polymorphism.
Families of independent classes, where each class represents a separate, orthogonal concern are highly attractive for implementing collaboration-based design. However, required subtype relationship between such famili...
详细信息
ISBN:
(纸本)3540201025
Families of independent classes, where each class represents a separate, orthogonal concern are highly attractive for implementing collaboration-based design. However, required subtype relationship between such families cannot be expressed in many programming languages. this paper presents a framework to handle collaborating groups of classes using template metaprogramming based on standard C++ features in the style of Loki: :Typelist. Our solution provides tailor-made implicit conversion rules between appropriate groups, inclusion polymorphism and a tool for dynamic binding.
暂无评论