1,003 research outputs found
Recommended from our members
Systematic evaluation of software product line architectures
The architecture of a software product line is one of its most important artifacts as it represents an abstraction of the products that can be generated. It is crucial to evaluate the quality attributes of a product line architecture in order to: increase the productivity of the product line process and the quality of the products; provide a means to understand the potential behavior of the products and, consequently, decrease their time to market; and, improve the handling of the product line variability. The evaluation of product line architecture can serve as a basis to analyze the managerial and economical values of a product line for software managers and architects. Most of the current research on the evaluation of product line architecture does not take into account metrics directly obtained from UML models and their variabilities; the metrics used instead are difficult to be applied in general and to be used for quantitative analysis. This paper presents a Systematic Evaluation Method for UML-based Software Product Line Architecture, the SystEM-PLA. SystEM-PLA differs from current research as it provides stakeholders with a means to: (i) estimate and analyze potential products; (ii) use predefined basic UML-based metrics to compose quality attribute metrics; (iii) perform feasibility and trade-off analysis of a product line architecture with respect to its quality attributes; and, (iv) make the evaluation of product line architecture more flexible. An example using the SEI’s Arcade Game Maker (AGM) product line is presented as a proof of concept, illustrating SystEM-PLA activities. Metrics for complexity and extensibility quality attributes are defined and used to
perform a trade-off analysis
A UML Profile for Variety and Variability Awareness in Multidimensional Design: An application to Agricultural Robots
Variety and variability are an inherent source of information wealth in schemaless sources, and executing OLAP sessions on multidimensional data in their presence has recently become an object of research. However, all models devised so far propose a ``rigid'' view of the multidimensional content, without taking into account variety and variability. To fill this gap, in this paper we propose V-ICSOLAP, an extension of the ICSOLAP UML profile that supports extensibility and type/name variability for each multidimensional element, as well as complex data types for measures and levels. The real case study we use to motivate and illustrate our approach is that of trajectory analysis for agricultural robots. As a proof-of-concept for V-ICSOLAP, we propose an implementation that relies on the PostgreSQL multi-model DBMS and we evaluate its performances. We also provide a validation of our UML profile by ranking it against other meta-models based on a set of quality metrics
An Object-Oriented Architecture for Field Data Acquisition, Processing and Information Extraction
Software architecture was developed to automate site specific field data acquisition, processing, and geo-referenced crop plant parameters extraction. The architecture supported acquisition and processing of different data streams such as digital video for machine vision and digital serial communications of NMEA strings. The number of channels for data import could be easily expanded for multiple video, GPS, and other signal sources. The architecture was objectoriented and each component in the architecture was developed as a separate class. A key component of this architecture was a supervisor class, which communicated and coordinated the operations on all other classes. Based on this framework, early stage corn population estimation (ESCOPE) software was developed which grabs pre-recorded digital video from a vehicle-mounted camera, that was passed over corn rows, and acquires GPS strings which were modulated and recorded on the audio channel. A digital video (DV) capture class was written to acquire video using Microsoft’s DirectShow® technology which enables camera control and video acquisition using higher level hardware functions. After completion of software development, reusability and extensibility characteristics were demonstrated by adding a class to acquire images from the hard drive and also by deriving a new image analyzer class to extract an additional feature. The architecture forms a general framework for developing reusable and extensible software for field data sensing systems
A MODEL FOR ESTIMATING THE COST TRADEOFFS ASSOCIATED WITH OPEN ELECTRONIC SYSTEMS
An open systems approach (OSA), especially when used in conjunction with modular architecture, reuse, and harnessing of existing (COTS or proprietary) technologies, is commonly associated with cost avoidances resulting from: more efficient design; increased competition among suppliers; more efficient innovation and technology insertion; and modularization of qualification. However, OSA strategies require investment and may increase risk exposure. To determine if openness should be pursued, and to what degree, a quantitative model assessing the costs associated with openness is required.
Previous attempts to measure openness rely on qualitative measures, and cannot be used to estimate the life cycle cost impacts of openness. The model developed in this thesis quantitatively determines the effects of openness on life cycle cost. The life cycle cost difference between two implementations with differing levels of openness was calculated for a case study of an ARCI sonar system, providing insight into the value of openness. The case study performed in this thesis provides the first known quantitative support for Abts' COTS-LIMO hypothesis that increasing CFD increases cost avoidance. However, these results challenge Henderson's implicit assumption that marginal openness is always positive (increasing openness is always beneficial)
Evaluation of Frame- and Feature-based Software Product Line Tools from the Viewpoint of Mass Customization by End Users
Customers expect Information and Communications Technology (ICT) platforms and applications to deliver services customized to their needs. Software product line (SPL) paradigm uses platforms and variability management to develop mass-customizable software applications. The paradigm necessitates effective software tools to manage platform and application artifacts and traceability and variability information. This paper constructs a comprehensive but lightweight tool evaluation framework and uses it to evaluate two tools, XML-based variant configuration language (XVCL) and FeaturePlugin – a feature modeling plug-in for Eclipse Integrated Development Environment. The paper analyzes the capabilities of the tools for enabling the mass customization of software applications by the end users performing complex workflows. Both the XVCL and FeaturePlugin tool envisage more efficient software system development by means of reusability, support for abstraction, and configuration mechanisms. Future research is needed to refine and validate the evaluation framework in the context of other types of SPL tools
Metamorphic Domain-Specific Languages: A Journey Into the Shapes of a Language
External or internal domain-specific languages (DSLs) or (fluent) APIs?
Whoever you are -- a developer or a user of a DSL -- you usually have to choose
your side; you should not! What about metamorphic DSLs that change their shape
according to your needs? We report on our 4-years journey of providing the
"right" support (in the domain of feature modeling), leading us to develop an
external DSL, different shapes of an internal API, and maintain all these
languages. A key insight is that there is no one-size-fits-all solution or no
clear superiority of a solution compared to another. On the contrary, we found
that it does make sense to continue the maintenance of an external and internal
DSL. The vision that we foresee for the future of software languages is their
ability to be self-adaptable to the most appropriate shape (including the
corresponding integrated development environment) according to a particular
usage or task. We call metamorphic DSL such a language, able to change from one
shape to another shape
- …