ESL0005 - Design rule literal syntax extension¶
LEP |
ESL0005 |
Author(s) |
|
Reviewer(s) |
A.T. Hofkamp, T.J.L. Schuijbroek |
Status |
Accepted |
Type |
Standard (S) |
Created |
14-12-2019 |
Finalized |
date |
Abstract¶
In this LEP the design rule syntax is extended to support the specification of place holder values, targets, and objectives. Placeholder values are added to better support to process of building a specification over the course of a design project. Value targets and objectives are added to bridge the gap towards multi-disciplinary optimization methods.
Motivation¶
In ESL design rule literals express bounds on the values of variables. One can define
(in)equality requirements and constraints using the set of comparisons smaller than
,
greater than
, not equal to
, equal to
, at least
, and at most
followed
by a value or variable that represents the boundary. This syntax imposes hard boundaries
on the values of variables.
However, the actual values for boundaries within design requirements and constraints are may be unkown at first. In such cases, one usually specifies a placeholder value such as to be determined. During the course of the design project the placeholder values are replaced by the actual value.
Moreover, hard equality requirements and constraints may increase the difficulty of finding an initial feasible design. Instead, target values are specified at first. Subsequently, one aims at minimizing the difference between the actual value of a variable and the value of its target. Additionally, one specifies objectives for the values of variables. For example, that the value of a variable must be minimized or maximized. In general, the usage of targets and objectives is common practice in the field of multi-disciplinary optimization.
Currently, the design rule syntax does not allow for the specification of placeholder values, targets, and objectives. Hence, in this LEP, the design rule syntax is extended to support these features as recommended by [Bee18].
Rationale¶
Targets and objectives¶
To accommodate for the specification of targets the word approximately
is added to
the set of comparisons as shown in the following example:
1 2 3 | design-requirement
# Target requirement
dr-0: foo must be approximately 5.0 [m/s^2]
|
which implies that variable foo
has a target of value of 5.0 [m/s^2]
. This
implicitly denotes the objective of minimizing the difference between the value of
foo
and 5.0
.
To define explicit objectives the pair of objectives maximized
and `` minimized`` is
added to ESL. These objectives may follow the predicate within a design-rule literal as
shown in the example below.
1 2 3 4 | design-requirement
# Objectives
dr-1: faa must be maximized
dr-2: fuu must be minimized
|
The comparison approximately
and objectives maximized
and `` minimized`` may
only be used in the requirement form of the design-rule literal. As constraints denote
limitations on that what is desired which is denoted by the requirements. Therefore,
specifying a target or objective within a constraint does not make sense.
Placeholder values¶
To better support the process of building a specification over the course of a design
project the special value t.b.d.
(to be determined) is added to the ESL syntax as
shown in the following example:
1 2 | design-requirement
dr-3: fii must be at most t.b.d.
|
So far, this single special value seems to be sufficient.
Specification¶
The introduction of targets, objectives, and placeholder values effects the design rule literal syntax. The new syntax is defined by the following EBNF listing:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | design-rule-literal ::=
argument-name
( constraint-rule-literal | requirement-rule-literal )
constraint-rule-literal ::=
"is" comparison bound
requirement-rule-literal ::=
auxiliary-verb "be" ( comparison bound | objective )
comparison ::=
"smaller" "than"
| "greater" "than"
| "not" "equal" "to"
| "equal" "to"
| "at" "least"
| "at" "most"
| "approximately" # Only in a requirement-rule-literal
bound ::=
argument-name
| ( BOUND-VALUE | "t.b.d." ) [ UNIT ]
objective ::=
"maximized"
| "minimized"
|
where we now distinguish a constraint-rule-literal
and a
requirement-rule-literal
. The constraint-rule-literal
is not altered. In a
requirement-rule-literal
one can define a comparison
bound
combination or an
objective
. The word approximately
is added as a comparison
option which is
only allowed in a requirement rule literal.
Backwards Compatibility¶
The proposed changes are additions so no compatibility issues are expected.
Proof of concept¶
This section will be added once the proposed changes are implemented.
Rejected Ideas¶
The following ideas where rejected.
Has target¶
The following has target
syntax has been considered for defining targets within
requirement rule literals.
1 2 | design-requirement
dr-0: foo has target 5 [-]
|
However, this options is a deviation of the regular predicate-comparison structure of
design-rule literals. Hence we prefered the addition of approximately
to the set of
comparisons.
Open Issues¶
No open issues were identified.
Copyright¶
Copyright is owned by Ratio Computer Aided Systems Engineering B.V.