What exactly is a component? #3283
Replies: 1 comment
|
The stupid process answer would be "what a component is is defined in the glossary https://eclipse-score.github.io/process_description/main/glossary/index.html)". But I understand your point in the way: when we define a "component" in the architecture (the "RST component marker"), how should it be reflected in our "implementation" of this architecture ("folder/package" structure, "cc_library" bazel targets) so we can check if both match? My initial answer from looking at your table is: every component (also sub-components) should have a matching folder and cc_library, but it is not true the other way round: a cc_library can also represent a unit (or something else, e.g. mocks for testing). From looking at "score_platform" I would say: The exception for this are external components which we use as part of our architecture views - these would be found in bazel "deps", but how to match/check I have no answer for now. And we need some cleaning up still. |
Uh oh!
There was an error while loading. Please reload this page.
I'm stuck on the question what exactly a component is. It's surprisingly difficult to answer. However it would be good to know for things like test coverage.
I've tried creating some sort of overview. It's kind of wrong, incomplete and stupid, but enough to show that none of these actually match up.
score_baselibscc_librarydocs_bundlecomp__baselibs_ abi_compatible_data_typesdocs/baselibs/ components/ abi_compatible_data_typescomp__baselibs_ bit_manipulationscore/ bitmanipulation@score_baselibs//score/ bitmanipulation: bitmanipulation@score_baselibs//score/ bitmanipulation: bitmask_operators@score_baselibs//score/ bitmanipulation: docscomp__baselibs_ concurrencyscore/ concurrency@score_baselibs//score/ concurrency: atomic_indirector@score_baselibs//score/ concurrency: atomic_indirector_mock_binding@score_baselibs//score/ concurrency: atomic_interface@score_baselibs//score/ concurrency: clock✅
@score_baselibs//score/ concurrency: concurrency@score_baselibs//score/ concurrency: condition_variable@score_baselibs//score/ concurrency: delayed_task@score_baselibs//score/ concurrency: destruction_guard@score_baselibs//score/ concurrency: executor@score_baselibs//score/ concurrency: executor_mock@score_baselibs//score/ concurrency: interruptible_conditional_ variable_mock@score_baselibs//score/ concurrency: interruptible_interprocess_ condition_variable@score_baselibs//score/ concurrency: interruptible_wait@score_baselibs//score/ concurrency: locked_ptr@score_baselibs//score/ concurrency: long_running_threads_container@score_baselibs//score/ concurrency: notification@score_baselibs//score/ concurrency: periodic_task@score_baselibs//score/ concurrency: shared_task_result@score_baselibs//score/ concurrency: synchronized@score_baselibs//score/ concurrency: synchronized_queue@score_baselibs//score/ concurrency: task_result@score_baselibs//score/ concurrency: task_result_base@score_baselibs//score/ concurrency: test_types@score_baselibs//score/ concurrency: thread_pool@score_baselibs//score/ concurrency: type_traits@score_baselibs//score/ concurrency: unlock_guard@score_baselibs//score/ concurrency: valgrind_on_host@score_baselibs//score/ concurrency: docscomp__baselibs_ containersscore/ containers@score_baselibs//score/ containers: dynamic_array@score_baselibs//score/ containers: intrusivelist@score_baselibs//score/ containers: non_relocatable_vector@score_baselibs//score/ containers: docscomp__baselibs_ containers_rustscore/ containers_rust@score_baselibs//score/ containers_rust: docscomp__baselibs_ filesystemscore/ filesystem@score_baselibs//score/ filesystem: error@score_baselibs//score/ filesystem: file_status✅
@score_baselibs//score/ filesystem: filesystem@score_baselibs//score/ filesystem: mock@score_baselibs//score/ filesystem: path@score_baselibs//score/ filesystem: standard_filesystem@score_baselibs//score/ filesystem: standard_filesystem_fake@score_baselibs//score/ filesystem: struct@score_baselibs//score/ filesystem: docscomp__baselibs_ flatbuffersscore/ flatbuffers@score_baselibs//score/ flatbuffers: flatbufferscpp✅ @score_baselibs//score/ flatbuffers: flatbufferutils@score_baselibs//score/ flatbuffers: docscomp__baselibs_ hashscore/ hash@score_baselibs//score/ hash: hash@score_baselibs//score/ hash: hash_mock@score_baselibs//score/ hash: safe_hash@score_baselibs//score/ hash: docscomp__baselibs_ jsonscore/ json@score_baselibs//score/ json: interface✅
@score_baselibs//score/ json: json@score_baselibs//score/ json: json_parser_impl@score_baselibs//score/ json: json_serializer@score_baselibs//score/ json: json_writer_impl@score_baselibs//score/ json: mock@score_baselibs//score/ json: parser_interface@score_baselibs//score/ json: writer_interface@score_baselibs//score/ json: docscomp__baselibs_ json_wrapperscore/ json@score_baselibs//score/ json: interface@score_baselibs//score/ json: json@score_baselibs//score/ json: json_parser_impl@score_baselibs//score/ json: json_serializer@score_baselibs//score/ json: json_writer_impl@score_baselibs//score/ json: mock@score_baselibs//score/ json: parser_interface@score_baselibs//score/ json: writer_interface@score_baselibs//score/ json: docscomp__baselibs_ memory_sharedscore/ memory@score_baselibs//score/ memory: data_type_size_info@score_baselibs//score/ memory: endianness@score_baselibs//score/ memory: pmr_ring_buffer@score_baselibs//score/ memory: split_string_view@score_baselibs//score/ memory: string_comparison_adaptor@score_baselibs//score/ memory: string_literal@score_baselibs//score/ memory: docscomp__baselibs_ nlohman_jsonscore/ json@score_baselibs//score/ json: interface@score_baselibs//score/ json: json@score_baselibs//score/ json: json_parser_impl@score_baselibs//score/ json: json_serializer@score_baselibs//score/ json: json_writer_impl@score_baselibs//score/ json: mock@score_baselibs//score/ json: parser_interface@score_baselibs//score/ json: writer_interface@score_baselibs//score/ json: docscomp__baselibs_ osscore/ os@score_baselibs//score/ os: acl@score_baselibs//score/ os: arpa_inet@score_baselibs//score/ os: capability@score_baselibs//score/ os: dirent@score_baselibs//score/ os: dlfcn@score_baselibs//score/ os: errno@score_baselibs//score/ os: errno_logging@score_baselibs//score/ os: fcntl@score_baselibs//score/ os: getopt@score_baselibs//score/ os: glob@score_baselibs//score/ os: grp@score_baselibs//score/ os: ifaddrs@score_baselibs//score/ os: inotify@score_baselibs//score/ os: ioctl@score_baselibs//score/ os: libgen@score_baselibs//score/ os: mman@score_baselibs//score/ os: mount@score_baselibs//score/ os: mqueue@score_baselibs//score/ os: net_if@score_baselibs//score/ os: netdb@score_baselibs//score/ os: object_seam@score_baselibs//score/ os: pthread_default@score_baselibs//score/ os: pthread_qnx@score_baselibs//score/ os: rt_default@score_baselibs//score/ os: rt_qnx@score_baselibs//score/ os: sched@score_baselibs//score/ os: semaphore@score_baselibs//score/ os: sigevent@score_baselibs//score/ os: sigevent_error@score_baselibs//score/ os: socket@score_baselibs//score/ os: spawn@score_baselibs//score/ os: stat@score_baselibs//score/ os: statvfs@score_baselibs//score/ os: stdio@score_baselibs//score/ os: stdlib@score_baselibs//score/ os: string@score_baselibs//score/ os: sys_poll@score_baselibs//score/ os: sys_uio@score_baselibs//score/ os: sys_wait@score_baselibs//score/ os: time@score_baselibs//score/ os: uname@score_baselibs//score/ os: unistd@score_baselibs//score/ os: version@score_baselibs//score/ os: docscomp__baselibs_ resultscore/ result@score_baselibs//score/ result: error@score_baselibs//score/ result: error_msg_mapping✅
@score_baselibs//score/ result: result@score_baselibs//score/ result: result_for_rust@score_baselibs//score/ result: docscomp__baselibs_ safecppscore/ language/safecpp@score_baselibs//score/ language/safecpp: docscomp__baselibs_ static_reflectionscore/ static_reflection_ with_serialization@score_baselibs//score/ static_reflection_ with_serialization: docscomp__baselibs_ utilsscore/ utils@score_baselibs//score/ utils: base64@score_baselibs//score/ utils: static_destruction_guard@score_baselibs//score/ utils: docscomp__baselibs_ vajsonscore/ json@score_baselibs//score/ json: interface@score_baselibs//score/ json: json@score_baselibs//score/ json: json_parser_impl@score_baselibs//score/ json: json_serializer@score_baselibs//score/ json: json_writer_impl@score_baselibs//score/ json: mock@score_baselibs//score/ json: parser_interface@score_baselibs//score/ json: writer_interface@score_baselibs//score/ json: docscomp__logscore/ mw/log@score_baselibs//score/ mw/log: backend_table@score_baselibs//score/ mw/log: console@score_baselibs//score/ mw/log: frontend@score_baselibs//score/ mw/log: log_stream@score_baselibs//score/ mw/log: minimal@score_baselibs//score/ mw/log: plugin_api@score_baselibs//score/ mw/log: recorder@score_baselibs//score/ mw/log: recorder_mock@score_baselibs//score/ mw/log: shared_types@score_baselibs//score/ mw/log: docsscore_persistencycc_librarydocs_bundlecomp__persistency_kvsscore/ kvs@score_persistency//score/ kvs: kvs_cpp@score_persistency//score/ kvs: kvsvalue@score_persistency//score/ kvs: kvs_docsscore_lifecyclecc_librarydocs_bundlecomp__health_monitorscore/ health_monitor@score_lifecycle//score/ health_monitor: docscomp__lifecycle_launch_managerscore/ launch_manager@score_lifecycle//score/ launch_manager: error@score_lifecycle//score/ launch_manager: error_event@score_lifecycle//score/ launch_manager: mock_lifecycle_cc@score_lifecycle//score/ launch_manager: docsscore_loggingcc_librarydocs_bundlecomp__datarouterscore/ datarouter@score_logging//score/ datarouter: configurator_commands✅
@score_logging//score/ datarouter: datarouter_app✅
@score_logging//score/ datarouter: datarouter_benchmarking✅
@score_logging//score/ datarouter: datarouter_feature_config✅
@score_logging//score/ datarouter: datarouter_lib✅
@score_logging//score/ datarouter: datarouter_options✅
@score_logging//score/ datarouter: datarouter_socketserver✅
@score_logging//score/ datarouter: datarouter_socketserver_testing✅
@score_logging//score/ datarouter: datarouter_testing✅
@score_logging//score/ datarouter: datarouter_types@score_logging//score/ datarouter: diagnostic_job_handler_mock@score_logging//score/ datarouter: diagnostic_job_parser_mock@score_logging//score/ datarouter: dlt_log_channel_lib@score_logging//score/ datarouter: dlt_log_server_mock@score_logging//score/ datarouter: dltprotocol@score_logging//score/ datarouter: dltserver@score_logging//score/ datarouter: dltserver_common@score_logging//score/ datarouter: dltserver_testing@score_logging//score/ datarouter: libdrconfighdrs@score_logging//score/ datarouter: libstructdatasource@score_logging//score/ datarouter: log_entry_deserialization@score_logging//score/ datarouter: log_sender@score_logging//score/ datarouter: log_sender_mock@score_logging//score/ datarouter: logchannel_utility@score_logging//score/ datarouter: logparser@score_logging//score/ datarouter: logparser_factory_interface@score_logging//score/ datarouter: logparser_factory_mock@score_logging//score/ datarouter: logparser_interface@score_logging//score/ datarouter: logparser_mock@score_logging//score/ datarouter: logparser_testing@score_logging//score/ datarouter: message_passing_server@score_logging//score/ datarouter: persistentlogconfig@score_logging//score/ datarouter: socketserver_config_helpers@score_logging//score/ datarouter: socketserver_config_lib@score_logging//score/ datarouter: socketserver_config_lib_testing@score_logging//score/ datarouter: udp_send_interface@score_logging//score/ datarouter: udp_stream_output@score_logging//score/ datarouter: udpoutput_mock@score_logging//score/ datarouter: unixdomain_client@score_logging//score/ datarouter: unixdomain_common@score_logging//score/ datarouter: unixdomain_mock@score_logging//score/ datarouter: unixdomain_server@score_logging//score/ datarouter: unixdomain_testingcomp__mw_log_backendscore/ mw/log/backend@score_logging//score/ mw/log/backend: custom@score_logging//score/ mw/log/backend: file@score_logging//score/ mw/log/backend: remote@score_logging//score/ mw/log/backend: slogscore_timecc_librarydocs_bundlecomp__timescore/ time@score_time//score/ time: docs_bundlecomp__time_ts_clientscore/ ts_client@score_time//score/ ts_client: docs_bundlescore_platformcc_librarydocs_bundlecomp__com_configurationdocs/modules/communication/configurationcomp__com_frontenddocs/modules/communication/frontentcomp__com_ipc_bindingdocs/modules/communication/ipc_bindingcomp__com_message_passingdocs/modules/communication/message_passingcomp__com_mock_bindingdocs/modules/communication/mock_bindingcomp__feo_maindocs/modules/feo/feocomp__orch_deployment_impldocs/modules/orchestrator/orchestratorcomp__orch_design_impldocs/modules/orchestrator/orchestratorcomp__orch_executordocs/modules/orchestrator/executorcomp__orchestratordocs/modules/orchestrator/orchestratorcomp__os_autosddocs/modules/os/operating_systemscomp__os_ebclfsadocs/modules/os/operating_systemscomp__os_libcdocs/modules/os/libccomp__os_libcppdocs/modules/os/libcppcomp__os_message_passingdocs/modules/os/message_passingcomp__tracingdocs/modules/tracing/tracingAll reactions