![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Classes | |
| struct | Citation |
| One bibliography entry. More... | |
| struct | Distrib |
| struct | ExactValue |
| An exact scalar as it crosses to a host without a rational type: the two decimal integer strings, plus the double a host can use directly. More... | |
| struct | JmtDistView |
| The (D0, D1) pair a JMT MAP or phase-type parameter block is built from, plus the moments the analytic families are reconstructed from. More... | |
| struct | JmtSections |
| The three JMT section class names of a node: input, server, output. More... | |
| struct | JmtWriteOptions |
| The simulation controls the JSIM header carries, MATLAB's JMTIO properties. More... | |
| class | JmtWriter |
| The writer itself. More... | |
| struct | Map2RenvInfo |
| The INFO output of map2renv: how the stage set was assembled. More... | |
| struct | QnModel |
Enumerations | |
| enum class | JmtMetricKind { QLen , Util , RespT , Tput , ArvR , Tard , SysTard } |
| The measure kinds saveMetrics requests, in the order it requests them. More... | |
| enum class | ProcessType |
| Distribution kinds, with the values of MATLAB ProcessType. More... | |
| enum class | JoinStrategy |
| Join rules, with the values of MATLAB JoinStrategy. More... | |
| enum class | NodeType |
| Node kinds, with the values of MATLAB NodeType. More... | |
| enum class | PollingType |
| Polling service disciplines, with the values of MATLAB PollingType. More... | |
| enum class | RoutingStrategy |
| Routing strategies, with the values of MATLAB RoutingStrategy. More... | |
| enum class | SchedStrategy |
| Scheduling disciplines, with the values of MATLAB SchedStrategy. More... | |
Functions | |
| bool | docker_daemon_available () |
| True if the Docker daemon is reachable. | |
| bool | docker_has_local_image (const std::string &image) |
| bool | docker_pull (const std::string &image) |
| Pulls an image, streaming Docker's progress to stdout and stderr. | |
| bool | docker_has_storage_for (const std::string &image) |
| template<class T> | |
| env::Environment< T > | build_environment_from_json (const detail::json &root) |
| Build an env::Environment<T> from a parsed model.json envelope. | |
| template<class T> | |
| env::Environment< T > | read_environment_json (const std::string &path) |
| Parse a model.json file into an env::Environment<T>. | |
| std::string | jmt_fmt (double x) |
| sprintf('%.12f', x), the numeric format of every JMT <value> body. | |
| std::string | jmt_int (double x) |
| int2str(x): round to nearest, print as a decimal integer. | |
| std::string | jmt_num (double x) |
| num2str(x): MATLAB's default five-significant-digit form. | |
| std::string | jmt_sig2 (double x) |
| num2str(x, 2): the two-significant-digit form used for alpha/precision. | |
| xml::Element & | jmt_scalar (xml::Element &parent, const char *class_path, const char *name, const std::string &value) |
| <subParameter classPath="java.lang.Double" name="NAME"><value>V</value> | |
| xml::Element & | jmt_double (xml::Element &parent, const char *name, double v) |
| A java.lang.Double scalar subparameter. | |
| template<class T> | |
| JmtDistView< T > | jmt_dist_view (const Distrib< T > &d) |
| Lower a Distrib to the view above. | |
| bool | jmt_is_phase_type (ProcessType t, std::size_t phases) |
| True when the reference routes the process through JMT's PhaseTypeDistr rather than through a named analytic law. | |
| xml::Element & | jmt_object_array (xml::Element &parent, const char *name) |
| <subParameter array="true" classPath="java.lang.Object" name="NAME"> | |
| void | jmt_append_row (xml::Element &parent, const Matrix< double > &M, std::size_t row, std::size_t n, bool negate_diagonal) |
| One vector of entry doubles, the JMT encoding of a matrix row. | |
| template<class T> | |
| void | jmt_append_distribution (xml::Element &wrapper, const JmtDistView< T > &v, const char *who) |
| Append the distribution and distrPar pair for one process. | |
| template<class T> | |
| std::vector< std::vector< bool > > | jmt_conn_matrix (const qn::NetworkStruct< T > &sn) |
| sn.connmatrix: which ordered pairs of nodes the model LINKED. | |
| template<class T> | |
| std::vector< bool > | jmt_exportable_classes (const qn::NetworkStruct< T > &sn) |
| Port of getExportableClasses. | |
| template<class T> | |
| JmtSections< T > | jmt_sections (const qn::NetworkStruct< T > &sn, std::size_t ind) |
| const char * | jmt_metric_text (JmtMetricKind k) |
| The JMT type attribute, MATLAB MetricType.toText. | |
| template<class T> | |
| bool | jmt_metric_enabled (const qn::NetworkStruct< T > &sn, JmtMetricKind kind, std::size_t ist, std::size_t r, const std::vector< bool > &is_cache_class) |
| Port of the disabled rules in getAvgHandles, per (station, class). | |
| template<class T> | |
| std::vector< bool > | jmt_cache_classes (const qn::NetworkStruct< T > &sn) |
| The classes a Cache switches jobs into; they keep their Tput/ArvR measures. | |
| xml::Element & | jmt_param (xml::Element §ion, const char *class_path, const char *name, bool array) |
| <parameter array="true" classPath="CP" name="NAME"> | |
| void | jmt_param_value (xml::Element §ion, const char *class_path, const char *name, const std::string &value) |
| <parameter classPath="CP" name="NAME"><value>V</value></parameter> | |
| void | jmt_ref_class (xml::Element &parent, const std::string &class_name) |
| <refClass>NAME</refClass>, the per-class marker of an array parameter. | |
| const char * | jmt_drop_text (DropStrategy d) |
| MATLAB DropStrategy.toText, the strings JMT's dropRule field expects. | |
| bool | jmt_reads_drop (DropStrategy d) |
| Whether JMT's queue section can read this drop strategy at all. | |
| const char * | jmt_hetero_text (lang::HeteroSchedPolicy p) |
| MATLAB HeteroSchedPolicy.toJMTText: JMT's long descriptive identifiers. | |
| template<class T> | |
| std::string | jmt_write_jsim (const qn::NetworkStruct< T > &sn, const JmtWriteOptions &opt) |
| Port of @@JMTIO/writeJSIM.m: serialize sn as a JMT .jsimg document. | |
| template<class T> | |
| std::string | jmt_buffer_capacity_refusal (const qn::NetworkStruct< T > &sn, bool jmva_engine) |
| JmtWriter::buffer_capacity_refusal without a document: the writer's own binding-buffer verdict, for the gate in jmt::jmt_method_refusal. | |
| template<class T> | |
| std::string | write_jmva (const qn::NetworkStruct< T > &L, const std::string &path, const std::string &method, std::size_t samples) |
| Port of writeJMVA(sn, outputFileName, options). | |
| template<class T> | |
| qn::Network< T > | read_jsim (const std::string &path, const std::string &name=std::string()) |
| Read a JSIM document into a Network. | |
| std::string | jsim_stage_stdin (const std::string &text) |
| Write a piped XML model document to a temporary file and return its path. | |
| const std::map< std::string, Citation > & | citation_registry () |
| The whole method name -> reference table, built once. | |
| std::vector< Citation > | line_citations (const std::vector< std::string > &method_names) |
| The references for METHOD NAMES, de-duplicated by key, in order of appearance. | |
| std::vector< Citation > | line_citations_for_method (const std::string &method) |
| Convenience for the default/<actual> compound a solver reports. | |
| template<class T> | |
| lqn::LqnStruct< T > | build_lqn_from_json (const detail::json &root) |
| Build an LqnStruct<T> from a parsed model.json envelope carrying a LayeredNetwork. | |
| bool | is_layered_json (const std::string &path) |
| True when a file is a LayeredNetwork model.json rather than an .lqnx. | |
| template<class T> | |
| lqn::LqnStruct< T > | read_lqn_json (const std::string &path) |
| Parse a LayeredNetwork model.json file into an LqnStruct<T>. | |
| template<class T> | |
| lqn::LqnStruct< T > | read_layered_model (const std::string &path) |
| Read a layered model from either interchange: the LINE model.json or the LQNS .lqnx. | |
| template<class T> | |
| env::Environment< T > | map2renv (const qn::NetworkStruct< T > &base, Map2RenvInfo< T > *info=nullptr, std::size_t max_stages=64) |
| template<class T> | |
| env::Environment< T > | mapqn2renv (const qn::NetworkStruct< T > &base, Map2RenvInfo< T > *info=nullptr, std::size_t max_stages=64) |
| Retained name for the transformation now implemented by map2renv, which generalizes it from a single MMPP2 service process to any number of MAP, MMPP2 or MMAP processes of arbitrary phase order. | |
| template<class T, class S> | |
| Matrix< T > | from_column_major (const S *data, std::size_t rows, std::size_t cols) |
| Build a Matrix from a column-major host buffer (MATLAB's mxGetPr layout, numpy's order='F'). | |
| template<class T, class S> | |
| Matrix< T > | from_row_major (const S *data, std::size_t rows, std::size_t cols) |
| Build a Matrix from a row-major host buffer (numpy's default order='C'). | |
| template<class T> | |
| void | to_column_major (const Matrix< T > &m, double *out) |
| Write a Matrix into a column-major host buffer, as doubles. | |
| template<class T> | |
| void | to_host (const std::vector< T > &v, double *out) |
| Write a vector into a host buffer, as doubles. | |
| template<class T> | |
| std::string | exact_numerator (const T &) |
| Numerator of an exact value as a decimal string; empty for inexact types. | |
| template<class T> | |
| std::string | exact_denominator (const T &) |
| template<class T> | |
| ExactValue | marshal_scalar (const T &v) |
| Marshal any T; only the exact instantiation fills numerator/denominator. | |
| template<> | |
| std::string | exact_numerator< Rational > (const Rational &v) |
| template<> | |
| std::string | exact_denominator< Rational > (const Rational &v) |
| const char * | error_id (const Error &e) |
| Stable identifier for an error, for mexErrMsgIdAndTxt and for mapping to a host exception class. | |
| template<class T> | |
| qn::Network< T > | build_network_from_json (const detail::json &root) |
| Build a qn::Network<T> from a parsed model.json envelope. | |
| template<class T> | |
| qn::Network< T > | read_network_json (const std::string &path) |
| Parse a model.json file into a qn::Network<T>. | |
| template<class T> | |
| detail::json | network_to_json (const qn::NetworkStruct< T > &sn) |
| qn::NetworkStruct -> the model.json model object. | |
| template<class T> | |
| detail::json | network_json_envelope (const qn::NetworkStruct< T > &sn) |
| The complete model.json envelope: {format, version, model}. | |
| template<class T> | |
| void | write_network_json (const qn::NetworkStruct< T > &sn, const std::string &path) |
| Write a model.json file, indented as the reference writers indent it. | |
| template<class T> | |
| void | pnml_save (const qn::NetworkStruct< T > &sn, const std::string &path) |
| Write the Petri net of a refreshed NetworkStruct to a PNML place/transition file. | |
| template<class T> | |
| qn::Network< T > | pnml_load (const std::string &path, const std::string &net_id=std::string()) |
| Read one net of a PNML place/transition document into a Network. | |
| template<class T> | |
| lqn::LqnModel< T > | qn2lqn (const qn::NetworkStruct< T > &sn) |
| Port of MATLAB QN2LQN(model), over the refreshed C++ NetworkStruct. | |
| template<class T> | |
| lqn::LqnModel< T > | qn2lqn (qn::Network< T > &model) |
| MATLAB-compatible model-level entry point; refreshes the Network first. | |
| template<class T> | |
| T | parse_rational_token (const std::string &tok) |
| Parse a rational token of the form "3" or "3/10". | |
| template<class T> | |
| QnModel< T > | read_qn (const std::string &path) |
| template<class T> | |
| workflow::Workflow< T > | build_workflow_from_json (const detail::json &root) |
| Build a workflow::Workflow<T> from a parsed model.json envelope. | |
| template<class T> | |
| workflow::Workflow< T > | read_workflow_json (const std::string &path) |
| Read a Workflow model.json off disk. | |
Variables | |
| static const long long | DOCKER_DEFAULT_MIN_FREE_BYTES = 2LL * 1024 * 1024 * 1024 |
| Conservative free-space floor required before a pull (2 GiB). | |
|
strong |
The measure kinds saveMetrics requests, in the order it requests them.
| Enumerator | |
|---|---|
| QLen | |
| Util | |
| RespT | |
| Tput | |
| ArvR | |
| Tard | |
| SysTard | |
Definition at line 282 of file jmt_writer.h.
|
strong |
Join rules, with the values of MATLAB JoinStrategy.
Definition at line 461 of file lang_types.h.
|
strong |
Node kinds, with the values of MATLAB NodeType.
Definition at line 324 of file lang_types.h.
|
strong |
Polling service disciplines, with the values of MATLAB PollingType.
Definition at line 370 of file lang_types.h.
|
strong |
Distribution kinds, with the values of MATLAB ProcessType.
Definition at line 483 of file lang_types.h.
|
strong |
Routing strategies, with the values of MATLAB RoutingStrategy.
Definition at line 389 of file lang_types.h.
|
strong |
Scheduling disciplines, with the values of MATLAB SchedStrategy.
Definition at line 181 of file lang_types.h.
| env::Environment< T > line::io::build_environment_from_json | ( | const detail::json & | root | ) |
Build an env::Environment<T> from a parsed model.json envelope.
init() is NOT called here. It superposes the arcs into the marked processes the analyzer integrates against, and it throws when a stage has no finite holding time; that diagnostic belongs to the solve, next to the options that chose it, and not to the parse. Every caller in this port calls init() itself, exactly as the reference's env.init() is a separate step from building the object.
Definition at line 216 of file environment_reader.h.
References line::env::Environment< T >::add_transition(), build_environment_from_json(), build_network_from_json(), line::env::Environment< T >::down_stage_name(), line::qn::Network< T >::get_struct(), line::InputError::InputError(), line::env::Environment< T >::register_node_failure(), line::env::Environment< T >::set_stage(), and line::UnsupportedError::UnsupportedError().
Referenced by build_environment_from_json(), and read_environment_json().
| lqn::LqnStruct< T > line::io::build_lqn_from_json | ( | const detail::json & | root | ) |
Build an LqnStruct<T> from a parsed model.json envelope carrying a LayeredNetwork.
Definition at line 92 of file lqn_json_reader.h.
References line::lqn::LqnBuilder< T >::activity(), line::lqn::LqnBuilder< T >::and_fork(), line::lqn::LqnBuilder< T >::and_join(), line::lqn::LqnBuilder< T >::async_call(), line::lqn::LqnBuilder< T >::bound_to(), line::lqn::LqnBuilder< T >::build(), build_lqn_from_json(), line::lqn::LqnBuilder< T >::cache_access(), line::lqn::LqnBuilder< T >::cache_task(), line::lqn::LqnBuilder< T >::entry(), line::lang::Distrib< T >::exp_mean(), line::lqn::LqnBuilder< T >::forward(), line::lang::Distrib< T >::immediate(), line::InputError::InputError(), line::lqn::LqnBuilder< T >::item_entry(), line::lqn::LqnBuilder< T >::loop(), line::lqn::LqnBuilder< T >::open_arrival(), line::lqn::LqnBuilder< T >::or_fork(), line::lqn::LqnBuilder< T >::or_join(), line::lqn::LqnBuilder< T >::processor(), line::lqn::LqnBuilder< T >::replies_to(), line::lqn::LqnBuilder< T >::serial(), line::lqn::LqnBuilder< T >::setup_time(), line::lqn::LqnBuilder< T >::sync_call(), line::lqn::LqnBuilder< T >::task(), line::lqn::LqnBuilder< T >::think_time(), and line::UnsupportedError::UnsupportedError().
Referenced by build_lqn_from_json(), and read_lqn_json().
| qn::Network< T > line::io::build_network_from_json | ( | const detail::json & | root | ) |
Build a qn::Network<T> from a parsed model.json envelope.
Two passes: classes and nodes are declared first (a class references its reference node by name, a Join references its Fork by name, so every node index must exist before the cross-references are wired), then service, arrival and routing are applied.
Definition at line 1106 of file network_reader.h.
References line::qn::CacheParam< T >::accost, line::qn::Network< T >::add_cache(), line::qn::Network< T >::add_class_switch(), line::qn::Network< T >::add_closed_class(), line::qn::Network< T >::add_delay(), line::qn::Network< T >::add_fork(), line::qn::Network< T >::add_join_unbound(), line::qn::Network< T >::add_logger(), line::qn::Network< T >::add_open_class(), line::qn::Network< T >::add_place(), line::qn::Network< T >::add_queue(), line::qn::Network< T >::add_region(), line::qn::Network< T >::add_router(), line::qn::Network< T >::add_self_looping_class(), line::qn::Network< T >::add_server_type(), line::qn::Network< T >::add_sink(), line::qn::Network< T >::add_source(), line::qn::Network< T >::add_transition(), line::qn::Network< T >::bind_join(), build_network_from_json(), line::lang::CATASTROPHE, line::qn::CacheParam< T >::classitem, line::Matrix< T >::cols(), line::qn::Station< T >::ServerType::compatible, line::qn::CacheParam< T >::costcap, line::qn::CacheParam< T >::costcapglobal, line::qn::Station< T >::ServerType::count, line::lang::DISABLED, line::lang::Distrib< T >::disabled, line::lang::Distrib< T >::disabled_dist(), line::lang::Distrib< T >::discrete_sampler(), line::lang::dist_to_map(), line::qn::TransitionParam< T >::enabling, line::lang::FCFS, line::qn::NodeDef::LoggerParam::file_path, line::qn::TransitionParam< T >::fireweight, line::qn::TransitionParam< T >::firing, line::qn::TransitionParam< T >::firingdep, line::qn::TransitionParam< T >::firingphases, line::qn::TransitionParam< T >::firingprio, line::qn::TransitionParam< T >::firingproc, line::qn::Network< T >::get_struct(), line::qn::CacheParam< T >::hitclass, line::lang::IMMEDIATE, line::qn::TransitionParam< T >::inhibiting, line::qn::CacheParam< T >::initstate, line::InputError::InputError(), line::qn::CacheParam< T >::itemcap, line::qn::CacheParam< T >::itemsize, line::qn::NodeDef::LoggerParam::job_class, line::qn::NodeDef::LoggerParam::job_id, line::lang::LCFS, line::qn::Network< T >::link(), line::qn::NodeDef::LoggerParam::logger_name, line::qn::Station< T >::BalkingThreshold::max_jobs, line::lang::Distrib< T >::mean, line::qn::Station< T >::BalkingThreshold::min_jobs, line::qn::CacheParam< T >::missclass, line::qn::TransitionParam< T >::modenames, line::qn::Station< T >::ServerType::name, line::qn::NetworkStruct< T >::nclasses, line::lang::NEGATIVE, line::qn::CacheParam< T >::nitems, line::qn::TransitionParam< T >::nmodes, line::qn::TransitionParam< T >::nmodeservers, line::qn::NetworkStruct< T >::nodes, line::qn::NetworkStruct< T >::nstations, line::ones(), line::lang::PARTIAL, line::qn::CacheParam< T >::pread, line::qn::CacheParam< T >::preadkind, line::qn::Station< T >::BalkingThreshold::probability, line::qn::CacheParam< T >::qlru, line::lang::RANDOM, line::qn::Network< T >::raw_struct(), line::lang::RENEGING, line::qn::CacheParam< T >::replacestrat, line::lang::REPLY, line::qn::CacheParam< T >::retrieval_capacity, line::qn::CacheParam< T >::retrieval_classes, line::qn::CacheParam< T >::retrieval_queues, line::Matrix< T >::rows(), line::qn::Station< T >::ServerType::service, line::qn::RoutingMatrix< T >::set(), line::qn::Network< T >::set_arrival(), line::qn::Network< T >::set_arrival_batch(), line::qn::Network< T >::set_balking(), line::qn::Network< T >::set_batch_reject(), line::qn::Network< T >::set_breakdown(), line::qn::Network< T >::set_capacity(), line::qn::Network< T >::set_class_capacity(), line::qn::Network< T >::set_class_deadline(), line::qn::Network< T >::set_class_dependence(), line::qn::Network< T >::set_class_immediate_feedback(), line::qn::Network< T >::set_class_patience(), line::qn::Network< T >::set_class_spawn(), line::qn::Network< T >::set_departure_discipline(), line::qn::Network< T >::set_drop_rule(), line::qn::Network< T >::set_fork_branch_probability(), line::qn::Network< T >::set_fork_tasks_per_link(), line::qn::Network< T >::set_fork_tasks_per_link_dist(), line::qn::Network< T >::set_global_dependence(), line::qn::Network< T >::set_hetero_sched_policy(), line::qn::Network< T >::set_immediate_feedback(), line::qn::Network< T >::set_initial_marking(), line::qn::Network< T >::set_join_strategy(), line::qn::Network< T >::set_joint_dependence(), line::qn::Network< T >::set_load_dependence(), line::qn::Network< T >::set_log_path(), line::qn::Network< T >::set_marked_classes(), line::qn::Network< T >::set_number_of_servers(), line::qn::Network< T >::set_orbit_impatience(), line::qn::Network< T >::set_pas(), line::qn::Network< T >::set_patience(), line::qn::Network< T >::set_polling_type(), line::qn::Network< T >::set_reference_class(), line::qn::Network< T >::set_region_constraint(), line::qn::Network< T >::set_region_weights(), line::qn::Network< T >::set_reply_signal_class(), line::qn::Network< T >::set_retrial(), line::qn::Network< T >::set_reward(), line::qn::Network< T >::set_routing(), line::qn::Network< T >::set_routing_param(), line::qn::Network< T >::set_routing_weights(), line::qn::Network< T >::set_sched_param(), line::qn::Network< T >::set_server_parallelism(), line::qn::Network< T >::set_service(), line::qn::Network< T >::set_setup_delayoff(), line::qn::Network< T >::set_signal(), line::qn::Network< T >::set_state_dep_routing(), line::qn::Network< T >::set_state_prior(), line::qn::Network< T >::set_switchover(), line::qn::NodeDef::LoggerParam::start_time, line::lang::STD, line::qn::NodeDef::LoggerParam::time_any_class, line::qn::NodeDef::LoggerParam::time_same_class, line::lang::TIMED, line::qn::NodeDef::LoggerParam::timestamp, line::qn::TransitionParam< T >::timing, line::UnsupportedError::UnsupportedError(), and line::lang::WAITQ.
Referenced by build_environment_from_json(), build_network_from_json(), and read_network_json().
| workflow::Workflow< T > line::io::build_workflow_from_json | ( | const detail::json & | root | ) |
Build a workflow::Workflow<T> from a parsed model.json envelope.
One pass: an activity is declared before any precedence may reference it, which the wire guarantees by carrying activities as its own block. The result is NOT validated here – validate() and to_ph() do that on the composed model, where the series-parallel and quorum rules actually apply.
Definition at line 165 of file workflow_reader.h.
References build_workflow_from_json(), line::lang::Distrib< T >::exp_mean(), line::InputError::InputError(), line::workflow::Precedence< T >::post_acts, line::workflow::Precedence< T >::post_params, line::workflow::Precedence< T >::post_type, line::workflow::Precedence< T >::pre_acts, line::workflow::Precedence< T >::pre_params, line::workflow::Precedence< T >::pre_type, and line::UnsupportedError::UnsupportedError().
Referenced by build_workflow_from_json(), and read_workflow_json().
| const std::map< std::string, Citation > & line::io::citation_registry | ( | ) |
The whole method name -> reference table, built once.
Definition at line 43 of file line_citations.cpp.
References citation_registry().
Referenced by citation_registry(), and line_citations().
|
inline |
True if the Docker daemon is reachable.
Definition at line 49 of file docker_image.h.
References line::util::capture(), docker_daemon_available(), and line::util::ProcResult::exitCode.
Referenced by docker_daemon_available(), and line::jmt::jmt_run().
|
inline |
| image | the image tag |
Definition at line 58 of file docker_image.h.
References line::util::capture(), docker_has_local_image(), line::util::ProcResult::exitCode, line::util::ProcResult::out, and line::util::trim().
Referenced by docker_has_local_image(), line::jmt::jmt_run(), line::sym::sym_find_image(), and line::sym::sym_resolve().
|
inline |
| image | the image tag |
Definition at line 134 of file docker_image.h.
References DOCKER_DEFAULT_MIN_FREE_BYTES, and docker_has_storage_for().
Referenced by docker_has_storage_for(), and line::jmt::jmt_run().
|
inline |
Pulls an image, streaming Docker's progress to stdout and stderr.
No timeout.
| image | the image tag |
Definition at line 70 of file docker_image.h.
References docker_pull(), and line::util::run_inherit().
Referenced by docker_pull(), and line::jmt::jmt_run().
|
inline |
Stable identifier for an error, for mexErrMsgIdAndTxt and for mapping to a host exception class.
The prose message stays in what(); hosts must key on the identifier, which will not change with wording.
Definition at line 146 of file marshal.h.
References error_id().
Referenced by error_id().
| std::string line::io::exact_denominator | ( | const T & | ) |
Definition at line 132 of file marshal.h.
References exact_denominator().
Referenced by exact_denominator(), exact_denominator< Rational >(), and marshal_scalar().
|
inline |
Definition at line 137 of file marshal.h.
References exact_denominator().
| std::string line::io::exact_numerator | ( | const T & | ) |
Numerator of an exact value as a decimal string; empty for inexact types.
Definition at line 122 of file marshal.h.
References exact_numerator().
Referenced by exact_numerator(), exact_numerator< Rational >(), and marshal_scalar().
|
inline |
Definition at line 127 of file marshal.h.
References exact_numerator().
| Matrix< T > line::io::from_column_major | ( | const S * | data, |
| std::size_t | rows, | ||
| std::size_t | cols ) |
Build a Matrix from a column-major host buffer (MATLAB's mxGetPr layout, numpy's order='F').
Converts the element type through num_traits, so a double buffer can feed an exact or high-precision instantiation.
Definition at line 53 of file marshal.h.
References from_column_major(), and line::InputError::InputError().
Referenced by from_column_major().
| Matrix< T > line::io::from_row_major | ( | const S * | data, |
| std::size_t | rows, | ||
| std::size_t | cols ) |
Build a Matrix from a row-major host buffer (numpy's default order='C').
Definition at line 65 of file marshal.h.
References from_row_major(), and line::InputError::InputError().
Referenced by from_row_major().
|
inline |
True when a file is a LayeredNetwork model.json rather than an .lqnx.
Decided on the CONTENT, not the extension: linemodel_save writes .json for both model kinds and the two readers cannot be told apart by name. The first non-space character settles it – { is JSON, < is XML – and the type field settles which JSON.
Definition at line 359 of file lqn_json_reader.h.
References is_layered_json().
Referenced by find_solver_report(), is_layered_json(), read_layered_model(), and run_invocation().
| void line::io::jmt_append_distribution | ( | xml::Element & | wrapper, |
| const JmtDistView< T > & | v, | ||
| const char * | who ) |
Append the distribution and distrPar pair for one process.
| wrapper | the element the pair is appended to – the caller's ServiceTimeStrategy, or a Timing / Impatience wrapper |
| v | the lowered process |
| who | the caller, for the refusal message of an unexportable family |
A family JMT has no law for is REFUSED BY NAME. Falling through to the nearest available law would export a model that simulates cleanly and answers a different question, and the featset gate is what is supposed to catch this: a refusal here means the featset and this emitter have drifted apart.
Definition at line 226 of file jmt_dist.h.
References line::xml::Element::add_child(), line::io::JmtDistView< T >::D0, line::io::JmtDistView< T >::D1, jmt_append_distribution(), jmt_append_row(), jmt_double(), jmt_fmt(), jmt_int(), jmt_is_phase_type(), jmt_object_array(), jmt_scalar(), line::io::JmtDistView< T >::phases, line::io::JmtDistView< T >::pie, line::io::JmtDistView< T >::rate, line::Matrix< T >::rows(), line::io::JmtDistView< T >::scv, line::xml::Element::set_attr(), line::io::JmtDistView< T >::trace_file, line::io::JmtDistView< T >::type, and line::UnsupportedError::UnsupportedError().
Referenced by jmt_append_distribution().
|
inline |
One vector of entry doubles, the JMT encoding of a matrix row.
Definition at line 202 of file jmt_dist.h.
References jmt_append_row(), jmt_fmt(), jmt_object_array(), and jmt_scalar().
Referenced by jmt_append_distribution(), and jmt_append_row().
| std::string line::io::jmt_buffer_capacity_refusal | ( | const qn::NetworkStruct< T > & | sn, |
| bool | jmva_engine ) |
JmtWriter::buffer_capacity_refusal without a document: the writer's own binding-buffer verdict, for the gate in jmt::jmt_method_refusal.
Definition at line 2858 of file jmt_writer.h.
References line::io::JmtWriter< T >::buffer_capacity_refusal(), and jmt_buffer_capacity_refusal().
Referenced by jmt_buffer_capacity_refusal(), and line::jmt::jmt_method_refusal().
| std::vector< bool > line::io::jmt_cache_classes | ( | const qn::NetworkStruct< T > & | sn | ) |
The classes a Cache switches jobs into; they keep their Tput/ArvR measures.
Definition at line 346 of file jmt_writer.h.
References line::qn::CacheParam< T >::hitclass, jmt_cache_classes(), and line::qn::CacheParam< T >::missclass.
Referenced by jmt_cache_classes(), line::jmt::jmt_get_cdf_resp_t(), and line::io::JmtWriter< T >::JmtWriter().
| std::vector< std::vector< bool > > line::io::jmt_conn_matrix | ( | const qn::NetworkStruct< T > & | sn | ) |
sn.connmatrix: which ordered pairs of nodes the model LINKED.
The reference carries the matrix on the struct, recorded by Network.addLink. This port records the links only through the routing blocks P, so the connection set is their union support. That is the same set for every model built the way link(P) builds one – addLink is called from link for each nonzero entry – and it is what the JSIM <connection> list, the ClassSwitch row sum, the WRROBIN and PROB destination lists and the SPN input/output vectors all read.
Peff IS NOT USED HERE, deliberately: it has the RAND/RROBIN expansion and the class-switch folding applied, so a Router's declared links would come back as the links of the stations it routes to, and the exported topology would not be the user's.
Definition at line 96 of file jmt_writer.h.
References line::Matrix< T >::cols(), jmt_conn_matrix(), and line::Matrix< T >::rows().
Referenced by jmt_conn_matrix(), and line::io::JmtWriter< T >::JmtWriter().
| JmtDistView< T > line::io::jmt_dist_view | ( | const Distrib< T > & | d | ) |
Lower a Distrib to the view above.
The rate is 1/mean and NOT d.params[0]: sn.rates is what the reference reads, and for a fitted family the two differ. A DISABLED or IMMEDIATE distribution is reported by type alone and carries no pair, exactly as sn.proc leaves it empty there.
Definition at line 122 of file jmt_dist.h.
References line::io::JmtDistView< T >::D0, line::mam::Map< T >::D0, line::io::JmtDistView< T >::D1, line::mam::Map< T >::D1, line::lang::Distrib< T >::disabled, line::lang::dist_pie(), line::lang::dist_to_map(), jmt_dist_view(), line::lang::Distrib< T >::mean, line::io::JmtDistView< T >::phases, line::lang::Distrib< T >::phases(), line::io::JmtDistView< T >::pie, line::io::JmtDistView< T >::rate, line::io::JmtDistView< T >::scv, line::lang::Distrib< T >::scv, line::io::JmtDistView< T >::trace_file, line::lang::Distrib< T >::trace_file, line::io::JmtDistView< T >::type, and line::lang::Distrib< T >::type.
Referenced by jmt_dist_view().
|
inline |
A java.lang.Double scalar subparameter.
Definition at line 91 of file jmt_dist.h.
References jmt_double(), jmt_fmt(), and jmt_scalar().
Referenced by jmt_append_distribution(), and jmt_double().
|
inline |
MATLAB DropStrategy.toText, the strings JMT's dropRule field expects.
Definition at line 385 of file jmt_writer.h.
References line::InputError::InputError(), and jmt_drop_text().
Referenced by jmt_drop_text().
| std::vector< bool > line::io::jmt_exportable_classes | ( | const qn::NetworkStruct< T > & | sn | ) |
Port of getExportableClasses.
A closed class with no customers is dropped from the exported model UNLESS jobs can still reach it: as a cache hit/miss class, or through a class switch from a populated class of the same chain. Exporting it anyway would give JMT a class it can never see and, for a closed class, a reference station with zero population – which JMT reports as an unreachable measure rather than as an empty one.
Definition at line 120 of file jmt_writer.h.
References line::qn::CacheParam< T >::hitclass, jmt_exportable_classes(), and line::qn::CacheParam< T >::missclass.
Referenced by jmt_exportable_classes(), and line::io::JmtWriter< T >::JmtWriter().
|
inline |
sprintf('%.12f', x), the numeric format of every JMT <value> body.
Definition at line 53 of file jmt_dist.h.
References jmt_fmt().
Referenced by jmt_append_distribution(), jmt_append_row(), jmt_double(), and jmt_fmt().
|
inline |
MATLAB HeteroSchedPolicy.toJMTText: JMT's long descriptive identifiers.
Definition at line 414 of file jmt_writer.h.
References line::lang::ALFS, line::lang::ALIS, line::lang::FAIRNESS, line::lang::FSF, jmt_hetero_text(), line::lang::ORDER, and line::lang::RAIS.
Referenced by jmt_hetero_text().
|
inline |
int2str(x): round to nearest, print as a decimal integer.
Definition at line 60 of file jmt_dist.h.
References jmt_int().
Referenced by line::io::JmtWriter< T >::buffer_capacity_refusal(), jmt_append_distribution(), and jmt_int().
|
inline |
True when the reference routes the process through JMT's PhaseTypeDistr rather than through a named analytic law.
COX2 IS ADDED TO THE REFERENCE'S LIST. saveServiceStrategy sends PH, APH, COXIAN and a HyperExp of more than two phases down this branch, and lets COX2 fall into the analytic switch – which has no COX2 case, so MATLAB errors on an undefined javaClass. A two-phase Coxian has an exact phase-type representation, and this port's ProcessType keeps COX2 distinct from COXIAN, so it is exported through the same exact branch rather than through an error.
Definition at line 187 of file jmt_dist.h.
References jmt_is_phase_type().
Referenced by jmt_append_distribution(), and jmt_is_phase_type().
| bool line::io::jmt_metric_enabled | ( | const qn::NetworkStruct< T > & | sn, |
| JmtMetricKind | kind, | ||
| std::size_t | ist, | ||
| std::size_t | r, | ||
| const std::vector< bool > & | is_cache_class ) |
Port of the disabled rules in getAvgHandles, per (station, class).
The rules are per kind: a Source or a Sink reports no queue length, response time, utilization or tardiness but DOES report throughput and arrival rate; a Fork or a Join reports no utilization; a station whose class has no service process reports nothing, EXCEPT that a cache hit/miss class keeps its throughput and arrival rate – a job only ever passes through such a class, it is never served in it, and disabling the measure would leave the cache's hit rate unobservable.
has_service_tunnel reproduces the reference's test on the SECTION object: a Source, a Join and an ordinary Place have a ServiceTunnel and are therefore exempt from the service-defined test entirely.
Definition at line 314 of file jmt_writer.h.
References ArvR, jmt_metric_enabled(), jmt_sections(), QLen, RespT, line::io::JmtSections< T >::server, SysTard, Tard, Tput, and Util.
Referenced by line::jmt::jmt_get_cdf_resp_t(), and jmt_metric_enabled().
|
inline |
The JMT type attribute, MATLAB MetricType.toText.
Definition at line 285 of file jmt_writer.h.
References ArvR, jmt_metric_text(), QLen, RespT, SysTard, Tard, Tput, and Util.
Referenced by jmt_metric_text().
|
inline |
num2str(x): MATLAB's default five-significant-digit form.
Definition at line 67 of file jmt_dist.h.
References jmt_num().
Referenced by jmt_num().
|
inline |
<subParameter array="true" classPath="java.lang.Object" name="NAME">
Definition at line 193 of file jmt_dist.h.
References line::xml::Element::add_child(), jmt_object_array(), and line::xml::Element::set_attr().
Referenced by jmt_append_distribution(), jmt_append_row(), and jmt_object_array().
|
inline |
<parameter array="true" classPath="CP" name="NAME">
Definition at line 363 of file jmt_writer.h.
References line::xml::Element::add_child(), jmt_param(), and line::xml::Element::set_attr().
Referenced by jmt_param(), and jmt_param_value().
|
inline |
<parameter classPath="CP" name="NAME"><value>V</value></parameter>
Definition at line 373 of file jmt_writer.h.
References line::xml::Element::add_text_child(), jmt_param(), and jmt_param_value().
Referenced by jmt_param_value().
|
inline |
Whether JMT's queue section can read this drop strategy at all.
It recognizes exactly four dropStrategies strings – 'drop', 'BAS blocking', 'waiting queue', 'retrial' (a lookupswitch on String.hashCode in jmt/engine/NodeSections/Queue.class; the Storage section of a Place is even narrower and drops 'retrial'). An unrecognized value falls through the default arm with NO flag set, so BBS, RSRD and retrial-with-limit are not approximated, they are IGNORED.
Definition at line 408 of file jmt_writer.h.
References jmt_reads_drop().
Referenced by jmt_reads_drop().
|
inline |
<refClass>NAME</refClass>, the per-class marker of an array parameter.
Definition at line 380 of file jmt_writer.h.
References line::xml::Element::add_text_child(), and jmt_ref_class().
Referenced by jmt_ref_class().
|
inline |
<subParameter classPath="java.lang.Double" name="NAME"><value>V</value>
Definition at line 81 of file jmt_dist.h.
References line::xml::Element::add_child(), line::xml::Element::add_text_child(), jmt_scalar(), and line::xml::Element::set_attr().
Referenced by jmt_append_distribution(), jmt_append_row(), jmt_double(), and jmt_scalar().
| JmtSections< T > line::io::jmt_sections | ( | const qn::NetworkStruct< T > & | sn, |
| std::size_t | ind ) |
Definition at line 165 of file jmt_writer.h.
References line::io::JmtSections< T >::input, jmt_sections(), line::qn::NodeDef::nodetype, line::io::JmtSections< T >::output, line::io::JmtSections< T >::server, and line::qn::NodeDef::station.
Referenced by jmt_metric_enabled(), and jmt_sections().
|
inline |
num2str(x, 2): the two-significant-digit form used for alpha/precision.
Definition at line 74 of file jmt_dist.h.
References jmt_sig2().
Referenced by jmt_sig2().
| std::string line::io::jmt_write_jsim | ( | const qn::NetworkStruct< T > & | sn, |
| const JmtWriteOptions & | opt ) |
Port of @@JMTIO/writeJSIM.m: serialize sn as a JMT .jsimg document.
Definition at line 2848 of file jmt_writer.h.
References jmt_write_jsim(), and line::io::JmtWriter< T >::write_jsim().
Referenced by jmt_write_jsim(), and line::jmt::solver_jmt_run_analyzer().
|
inline |
Write a piped XML model document to a temporary file and return its path.
Shared by the JMT and PNML paths: both readers walk a DOM built by xml::parse_file, which takes a path, and a document arriving on stdin has none. Staging it is the whole of the difference; the caller removes the file. The messages name no reader, since either may be the caller.
Definition at line 871 of file jsim_reader.h.
References line::InputError::InputError(), and jsim_stage_stdin().
Referenced by jsim_stage_stdin().
| std::vector< Citation > line::io::line_citations | ( | const std::vector< std::string > & | method_names | ) |
The references for METHOD NAMES, de-duplicated by key, in order of appearance.
Definition at line 1564 of file line_citations.cpp.
References citation_registry(), and line_citations().
Referenced by line_citations(), and line_citations_for_method().
| std::vector< Citation > line::io::line_citations_for_method | ( | const std::string & | method | ) |
Convenience for the default/<actual> compound a solver reports.
Definition at line 1587 of file line_citations.cpp.
References line_citations(), and line_citations_for_method().
Referenced by line_citations_for_method().
| env::Environment< T > line::io::map2renv | ( | const qn::NetworkStruct< T > & | base, |
| Map2RenvInfo< T > * | info = nullptr, | ||
| std::size_t | max_stages = 64 ) |
| base | the network, as its NetworkStruct |
| info | optional INFO output |
| max_stages | cap on the environment stage count, the reference's options.config.map_env_maxstages (default 64) |
Definition at line 65 of file map2renv.h.
References line::env::Environment< T >::add_transition(), line::Matrix< T >::cols(), line::lang::Distrib< T >::exp_rate(), line::env::Environment< T >::init(), line::InputError::InputError(), map2renv(), line::qn::NetworkStruct< T >::name, line::qn::NetworkStruct< T >::refresh_struct(), line::Matrix< T >::rows(), line::qn::NetworkStruct< T >::set_service(), line::env::Environment< T >::set_stage(), line::api::sn_map_modulation(), and line::lang::GlobalConstants::Zero.
Referenced by map2renv(), and mapqn2renv().
| env::Environment< T > line::io::mapqn2renv | ( | const qn::NetworkStruct< T > & | base, |
| Map2RenvInfo< T > * | info = nullptr, | ||
| std::size_t | max_stages = 64 ) |
Retained name for the transformation now implemented by map2renv, which generalizes it from a single MMPP2 service process to any number of MAP, MMPP2 or MMAP processes of arbitrary phase order.
New code should call map2renv directly.
Definition at line 182 of file map2renv.h.
References map2renv(), and mapqn2renv().
Referenced by mapqn2renv().
| ExactValue line::io::marshal_scalar | ( | const T & | v | ) |
Marshal any T; only the exact instantiation fills numerator/denominator.
Definition at line 110 of file marshal.h.
References line::io::ExactValue::approx, line::io::ExactValue::denominator, exact_denominator(), exact_numerator(), line::io::ExactValue::is_exact, marshal_scalar(), and line::io::ExactValue::numerator.
Referenced by marshal_scalar().
| detail::json line::io::network_json_envelope | ( | const qn::NetworkStruct< T > & | sn | ) |
The complete model.json envelope: {format, version, model}.
Definition at line 1412 of file network_writer.h.
References network_json_envelope(), and network_to_json().
Referenced by network_json_envelope(), line::ldes::solver_ldes(), and write_network_json().
| detail::json line::io::network_to_json | ( | const qn::NetworkStruct< T > & | sn | ) |
qn::NetworkStruct -> the model.json model object.
Takes the struct rather than the qn::Network builder because that is what a solver holds, and because get_struct() is what the builder hands out.
Definition at line 525 of file network_writer.h.
References line::qn::CacheParam< T >::accost, line::qn::Station< T >::arrival_batch, line::qn::Station< T >::balking, line::qn::Station< T >::batch_reject, line::pfqn::SdrStruct::branch, line::pfqn::SdrStruct::C, line::qn::Station< T >::cap, line::lang::CATASTROPHE, line::qn::Station< T >::cdscaling, line::qn::Station< T >::cdscalingpeak, line::qn::Station< T >::classcap, line::qn::CacheParam< T >::classitem, line::lang::CLOSED, line::Matrix< T >::cols(), line::qn::Station< T >::ServerType::compatible, line::qn::CacheParam< T >::costcap, line::qn::CacheParam< T >::costcapglobal, line::qn::Station< T >::ServerType::count, line::pfqn::SdrStruct::d, line::qn::JobClass::deadline, line::lang::Delay, line::pfqn::SdrStruct::departure, line::qn::Station< T >::departure_discipline, line::lang::Distrib< T >::disabled, line::lang::DPS, line::lang::DPSPRIO, line::qn::Station< T >::droprule, line::Matrix< T >::empty(), line::pfqn::SdrStruct::entry, line::lang::Distrib< T >::exp_rate(), line::qn::ForkParam< T >::fan_out_dist, line::qn::ForkParam< T >::fan_out_link, line::qn::ForkParam< T >::fan_out_prob, line::lang::FCFS, line::qn::NodeDef::LoggerParam::file_name, line::lang::Fork, line::lang::GPS, line::lang::GPSPRIO, line::qn::Station< T >::hetero_policy, line::qn::CacheParam< T >::hitclass, line::lang::IMMEDIATE, line::qn::JobClass::immfeed, line::qn::Station< T >::immfeed, line::qn::Station< T >::impatience, line::qn::CacheParam< T >::initstate, line::InputError::InputError(), line::qn::JobClass::is_ref_class, line::qn::CacheParam< T >::itemcap, line::qn::CacheParam< T >::itemsize, line::qn::Station< T >::jdscaling, line::qn::Station< T >::jdscalingpeak, line::lang::Join, line::pfqn::SdrStruct::level, line::qn::Station< T >::lldscaling, line::lang::Logger, line::qn::NodeDef::logger, line::qn::Station< T >::marked_classes, line::qn::CacheParam< T >::missclass, line::qn::JobClass::name, line::qn::NodeDef::name, line::qn::Station< T >::ServerType::name, network_to_json(), line::qn::CacheParam< T >::nitems, line::qn::NodeDef::nodetype, line::lang::NONE, line::lang::NORMAL, line::qn::Station< T >::nservers, line::qn::Station< T >::orbit_impatience, line::lang::ORDER, line::lang::Distrib< T >::params, line::lang::PARTIAL, line::qn::Station< T >::patience, line::lang::Place, line::qn::Station< T >::polling_par, line::qn::Station< T >::polling_type, line::qn::JobClass::population, line::qn::CacheParam< T >::pread, line::qn::JobClass::prio, line::lang::PROB, line::qn::CacheParam< T >::qlru, line::lang::Queue, line::lang::RANDOM, line::qn::JobClass::refstat, line::qn::CacheParam< T >::replacestrat, line::lang::REPLY, line::qn::CacheParam< T >::retrieval_capacity, line::qn::CacheParam< T >::retrieval_classes, line::qn::CacheParam< T >::retrieval_queues, line::qn::NodeDef::routing, line::qn::NodeDef::routing_param, line::qn::NodeDef::routing_weights, line::Matrix< T >::rows(), line::qn::Station< T >::sched, line::qn::Station< T >::schedparam, line::lang::SDR, line::qn::JobClass::self_looping, line::qn::Station< T >::server_parallelism, line::qn::Station< T >::server_types, line::qn::Station< T >::ServerType::service, line::lang::Source, line::qn::JobClass::spawn, line::qn::NodeDef::station, line::qn::Station< T >::switchover, line::qn::NodeDef::tasks_per_link, line::lang::Distrib< T >::trace, and line::qn::JobClass::type.
Referenced by network_json_envelope(), and network_to_json().
| T line::io::parse_rational_token | ( | const std::string & | tok | ) |
Parse a rational token of the form "3" or "3/10".
Definition at line 62 of file qn_reader.h.
References line::InputError::InputError(), and parse_rational_token().
Referenced by parse_rational_token(), and read_qn().
| qn::Network< T > line::io::pnml_load | ( | const std::string & | path, |
| const std::string & | net_id = std::string() ) |
Read one net of a PNML place/transition document into a Network.
| path | input path |
| net_id | id of the net to read; empty selects the first |
Definition at line 490 of file pnml.h.
References line::qn::Network< T >::add_closed_class(), line::qn::Network< T >::add_place(), line::qn::Network< T >::add_transition(), line::xml::Element::attr(), line::xml::Element::by_tag(), line::xml::Element::child_tags(), line::lang::dist_to_map(), line::qn::TransitionParam< T >::enabling, line::lang::Distrib< T >::exp_rate(), line::qn::TransitionParam< T >::fireweight, line::qn::TransitionParam< T >::firing, line::qn::TransitionParam< T >::firingdep, line::qn::TransitionParam< T >::firingphases, line::qn::TransitionParam< T >::firingprio, line::qn::TransitionParam< T >::firingproc, line::lang::IMMEDIATE, line::lang::Distrib< T >::immediate(), line::qn::TransitionParam< T >::inhibiting, line::InputError::InputError(), line::qn::Network< T >::link(), line::qn::TransitionParam< T >::modenames, line::qn::TransitionParam< T >::nmodes, line::qn::TransitionParam< T >::nmodeservers, line::xml::parse_file(), pnml_load(), line::qn::RoutingMatrix< T >::set(), line::qn::Network< T >::set_initial_marking(), line::lang::TIMED, and line::qn::TransitionParam< T >::timing.
Referenced by pnml_load().
| void line::io::pnml_save | ( | const qn::NetworkStruct< T > & | sn, |
| const std::string & | path ) |
Write the Petri net of a refreshed NetworkStruct to a PNML place/transition file.
| sn | struct of a net holding only places and transitions, one closed class |
| path | output path |
Definition at line 273 of file pnml.h.
References line::qn::TransitionParam< T >::enabling, line::qn::TransitionParam< T >::fireweight, line::qn::TransitionParam< T >::firing, line::qn::TransitionParam< T >::firingdep, line::qn::TransitionParam< T >::firingprio, line::qn::TransitionParam< T >::firingproc, line::lang::IMMEDIATE, line::qn::TransitionParam< T >::inhibiting, line::InputError::InputError(), line::qn::TransitionParam< T >::modenames, line::qn::TransitionParam< T >::nmodes, line::qn::TransitionParam< T >::nmodeservers, line::lang::node_type_to_text(), line::lang::Distrib< T >::params, line::lang::Place, pnml_save(), line::lang::process_to_text(), line::qn::TransitionParam< T >::timing, line::lang::Transition, and line::lang::Distrib< T >::type.
Referenced by pnml_save().
| lqn::LqnModel< T > line::io::qn2lqn | ( | const qn::NetworkStruct< T > & | sn | ) |
Port of MATLAB QN2LQN(model), over the refreshed C++ NetworkStruct.
Definition at line 66 of file qn2lqn.h.
References line::lqn::LqnBuilder< T >::activity(), line::lqn::LqnBuilder< T >::and_fork(), line::lqn::LqnBuilder< T >::and_join(), line::lqn::LqnBuilder< T >::bound_to(), line::lqn::LqnBuilder< T >::build(), line::lqn::LqnBuilder< T >::entry(), line::lang::Distrib< T >::immediate(), line::lang::INF, line::InputError::InputError(), line::lqn::LqnBuilder< T >::model(), line::qn::NodeDef::name, line::lang::node_type_to_text(), line::qn::NodeDef::nodetype, line::lqn::LqnBuilder< T >::or_fork(), line::lqn::LqnBuilder< T >::processor(), qn2lqn(), line::lang::REF, line::lqn::LqnBuilder< T >::replies_to(), line::lqn::LqnBuilder< T >::serial(), line::qn::NodeDef::station, line::lqn::LqnBuilder< T >::sync_call(), line::lqn::LqnBuilder< T >::task(), and line::UnsupportedError::UnsupportedError().
Referenced by qn2lqn(), qn2lqn(), and line::qns::solver_qns_run_analyzer().
| lqn::LqnModel< T > line::io::qn2lqn | ( | qn::Network< T > & | model | ) |
MATLAB-compatible model-level entry point; refreshes the Network first.
Definition at line 283 of file qn2lqn.h.
References line::qn::Network< T >::get_struct(), and qn2lqn().
| env::Environment< T > line::io::read_environment_json | ( | const std::string & | path | ) |
Parse a model.json file into an env::Environment<T>.
Definition at line 321 of file environment_reader.h.
References build_environment_from_json(), line::InputError::InputError(), and read_environment_json().
Referenced by read_environment_json().
| qn::Network< T > line::io::read_jsim | ( | const std::string & | path, |
| const std::string & | name = std::string() ) |
Read a JSIM document into a Network.
| path | the .jsim / .jsimg / .jsimw file |
| name | the model name; the document's own when empty |
< 1-based node index in the Network
Definition at line 294 of file jsim_reader.h.
References line::qn::Network< T >::add_class_switch(), line::qn::Network< T >::add_closed_class(), line::qn::Network< T >::add_delay(), line::qn::Network< T >::add_fork(), line::qn::Network< T >::add_join(), line::qn::Network< T >::add_open_class(), line::qn::Network< T >::add_place(), line::qn::Network< T >::add_queue(), line::qn::Network< T >::add_router(), line::qn::Network< T >::add_sink(), line::qn::Network< T >::add_source(), line::qn::Network< T >::add_transition(), line::lang::BAS, line::lang::DISABLED, line::lang::Distrib< T >::disabled_dist(), line::lang::DPS, line::lang::DPSPRIO, line::lang::DROP, line::qn::TransitionParam< T >::enabling, line::lang::FCFS, line::qn::TransitionParam< T >::fireweight, line::qn::TransitionParam< T >::firing, line::qn::TransitionParam< T >::firingdep, line::qn::TransitionParam< T >::firingphases, line::qn::TransitionParam< T >::firingprio, line::qn::TransitionParam< T >::firingproc, line::lang::GPS, line::lang::GPSPRIO, line::lang::HOL, line::lang::IMMEDIATE, line::lang::Distrib< T >::immediate(), line::qn::TransitionParam< T >::inhibiting, line::InputError::InputError(), line::lang::JSQ, line::lang::LCFS, line::lang::LEPT, line::qn::Network< T >::link(), line::lang::LJF, line::qn::TransitionParam< T >::modenames, line::qn::TransitionParam< T >::nmodes, line::qn::TransitionParam< T >::nmodeservers, line::xml::parse_file(), line::lang::Distrib< T >::phases(), line::lang::PROB, line::lang::PS, line::lang::PSPRIO, line::lang::RAND, read_jsim(), line::lang::RROBIN, line::lang::SEPT, line::qn::RoutingMatrix< T >::set(), line::qn::Network< T >::set_arrival(), line::qn::Network< T >::set_capacity(), line::qn::Network< T >::set_class_capacity(), line::qn::Network< T >::set_class_switch_matrix(), line::qn::Network< T >::set_drop_rule(), line::qn::Network< T >::set_initial_marking(), line::qn::Network< T >::set_number_of_servers(), line::qn::Network< T >::set_routing(), line::qn::Network< T >::set_routing_param(), line::qn::Network< T >::set_routing_weights(), line::qn::Network< T >::set_sched_param(), line::qn::Network< T >::set_service(), line::lang::SIRO, line::lang::SJF, line::lang::SQ, line::lang::TIMED, line::qn::TransitionParam< T >::timing, line::UnsupportedError::UnsupportedError(), line::lang::WAITQ, and line::lang::WRROBIN.
Referenced by read_jsim().
| lqn::LqnStruct< T > line::io::read_layered_model | ( | const std::string & | path | ) |
Read a layered model from either interchange: the LINE model.json or the LQNS .lqnx.
Every layered entry point goes through here, so a caller never has to know which of the two it was handed – and, more to the point, a model.json written by linemodel_save for a LayeredNetwork stops being unreadable merely because the XML reader was the only one wired up.
Definition at line 400 of file lqn_json_reader.h.
References is_layered_json(), read_layered_model(), read_lqn_json(), and line::lqn::read_lqnx().
Referenced by read_layered_model().
| lqn::LqnStruct< T > line::io::read_lqn_json | ( | const std::string & | path | ) |
Parse a LayeredNetwork model.json file into an LqnStruct<T>.
Definition at line 378 of file lqn_json_reader.h.
References build_lqn_from_json(), line::InputError::InputError(), and read_lqn_json().
Referenced by read_layered_model(), and read_lqn_json().
| qn::Network< T > line::io::read_network_json | ( | const std::string & | path | ) |
Parse a model.json file into a qn::Network<T>.
Definition at line 2482 of file network_reader.h.
References build_network_from_json(), line::InputError::InputError(), and read_network_json().
Referenced by main(), and read_network_json().
| QnModel< T > line::io::read_qn | ( | const std::string & | path | ) |
Definition at line 72 of file qn_reader.h.
References line::io::QnModel< T >::hasOpen, line::InputError::InputError(), line::io::QnModel< T >::isLD, line::io::QnModel< T >::L, line::io::QnModel< T >::lambda, line::io::QnModel< T >::M, line::Matrix< T >::Matrix(), line::io::QnModel< T >::mi, line::io::QnModel< T >::mu, line::io::QnModel< T >::N, line::io::QnModel< T >::Nt, parse_rational_token(), line::io::QnModel< T >::R, read_qn(), and line::io::QnModel< T >::Z.
Referenced by read_qn().
| workflow::Workflow< T > line::io::read_workflow_json | ( | const std::string & | path | ) |
Read a Workflow model.json off disk.
Definition at line 216 of file workflow_reader.h.
References build_workflow_from_json(), line::InputError::InputError(), and read_workflow_json().
Referenced by read_workflow_json().
| void line::io::to_column_major | ( | const Matrix< T > & | m, |
| double * | out ) |
Write a Matrix into a column-major host buffer, as doubles.
Definition at line 77 of file marshal.h.
References line::Matrix< T >::cols(), line::Matrix< T >::empty(), line::InputError::InputError(), line::Matrix< T >::rows(), and to_column_major().
Referenced by to_column_major().
| void line::io::to_host | ( | const std::vector< T > & | v, |
| double * | out ) |
Write a vector into a host buffer, as doubles.
Definition at line 86 of file marshal.h.
References line::InputError::InputError(), and to_host().
Referenced by to_host().
| std::string line::io::write_jmva | ( | const qn::NetworkStruct< T > & | L, |
| const std::string & | path, | ||
| const std::string & | method, | ||
| std::size_t | samples ) |
Port of writeJMVA(sn, outputFileName, options).
| L | the refreshed struct |
| path | the file to write |
| method | options.method, which selects the algType name |
| samples | options.samples, the maxSamples attribute |
Definition at line 137 of file jmva_writer.h.
References line::qn::NetworkStruct< T >::classes, line::qn::NetworkStruct< T >::inchain, line::InputError::InputError(), line::mva::ChainDemands< T >::Lchain, line::mva::ChainDemands< T >::Nchain, line::qn::NetworkStruct< T >::nchains, line::qn::NetworkStruct< T >::nclasses, line::qn::NetworkStruct< T >::nodes, line::qn::NetworkStruct< T >::nstations, line::qn::NetworkStruct< T >::rates, line::mva::sn_get_demands_chain(), line::qn::NetworkStruct< T >::station_to_node, line::qn::NetworkStruct< T >::stations, line::mva::ChainDemands< T >::STchain, line::UnsupportedError::UnsupportedError(), and write_jmva().
Referenced by line::jmt::solver_jmt_run_analyzer(), line::qns::solver_qns_run_analyzer(), and write_jmva().
| void line::io::write_network_json | ( | const qn::NetworkStruct< T > & | sn, |
| const std::string & | path ) |
Write a model.json file, indented as the reference writers indent it.
Definition at line 1423 of file network_writer.h.
References line::InputError::InputError(), network_json_envelope(), and write_network_json().
Referenced by write_network_json().
|
static |
Conservative free-space floor required before a pull (2 GiB).
Definition at line 46 of file docker_image.h.
Referenced by docker_has_storage_for().