Large-Scale Visualization Projects for Teaching Software Engineering

2012 ◽  
Vol 32 (4) ◽  
pp. 14-19 ◽  
Author(s):  
Christoph Moller ◽  
Guido Reina ◽  
Michael Burch ◽  
Daniel Weiskopf
Author(s):  
Guilherme H. Travassos ◽  
Paulo Sérgio Medeiros dos Santos ◽  
Paula Gomes Mian ◽  
Paula Gomes Mian Neto ◽  
Jorge Biolchini

2015 ◽  
Vol 2 (1) ◽  
pp. 48-58 ◽  
Author(s):  
Lutz Schubert ◽  
Keith Jeffery

2008 ◽  
Vol 16 (4) ◽  
pp. 287-296 ◽  
Author(s):  
Joseph P. Kenny ◽  
Curtis L. Janssen ◽  
Mark S. Gordon ◽  
Masha Sosonkina ◽  
Theresa L. Windus

Cutting-edge scientific computing software is complex, increasingly involving the coupling of multiple packages to combine advanced algorithms or simulations at multiple physical scales. Component-based software engineering (CBSE) has been advanced as a technique for managing this complexity, and complex component applications have been created in the quantum chemistry domain, as well as several other simulation areas, using the component model advocated by the Common Component Architecture (CCA) Forum. While programming models do indeed enable sound software engineering practices, the selection of programming model is just one building block in a comprehensive approach to large-scale collaborative development which must also address interface and data standardization, and language and package interoperability. We provide an overview of the development approach utilized within the Quantum Chemistry Science Application Partnership, identifying design challenges, describing the techniques which we have adopted to address these challenges and highlighting the advantages which the CCA approach offers for collaborative development.


2015 ◽  
Vol 26 (05) ◽  
pp. 1550052 ◽  
Author(s):  
Lei Wang ◽  
Ping Wang

In this paper, we attempt to understand the propagation and stability feature of large-scale complex software from the perspective of complex networks. Specifically, we introduced the concept of "propagation scope" to investigate the problem of change propagation in complex software. Although many complex software networks exhibit clear "small-world" and "scale-free" features, we found that the propagation scope of complex software networks is much lower than that of small-world networks and scale-free networks. Furthermore, because the design of complex software always obeys the principles of software engineering, we introduced the concept of "edge instability" to quantify the structural difference among complex software networks, small-world networks and scale-free networks. We discovered that the edge instability distribution of complex software networks is different from that of small-world networks and scale-free networks. We also found a typical structure that contributes to the edge instability distribution of complex software networks. Finally, we uncovered the correlation between propagation scope and edge instability in complex networks by eliminating the edges with different instability ranges.


2016 ◽  
Vol 22 (4) ◽  
pp. 431-450 ◽  
Author(s):  
David H. Ackley ◽  
Elena S. Ackley

Traditional digital computing demands perfectly reliable memory and processing, so programs can build structures once then use them forever—but such deterministic execution is becoming ever more costly in large-scale systems. By contrast, living systems, viewed as computations, naturally tolerate fallible hardware by repairing and rebuilding structures even while in use—and suggest ways to compute using massive amounts of unreliable, merely best-effort hardware. However, we currently know little about programming without deterministic execution, in architectures where traditional models of computation—and deterministic ALife models such as the Game of Life—need not apply. This expanded article presents ulam, a language designed to balance concurrency and programmability upon best-effort hardware, using lifelike strategies to achieve robust and scalable computations. The article reviews challenges for traditional architecture, introduces the active-media computational model for which ulam is designed, and then presents the language itself, touching on its nomenclature and surface appearance as well as some broader aspects of robust software engineering. Several ulam examples are presented; then the article concludes with a brief consideration of the couplings between a computational model and its physical implementation.


2009 ◽  
Vol 2 (2) ◽  
pp. 1299-1333
Author(s):  
A. M. Horseman ◽  
A. R. MacKenzie ◽  
M. P. Chipperfield

Abstract. A new modelling tool for the investigation of large-scale behaviour of cirrus clouds has been developed. This combines two existing models, the TOMCAT/SLIMCAT chemistry transport model (nupdate library version 0.80, script mpc346_l) and cirrus parameterisation of Ren and MacKenzie (LACM implementation not versioned). The development process employed a subset of best-practice software engineering and quality assurance processes, selected to be viable for small-scale projects whilst maintaining the same traceability objectives. The application of the software engineering and quality control processes during the development has been shown to be not a great overhead, and their use has been of benefit to the developers as well as the end users of the results. We provide a step-by-step guide to the implementation of traceability tailored to the production of geo-scientific research software, as distinct from commercial and operational software. Our recommendations include: maintaining a living "requirements list"; explicit consideration of unit, integration and acceptance testing; and automated revision/configuration control, including control of analysis tool scripts and programs. Initial testing of the resulting model against satellite and in-situ measurements has been promising. The model produces representative results for both spatial distribution of the frequency of occurrence of cirrus ice, and the drying of air as it moves across the tropical tropopause. The model is now ready for more rigorous quantitative testing, but will require the addition of a vertical wind velocity downscaling scheme to better represent extra-tropical continental cirrus.


10.28945/3379 ◽  
2009 ◽  
Author(s):  
Lakshmi Narasimhan ◽  
Prapanna Parthasarathy ◽  
Manik Lal Das

Component-Based Software Engineering (CBSE) has shown significant prospects in rapid production of large software systems with enhanced quality, and emphasis on decomposition of the engineered systems into functional or logical components with well-defined interfaces used for communication across the components. In this paper, a series of metrics proposed by various researchers have been analyzed, evaluated and benchmarked using several large-scale publicly available software systems. A systematic analysis of the values for various metrics has been carried out and several key inferences have been drawn from them. A number of useful conclusions have been drawn from various metrics evaluations, which include inferences on complexity, reusability, testability, modularity and stability of the underlying components. The inferences are argued to be beneficial for CBSE-based software development, integration and maintenance.


Sign in / Sign up

Export Citation Format

Share Document