IEEE Geoscience and Remote Sensing Magazine - September 2020 - 71

deployment. For instance, the requirements analysis took
place mostly during the creation of the SCoBi model [16]
over several years, and then the simulator framework was
designed, implemented, and tested with increments. However, many iterations have been performed on the requirements, design, and implementation based on the results of
the tests and findings of the studies [16], [23] undertaken
for the preliminary SCoBi versions. Our tests demonstrated the verification of the SCoBi simulator framework. In
other words, tests show that the simulator meets the requirements of the SCoBi model. The validation of SCoBi
is mature, to some degree, because the simulated results
are compared and shown to be in agreement with several
experimental studies [16], [23]. The multilayered ground
simulations for bare soil and vegetated terrains are currently being used for validation purposes [17] for the SNoOPI
project [18]. CYGNSS-based reflectivity derivations [4]
over homogenous and known terrain conditions, such as
agricultural fields, are currently being compared to SCoBigenerated reflectivity values during our ongoing research
[29]. Moreover, airborne and tower data collection campaigns are planned for further experimental validation in
the near future. For this purpose, observatory data are currently being collected over several terrains using in-housebuilt drone-based receivers. We will handle the maintenance of the SCoBi product for scheduled improvements
(such as improving exception-handling mechanisms or
adding new SoOp analysis types), user requests, and possible scientific collaborations.
The SCoBi source code was implemented in the MATLAB R2017a environment; however, it is compatible with
the versions above MATLAB R2015a (the oldest version that
SCoBi was tested with) within the MS Windows Operating
System (64-bit Windows 10). SCoBi does not require additional MATLAB toolboxes or plugins. MATLAB was chosen
for the development because of its common use among researchers, efficient handling of the matrices, simple scripting features, and plotting capabilities. Both the structural
and behavioral design models of the SCoBi software can be
found in the Sparx Systems' Enterprise Architect design file
shown in Figure 1. However, the SCoBi design details can
be explained as follows.
STRUCTURAL DESIGN
The SCoBi architectural design is mainly achieved using the procedural programming principles MATLAB
intrinsically supports. However, object-oriented programming (OOP) design and implementation principles
are also utilized, as needed, for advanced design, data
encapsulation, manipulation, code organization and
readability, and maintenance purposes. Combining two
design approaches offers the enumerated advantages of
the OOP design while exploiting MATLAB's procedural
scripting capabilities. For instance, the simulation engine (runSCoBi.m) is operated only by a MATLAB procedure (function) implementation, whereas the dynamic
SEPTEMBER 2020

IEEE GEOSCIENCE AND REMOTE SENSING MAGAZINE

and static system parameters are handled with the help
of several classes with singleton pattern features.
The software packages within the source code are determined with respect to the relational hierarchy between
each software entity (MATLAB functions or classes). Each
package consists of several functions and/or classes.
The Unified Modeling Language (UML) package diagram for the SCoBi source code (/source/lib/) packages
is represented in Figure 8. The runSCoBi.m function is
directly beneath the lib package. It uses several packages
to perform specific tasks to compute the model's output;
for instance, the gui package obtains the user inputs for
simulations, the init and param packages initialize the
simulation parameters using the information (inputs)
from the gui package, and the main package performs
every simulation iteration. The main package uses the
param package to manipulate parameters-related tasks,
the bistatic package to handle the bistatic geometry, the
ground package to account for ground operations (dielectric calculation and specular reflection), the multilayer
and vegetation packages (if involved in a simulation),
and the products package to create and store simulation
outputs. There are information flows from the bistatic,
ground, multilayer (if included), and vegetation (if included) packages to the products package.
The SCoBi design file (created in Enterprise Architect)
also includes the UML class model of the software (lib
package). In fact, class models are dedicated to the class
instances in the OOP designs; however, this model is employed to depict the entire structural relations (usage, information flow, or inheritance) between the source code
entities (MATLAB functions and classes). Although this is
not a valid use of the class model, it can help developers understand the general structure of SCoBi. Because the overall
SCoBi class model is highly complicated, class models are
also provided for the runSCoBi.m and mainSCoBi.m functions, which are the simulation engine and simulation iterator functions, respectively. These two models show only
the dedicated function and its first-degree relations with
the other source code entities.
BEHAVIORAL DESIGN
UML behavioral diagrams, such as sequence and activity
diagrams, are specialized to demonstrate the dynamic aspects of software programs. The UML activity diagrams are
used to show the temporal flow of the SCoBi simulator. The
SCoBi design file contains activity diagrams for both the
simulation engine and simulation iterator because these
two deal with the overall flow. The SCoBi simulator framework always starts by running the runSCoBi.m function.
The activities and the decisions performed as part of this
function are pictured in Figure 9. In summary, the simulation engine receives the user inputs, initializes the parameters and simulation by using these inputs (with the help of
input validation controls), and calls the simulation iterator
(mainSCoBi.m) after writing the simulation reports.
71



IEEE Geoscience and Remote Sensing Magazine - September 2020

Table of Contents for the Digital Edition of IEEE Geoscience and Remote Sensing Magazine - September 2020

Contents
IEEE Geoscience and Remote Sensing Magazine - September 2020 - Cover1
IEEE Geoscience and Remote Sensing Magazine - September 2020 - Cover2
IEEE Geoscience and Remote Sensing Magazine - September 2020 - Contents
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 2
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 3
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 4
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 5
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 6
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 7
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 8
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 9
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 10
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 11
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 12
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 13
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 14
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 15
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 16
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 17
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 18
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 19
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 20
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 21
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 22
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 23
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 24
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 25
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 26
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 27
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 28
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 29
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 30
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 31
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 32
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 33
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 34
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 35
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 36
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 37
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 38
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 39
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 40
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 41
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 42
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 43
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 44
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 45
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 46
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 47
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 48
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 49
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 50
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 51
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 52
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 53
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 54
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 55
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 56
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 57
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 58
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 59
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 60
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 61
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 62
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 63
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 64
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 65
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 66
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 67
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 68
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 69
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 70
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 71
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 72
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 73
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 74
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 75
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 76
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 77
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 78
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 79
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 80
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 81
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 82
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 83
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 84
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 85
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 86
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 87
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 88
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 89
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 90
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 91
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 92
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 93
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 94
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 95
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 96
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 97
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 98
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 99
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 100
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 101
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 102
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 103
IEEE Geoscience and Remote Sensing Magazine - September 2020 - 104
IEEE Geoscience and Remote Sensing Magazine - September 2020 - Cover3
IEEE Geoscience and Remote Sensing Magazine - September 2020 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2023
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2023
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2023
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2023
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2022
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2022
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2022
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2022
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2021
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2021
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2021
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2021
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2020
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2020
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2020
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2020
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2019
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2019
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2019
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2019
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2018
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2018
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2018
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2018
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2017
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2017
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2017
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2017
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2016
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2016
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2016
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2016
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2015
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2015
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2015
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2015
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2014
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2014
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2014
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2014
https://www.nxtbook.com/nxtbooks/ieee/geoscience_december2013
https://www.nxtbook.com/nxtbooks/ieee/geoscience_september2013
https://www.nxtbook.com/nxtbooks/ieee/geoscience_june2013
https://www.nxtbook.com/nxtbooks/ieee/geoscience_march2013
https://www.nxtbookmedia.com