Heterogeneous processors that mix big high performance cores with small low power cores promise excellent single– threaded performance coupled with high multi–threaded through...
Dheeraj Reddy, David A. Koufaty, Paul Brett, Scott...
Software systems are increasingly being built as compositions of reusable artifacts (components, frameworks, toolkits, plug-ins, APIs, etc) that have non-trivial usage constraints...
s from a concrete to a new abstract level of description [1]. Rises in abstraction level happen regularly in all fields, but the key difference in Alexander's work was that ra...
Successful software development and management depends not only on the technologies, methods and processes employed but also on the judgments and decisions of the humans involved....
Robert Feldt, Lefteris Angelis, Richard Torkar, Ma...
Developers change source code to add new functionality, fix bugs, or refactor their code. Many of these changes have immediate impact on quality or stability. However, some impact...
Model-driven architecture (MDA) is a model-based approach for engineering complex software systems. MDA is particularly attractive for designing embedded systems because models ca...
Ethan K. Jackson, Eunsuk Kang, Markus Dahlweid, Di...
Component-based software development needs to formalize a process of generation, evaluation and selection of Composite COTS-based Software Systems (CCSS), enabling software archit...
Formalizing and institutionalizing software processes has become a necessity in recent years requiring the management and enhancement of software production and, at the same time,...
Certified software consists of a machine-executable program plus a formal machine-checkable proof that the software is free of bugs with respect to a claim of dependability. The c...
: Component-based software development has matured into standard practice in software engineering. Among the advantages of reusing software modules are lower costs, faster developm...