Embedded, textual DSLs are often provided as an API wrapped around object-oriented application frameworks to ease framework integration. While literature presents claims that DSL-based application development is benef...
详细信息
ISBN:
(纸本)9781450306898
Embedded, textual DSLs are often provided as an API wrapped around object-oriented application frameworks to ease framework integration. While literature presents claims that DSL-based application development is beneficial, empirical evidence for this is rare. We present the results of an experiment comparing the complexity of three different object-oriented framework APIs and an embedded, textual DSL. For this comparative experiment, we implemented the same, non-trivial application scenario using these four different APIs. then, we performed an Object-Points (OP) analysis, yielding indicators for the API complexity specific to each API variant. the main observation for our experiment is that the embedded, textual DSL incurs the smallest API complexity. Although the results are exploratory, as well as limited to the given application scenario and a single embedded DSL, our findings can direct future empirical work. the experiment design is applicable for similar API design evaluations.
the importance of mobile devices has attracted increasing attention among designers, traditional media publishers, ad agencies, and companies of all sizes to create, distribute, monetize, and optimize interactive cont...
详细信息
ISBN:
(纸本)9781467308946;9788994364261
the importance of mobile devices has attracted increasing attention among designers, traditional media publishers, ad agencies, and companies of all sizes to create, distribute, monetize, and optimize interactive content for ubiquitous mobile application. Nonetheless, creating a good mobile application providing rich interactive user experience is time consuming due to the design chaos, communication cost and mobile technical issues. In this paper, a generative design framework is proposed to streamline this design process. this framework comprising three tools, template extraction tool, design exploration tool and packaging tool, is capable of providing non-programming application publishers an easy environment to design their application at the abstract user interface level. Grounded on this study, efficient creation of mobile applications providing rich interactive user experience and ubiquitous delivery is possible.
the validation and verification of reliable systems is a difficult and complex task, mainly for two reasons: First, it is difficult to precisely state which formal properties a system needs to fulfil to be of high qua...
详细信息
ISBN:
(纸本)9781450306898
the validation and verification of reliable systems is a difficult and complex task, mainly for two reasons: First, it is difficult to precisely state which formal properties a system needs to fulfil to be of high quality. Second, it is complex to automatically verify such properties, due to the size of the analysis state space which grows exponentially withthe number of components. We tackle these problems by a tool-supported method which embeds application functionality in building blocks that use UML activities to describe their internal behaviour. To describe their externally visible behaviour, we use a combination of complementary interface contracts, so-called ESMs and EESMs. In this paper, we present an extension of the interface contracts, External Reliability Contracts (ERCs), that capture failure behaviour. this separation of different behavioural aspects in separate descriptions facilitates a two-step analysis, in which the first step is completely automated and the second step is facilitated by an automatic translation of the models to the input syntax of the model checker TLC. Further, the cascade of contracts is used to separate the work of domain and reliability experts. the concepts are proposed withthe background of a real industry case, and we demonstrate how the use of interface
In the context of component-based programming, which addresses the implementation stage of a component-based software engineering development process, this paper describes a specification and an operational integratio...
详细信息
ISBN:
(纸本)9781450311298
In the context of component-based programming, which addresses the implementation stage of a component-based software engineering development process, this paper describes a specification and an operational integration of an inheritance system into a self-contained new component-based programming language named Compo. Our proposal completes and extends related works by making it possible to apply inheritance to the full description of components, i.e. both to structural (description of provisions and requirements, of component architecture) and behavioral (full implementations of services) parts in component descriptions. Inheritance in Compo is designed to be used in conjunction with composition to maximize reuse capabilities and expressive power. Compo implementation proposes a clear operational solution for inheritance and for achieving and testing substitutions. Copyright 2012 ACM.
component-based development promotes a software development process that focuses on component reuse. How to describe a desired component before searching in the repository? How to find an existing componentthat fulfi...
详细信息
ISBN:
(纸本)9781450311298
component-based development promotes a software development process that focuses on component reuse. How to describe a desired component before searching in the repository? How to find an existing componentthat fulfills the required functionalities? How to capture the system personalization based on its constitutive components' customization? To answer these questions, this paper claims that components should be described using three different forms at three development stages: architecture specification, configuration and assembly. However, no architecture description language proposes such a detailed description for components that supports such a three step component-based development. this paper proposes a three-level Adl, named Dedal, that enables the explicit and separate definitions of component roles, component classes, and component instances. Copyright 2012 ACM.
A software product line is a set of similar software products that share a common code base. While software product lines can be implemented efficiently using feature-oriented programming, verifying each product indiv...
详细信息
ISBN:
(纸本)9781450311298
A software product line is a set of similar software products that share a common code base. While software product lines can be implemented efficiently using feature-oriented programming, verifying each product individually does not scale, especially if human effort is required (e.g., as in interactive theorem proving). We present a family-based approach of deductive verification to prove the correctness of a software product line efficiently. We illustrate and evaluate our approach for software product lines written in a feature-oriented dialect of Java and specified using the Java Modeling Language. We show that the theorem prover KeY can be used off-the-shelf for this task, without any modifications. Compared to the individual verification of each product, our approach reduces the verification time needed for our case study by more than 85 %. Copyright 2012 ACM.
Xtext is an open-source framework for implementing external, textual domain-specific languages (DSLs). So far, most DSLs implemented with Xtext and similar tools focus on structural aspects such as service specificati...
详细信息
ISBN:
(纸本)9781450311298
Xtext is an open-source framework for implementing external, textual domain-specific languages (DSLs). So far, most DSLs implemented with Xtext and similar tools focus on structural aspects such as service specifications and entities. Because behavioral aspects are significantly more complicated to implement, they are often delegated to generalpurpose programming languages. this approach introduces complex integration patterns and the DSL's high level of abstraction is compromised. We present Xbase as part of Xtext, an expression language that can be reused via language inheritance in any DSL implementation based on Xtext. Xbase expressions provide both control structures and program expressions in a uniform way. Xbase is statically typed and tightly integrated withthe Java type system. Languages extending Xbase inherit the syntax of a Java-like expression language as well as language infrastructure components, including a parser, an unparser, a linker, a compiler and an interpreter. Furthermore, the framework provides integration into the Eclipse IDE including debug and refactoring support. the application of Xbase is presented by means of a domain model language which serves as a tutorial example and by the implementation of the programming language Xtend. Xtend is a functional and object-oriented general purpose language for the Java Virtual Machine (JVM). It is built on top of Xbase which is the reusable expression language that is the foundation of Xtend. Copyright 2012 ACM.
Software development in systems integration projects is still reliant on craftsmanship of highly skilled workers. To make such projects more profitable, an industrialized production, characterized by high efficiency, ...
详细信息
ISBN:
(纸本)9781841023151
Software development in systems integration projects is still reliant on craftsmanship of highly skilled workers. To make such projects more profitable, an industrialized production, characterized by high efficiency, quality, and automation seems inevitable. While first milestones of software industrialization have recently been achieved, it is questionable if these can be applied to the field of systems integration as well. Besides specialization, standardization and systematic reuse, automation represents the final and most sophisticated key concept of industrialization, represented by Model Driven engineering (MDE). the present work discusses the most prominent MDE approaches, while considering the particularities of systems integration. It identifies generativeprogramming as being most suitable and integrates it into previous works on Software Product Lines and component Based Development in Systems Integration.
the quantity and complexity that end-users are increasingly demanding from their applications and devices makes it impractical for a software developer to "foresee" every possible combination and explore eve...
详细信息
ISBN:
(纸本)9783642326080;9783642326097
the quantity and complexity that end-users are increasingly demanding from their applications and devices makes it impractical for a software developer to "foresee" every possible combination and explore every valid alternative. One solution is to empower end-users with tools that allows them to explore their necessities in a collaborative framework, where novices and experts can co-exist and share. We believe that such a tool could not only reduce the number of "small", specific-tailored applications, but also foster discovery and experimentation.
Record-replay is effective to reproduce non-deterministic bugs, and has gained attentions in research community. However, current approaches fall short of handling nondeterministic bugs in multi-processor platforms an...
详细信息
暂无评论