27,100 research outputs found
Applying model-driven paradigm: CALIPSOneo experience
Model-Driven Engineering paradigm is being used by the research community in the last years, obtaining suitable results. However, there are few practical experiences in the enterprise field. This paper presents the use of this paradigm in an aeronautical PLM project named CALIPSOneo currently under development in Airbus. In this context, NDT methodology was adapted as methodology in order to be used by the development team. The paper presents this process and the results that we are getting from the project. Besides, some relevant learned lessons from the trenches are concluded.Ministerio de Ciencia e Innovación TIN2010-20057-C03-02Junta de Andalucía TIC-578
Defining and validating a multimodel approach for product architecture derivation and improvement
The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-642-41533-3_24Software architectures are the key to achieving the non-functional
requirements (NFRs) in any software project. In software product line (SPL)
development, it is crucial to identify whether the NFRs for a specific product
can be attained with the built-in architectural variation mechanisms of the
product line architecture, or whether additional architectural transformations are
required. This paper presents a multimodel approach for quality-driven product
architecture derivation and improvement (QuaDAI). A controlled experiment is
also presented with the objective of comparing the effectiveness, efficiency,
perceived ease of use, intention to use and perceived usefulness with regard to
participants using QuaDAI as opposed to the Architecture Tradeoff Analysis
Method (ATAM). The results show that QuaDAI is more efficient and
perceived as easier to use than ATAM, from the perspective of novice software
architecture evaluators. However, the other variables were not found to be
statistically significant. Further replications are needed to obtain more
conclusive results.This research is supported by the MULTIPLE project (MICINN TIN2009-13838) and the Vali+D fellowship program (ACIF/2011/235).González Huerta, J.; Insfrán Pelozo, CE.; Abrahao Gonzales, SM. (2013). Defining and validating a multimodel approach for product architecture derivation and improvement. En Model-Driven Engineering Languages and Systems. Springer. 388-404. https://doi.org/10.1007/978-3-642-41533-3_24S388404Ali-Babar, M., Lago, P., Van Deursen, A.: Empirical research in software architecture: opportunities, challenges, and approaches. Empirical Software Engineering 16(5), 539–543 (2011)Ali-Babar, M., Zhu, L., Jeffery, R.: A Framework for Classifying and Comparing Software Architecture Evaluation Methods. In: 15th Australian Software Engineering Conference, Melbourne, Australia, pp. 309–318 (2004)Basili, V.R., Rombach, H.D.: The TAME project: towards improvement-oriented software environments. IEEE Transactions on Software Engineering 14(6), 758–773 (1988)Barkmeyer, E.J., Feeney, A.B., Denno, P., Flater, D.W., Libes, D.E., Steves, M.P., Wallace, E.K.: Concepts for Automating Systems Integration NISTIR 6928. National Institute of Standards and Technology, U.S. Dept. of Commerce (2003)Bosch, J.: Design and Use of Software Architectures. Adopting and Evolving Product-Line Approach. Addison-Wesley, Harlow (2000)Botterweck, G., O’Brien, L., Thiel, S.: Model-driven derivation of product architectures. In: 22th Int. Conf. on Automated Software Engineering, New York, USA, pp. 469–472 (2007)Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented software architecture, vol. 1: A System of Patterns. Wiley (1996)Cabello, M.E., Ramos, I., Gómez, A., Limón, R.: Baseline-Oriented Modeling: An MDA Approach Based on Software Product Lines for the Expert Systems Development. In: 1st Asia Conference on Intelligent Information and Database Systems, Vietnam (2009)Carifio, J., Perla, R.J.: Ten Common Misunderstandings, Misconceptions, Persistent Myths and Urban Legends about Likert Scales and Likert Response Formats and their Antidotes. Journal of Social Sciences 3(3), 106–116 (2007)Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2007)Czarnecki, K., Kim, C.H.: Cardinality-based feature modeling and constraints: A progress report. In: Int. Workshop on Software Factories, San Diego-CA (2005)Datorro, J.: Convex Optimization & Euclidean Distance Geometry. Meboo Publishing (2005)Davis, F.D.: Perceived usefulness, perceived ease of use and user acceptance of information technology. MIS Quarterly 13(3), 319–340 (1989)Douglass, B.P.: Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Addison-Wesley, Boston (2002)Feiler, P.H., Gluch, D.P., Hudak, J.: The Architecture Analysis & Design Language (AADL): An Introduction. Tech. Report CMU/SEI-2006-TN-011. SEI, Carnegie Mellon University (2006)Gómez, A., Ramos, I.: Cardinality-based feature modeling and model-driven engineering: Fitting them together. In: 4th Int. Workshop on Variability Modeling of Software Intensive Systems, Linz, Austria (2010)Gonzalez-Huerta, J., Insfran, E., Abrahao, S.: A Multimodel for Integrating Quality Assessment in Model-Driven Engineering. In: 8th International Conference on the Quality of Information and Communications Technology (QUATIC 2012), Lisbon, Portugal, September 3-6 (2012)Gonzalez-Huerta, J., Insfran, E., Abrahao, S., McGregor, J.D.: Non-functional Requirements in Model-Driven Software Product Line Engineering. In: 4th Int. Workshop on Non-functional System Properties in Domain Specific Modeling Languages, Insbruck, Austria (2012)Guana, V., Correal, V.: Variability quality evaluation on component-based software product lines. In: 15th Int. Software Product Line Conference, Munich, Germany, vol. 2, pp. 19.1–19.8 (2011)Insfrán, E., Abrahão, S., González-Huerta, J., McGregor, J.D., Ramos, I.: A Multimodeling Approach for Quality-Driven Architecture Derivation. In: 21st Int. Conf. on Information Systems Development (ISD 2012), Prato, Italy (2012)ISO/IEC 25000:2005, Software Engineering. Software product Quality Requirements and Evaluation SQuaRE (2005)Kazman, R., Klein, M., Clements, P.: ATAM: Method for Architecture Evaluation (CMU/SEI-2000-TR-004, ADA382629). Software Engineering Institute, Carnegie Mellon University, Pittsburgh (2000), http://www.sei.cmu.edu/publications/documents/00.reports/00tr004.htmlKim, T., Ko, I., Kang, S., Lee, D.: Extending ATAM to assess product line architecture. In: 8th IEEE Int. Conference on Computer and Information Technology, Sydney, Australia, pp. 790–797 (2008)Kitchenham, B.A., Pfleeger, S.L., Hoaglin, D.C., Rosenber, J.: Preliminary Guidelines for Empirical Research in Software Engineering. IEEE Transactions on Software Engineering 28(8) (2002)Kruchten, P.B.: The Rational Unified Process: An Introduction. Addison-Wesley (1999)Martensson, F.: Software Architecture Quality Evaluation. Approaches in an Industrial Context. Ph. D. thesis, Blekinge Institute of Technology, Karlskrona, Sweden (2006)Maxwell, K.: Applied Statistics for Software Managers. Software Quality Institute Series. Prentice-Hall (2002)Olumofin, F.G., Mišic, V.B.: A holistic architecture assessment method for software product lines. Information and Software Technology 49, 309–323 (2007)Perovich, D., Rossel, P.O., Bastarrica, M.C.: Feature model to product architectures: Applying MDE to Software Product Lines. In: IEEE/IFIP & European Conference on Software Architecture, Helsinki, Findland, pp. 201–210 (2009)Robertson, S., Robertson, J.: Mastering the requirements process. ACM Press, New York (1999)Roos-Frantz, F., Benavides, D., Ruiz-Cortés, A., Heuer, A., Lauenroth, K.: Quality-aware analysis in product line engineering with the orthogonal variability model. Software Quality Journal (2011), doi:10.1007/s11219-011-9156-5Saaty, T.L.: The Analytical Hierarchical Process. McGraw- Hill, New York (1990)Taher, L., Khatib, H.E., Basha, R.: A framework and QoS matchmaking algorithm for dynamic web services selection. In: 2nd Int. Conference on Innovations in Information Technology, Dubai, UAE (2005)Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Weslen, A.: Experimentation in Software Engineering - An Introduction. Kluwer (2000
Architecture for Provenance Systems
This document covers the logical and process architectures of provenance systems. The logical architecture identifies key roles and their interactions, whereas the process architecture discusses distribution and security. A fundamental aspect of our presentation is its technology-independent nature, which makes it reusable: the principles that are exposed in this document may be applied to different technologies
Automatic allocation of safety requirements to components of a software product line
Safety critical systems developed as part of a product line must still comply with safety standards. Standards use the concept of Safety Integrity Levels (SILs) to drive the assignment of system safety requirements to components of a system under design. However, for a Software Product Line (SPL), the safety requirements that need to be allocated to a component may vary in different products. Variation in design can indeed change the possible hazards incurred in each product, their causes, and can alter the safety requirements placed on individual components in different SPL products. Establishing common SILs for components of a large scale SPL by considering all possible usage scenarios, is desirable for economies of scale, but it also poses challenges to the safety engineering process. In this paper, we propose a method for automatic allocation of SILs to components of a product line. The approach is applied to a Hybrid Braking System SPL design
The Feature-Architecture Mapping Method for Feature-Oriented Development of Software Product Lines
Software Produktlinien sind die Antwort von Software Engineering auf die
zu-nehmende Komplexität und kürzerenProdukteinführungszeiten von heutigen
Softwaresystemen. Nichtsdestotrotz erfordern Software Produktlinien
einefortgeschrittene Wartbarkeit und hohe Flexibilität. Das kann durch die
angemessene Trennung der Belange erreicht werden.Merkmale stellen die
Hauptbelange im Kontext von Software Produktlinien dar. Demzufolge sollte
ein Merkmal idealerweise ingenau einer Architekturkomponente implementiert
werden. In der Praxis ist das jedoch nicht immer machbar. Deshalb
solltezumindest ein starkes Mapping zwischen Merkmalen und der Architektur
bestehen. Die Methoden zur Entwicklung von SoftwareProduktlinien, die dem
Stand der Technik entsprechen, führen zu bedeutender Verstreutheit und
Vermischung von Merkmalen. Indieser Arbeit wird die Feature-Architecture
Mapping (FArM) Methode entwickelt, um ein stärkeres Mapping zwischen
Merkmalenund der Produktlinien-Architektur zu erzielen. Der Input für FArM
besteht in einem initialen Merkmalmodell, das anhand einerMethode zur
Domänenanalyse erstellt wurde. Dieses initiale Merkmalmodell wird einer
Serie von Transformationen unterzogen.Die Transformationen streben danach,
ein Gleichgewicht zwischen der Sichtweise von Kunden und
Softwarearchitekteneinzustellen. Die Merkmalinteraktionen werden während
der Transformationen ausdrücklich optimiert. Von jedem Merkmal
destransformierten Merkmalmodells wird eine Architekturkomponente
abgeleitet. Die Architekturkomponenten implementieren dieApplikationslogik
der entsprechenden Merkmale. Die Kommunikation zwischen den Komponenten
spiegelt die Interaktion zwischenden Merkmalen wider. Dieser Ansatz führt
im Vergleich zu den Produktlinien-Entwicklungsmethoden des Stands der
Technik zueinem stärkeren Mapping zwischen Merkmalen und der Architektur
und zu einer höheren Variabilität auf Merkmalebene. DieseEigenschaften
haben eine bessere Wartbarkeit und eine vereinfachte generative
Produktinstanzierung zur Folge, was wiederumdie Flexibilität der
Produktlinien steigert. FArM wurde durch ihre Anwendung in einigen Domänen
evaluiert, z.B. in denDomänen von Mobiltelefonen und Integrierten
Entwicklungsumgebungen (IDEs). Diese Arbeit wird FArM anhand einer
Fallstudie inder Domäne von Künstlichen Neuronalen Netzwerken präsentieren.Software product lines are the answer of software engineering to the
increasing complexity and shorter time-to-market ofcontemporary software
systems. Nonetheless, software product lines demand for advanced
maintainability and high flexibility.The latter can be achieved through the
proper separation of concerns. Features pose the main concerns in the
context ofsoftware product lines. Consequently, one feature should ideally
be implemented into exactly one architectural component. Inpractice, this
is not always feasible. Therefore, at least a strong mapping between
features and the architecture mustexist. The state of the art product line
development methodologies introduce significant scattering and tangling
offeatures. In this work, the Feature-Architecture Mapping (FArM) method is
developed, to provide a stronger mapping betweenfeatures and the product
line architecture. FArM receives as input an initial feature model created
by a domain analysismethod. The initial feature model undergoes a series of
transformations. The transformations strive to achieve a balancebetween the
customer and architectural perspectives. Feature interaction is explicitly
optimized during the feature modeltransformations. For each feature of the
transformed feature model, one architectural component is derived.
Thearchitectural components implement the application logic of the
respective features. The component communication reflectsthe feature
interaction. This approach, compared to the state of the art product line
methodologies, allows a strongerfeature-architecture mapping and for higher
variability on the feature level. These attributes provide
highermaintainability and an improved generative approach to product
instantiation, which in turn enhances product lineflexibility. FArM has
been evaluated through its application in a number of domains, e.g in the
mobile phone domain and theIntegrated Development Environment (IDE) domain.
This work will present FArM on the basis of a case study in the domain
ofartificial Neural Networks
Validating a model-driven software architecture evaluation and improvement method: A family of experiments
Context: Software architectures should be evaluated during the early stages of software development in
order to verify whether the non-functional requirements (NFRs) of the product can be fulfilled. This
activity is even more crucial in software product line (SPL) development, since it is also necessary to
identify whether the NFRs of a particular product can be achieved by exercising the variation
mechanisms provided by the product line architecture or whether additional transformations are
required. These issues have motivated us to propose QuaDAI, a method for the derivation, evaluation
and improvement of software architectures in model-driven SPL development.
Objective: We present in this paper the results of a family of four experiments carried out to empirically
validate the evaluation and improvement strategy of QuaDAI.
Method: The family of experiments was carried out by 92 participants: Computer Science Master s and
undergraduate students from Spain and Italy. The goal was to compare the effectiveness, efficiency,
perceived ease of use, perceived usefulness and intention to use with regard to participants using the
evaluation and improvement strategy of QuaDAI as opposed to the Architecture Tradeoff Analysis
Method (ATAM).
Results: The main result was that the participants produced their best results when applying QuaDAI, signifying
that the participants obtained architectures with better values for the NFRs faster, and that they
found the method easier to use, more useful and more likely to be used. The results of the meta-analysis
carried out to aggregate the results obtained in the individual experiments also confirmed these results.
Conclusions: The results support the hypothesis that QuaDAI would achieve better results than ATAM in
the experiments and that QuaDAI can be considered as a promising approach with which to perform
architectural evaluations that occur after the product architecture derivation in model-driven SPL
development processes when carried out by novice software evaluators.The authors would like to thank all the participants in the experiments for their selfless involvement in this research. This research is supported by the MULTIPLE Project (MICINN TIN2009-13838) and the ValI+D Program (ACIF/2011/235).González Huerta, J.; Insfrán Pelozo, CE.; Abrahao Gonzales, SM.; Scanniello, G. (2015). Validating a model-driven software architecture evaluation and improvement method: A family of experiments. Information and Software Technology. 57:405-429. https://doi.org/10.1016/j.infsof.2014.05.018S4054295
Towards an Adaptive Skeleton Framework for Performance Portability
The proliferation of widely available, but very different, parallel architectures
makes the ability to deliver good parallel performance
on a range of architectures, or performance portability, highly desirable.
Irregularly-parallel problems, where the number and size
of tasks is unpredictable, are particularly challenging and require
dynamic coordination.
The paper outlines a novel approach to delivering portable parallel
performance for irregularly parallel programs. The approach
combines declarative parallelism with JIT technology, dynamic
scheduling, and dynamic transformation.
We present the design of an adaptive skeleton library, with a task
graph implementation, JIT trace costing, and adaptive transformations.
We outline the architecture of the protoype adaptive skeleton
execution framework in Pycket, describing tasks, serialisation,
and the current scheduler.We report a preliminary evaluation of the
prototype framework using 4 micro-benchmarks and a small case
study on two NUMA servers (24 and 96 cores) and a small cluster
(17 hosts, 272 cores). Key results include Pycket delivering good
sequential performance e.g. almost as fast as C for some benchmarks;
good absolute speedups on all architectures (up to 120 on
128 cores for sumEuler); and that the adaptive transformations do
improve performance
- …