diff --git a/schema/specif.schema.json b/schema/specif.schema.json index 523478d..6f8ce1b 100644 --- a/schema/specif.schema.json +++ b/schema/specif.schema.json @@ -78,7 +78,7 @@ }, "multiple": { "type": "boolean", - "description": "Optional use by a propertyType with dataType 'xs:enumeration'. Indicates whether multiple values can be chosen. If omitted, the 'multiple' property of the dataType applies; by default the value is 'false'." + "description": "Optional use by a propertyClass with dataType 'xs:enumeration'. Indicates whether multiple values can be chosen. If omitted, the 'multiple' property of the dataType applies; by default the value is 'false'." }, "revision": { "$ref": "#/definitions/revision" @@ -91,7 +91,7 @@ } }, "properties": { - "description": "A property value for a resource, statement or hierarchy.", + "description": "A property value of a resource, statement or hierarchy.", "type": "array", "items": { "type": "object", @@ -100,7 +100,8 @@ "$ref": "#/definitions/id" }, "title": { - "type": "string" + "type": "string", + "description": "The label; if missing, the title of the property's class is applied." }, "description": { "type": "string" diff --git a/test-cases/SpecIF-0.10.2 OK-1.test.specif b/test-cases/SpecIF-0.10.2 OK-1.test.specif new file mode 100644 index 0000000..57be7ad --- /dev/null +++ b/test-cases/SpecIF-0.10.2 OK-1.test.specif @@ -0,0 +1,603 @@ +{ + "id": "ACP-59c8a7730000bca80137509a49b1218b-test-0-11-1", + "title": "SpecIF-0.10.2 OK-1", + "description": "all is fine.", + "specifVersion": "0.10.2", + "generator": "manual", + "generatorVersion": "", + "rights": { + "title": "Creative Commons 4.0 CC BY-SA", + "type": "dcterms:rights", + "url": "https://creativecommons.org/licenses/by-sa/4.0/" + }, + "createdAt": "2018-01-05T14:42:23.307Z", + "createdBy": { + "familyName": "von Dungern", + "givenName": "Oskar", + "org": { + "organizationName": "adesso" + }, + "email": { + "type": "text/html", + "value": "oskar.dungern@adesso.de" + } + }, + "dataTypes": [{ + "id": "DT-Boolean", + "title": "Boolean", + "type": "xs:boolean", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-Byte", + "title": "Byte", + "type": "xs:integer", + "min": 0, + "max": 255, + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-Integer", + "title": "Integer", + "type": "xs:integer", + "min": -32768, + "max": 32767, + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-Real", + "title": "Real", + "type": "xs:double", + "accuracy": 5, + "min": -10000, + "max": 10000, + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-Date", + "title": "Date or Timestamp", + "type": "xs:dateTime", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-ShortString", + "title": "String[96]", + "description": "String with length 96", + "type": "xs:string", + "maxLength": 96, + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-String", + "title": "String[512]", + "description": "String with length 512", + "type": "xs:string", + "maxLength": 512, + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-Text", + "title": "dcterms:description", + "description": "String with length 8192", + "type": "xs:string", + "maxLength": 8192, + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-URL", + "title": "URL", + "type": "xs:string", + "maxLength": 1024, + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-EmailAddress", + "title": "E-mail", + "type": "xs:string", + "maxLength": 256, + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-FormattedText", + "title": "Formatted Text", + "type": "xhtml", + "maxLength": 4196, + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-Status", + "title": "SpecIF:Status", + "description": "Enumerated values for status", + "type": "xs:enumeration", + "values": [{ + "id": "V-Status-0", + "title": "00_deprecated" + }, { + "id": "V-Status-1", + "title": "00_rejected" + }, { + "id": "V-Status-2", + "title": "10_initial" + }, { + "id": "V-Status-3", + "title": "20_drafted" + }, { + "id": "V-Status-4", + "title": "30_submitted" + }, { + "id": "V-Status-5", + "title": "40_approved" + }, { + "id": "V-Status-6", + "title": "60_completed" + }, { + "id": "V-Status-7", + "title": "80_released" + }], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-Priority", + "title": "SpecIF:Priority", + "description": "Enumerated values for priority", + "type": "xs:enumeration", + "values": [{ + "id": "V-Prio-0", + "title": "1_high" + }, { + "id": "V-Prio-1", + "title": "2_medium" + }, { + "id": "V-Prio-2", + "title": "3_low" + }], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-Perspective", + "title": "Perspective", + "description": "Enumerated values for perspective", + "type": "xs:enumeration", + "values": [{ + "id": "V-perspective-0", + "title": "Business" + }, { + "id": "V-perspective-1", + "title": "User" + }, { + "id": "V-perspective-2", + "title": "System" + }], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "DT-Discipline", + "title": "Discipline", + "description": "Enumerated values for engineering discipline", + "type": "xs:enumeration", + "values": [{ + "id": "V-discipline-0", + "title": "Mechanics" + }, { + "id": "V-discipline-1", + "title": "Electronics" + }, { + "id": "V-discipline-2", + "title": "Software" + }, { + "id": "V-discipline-3", + "title": "Safety" + }], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }], + "resourceTypes": [{ + "id": "OT-Fld", + "title": "SpecIF:Heading", + "description": "Folders with title and text for chapters or descriptive paragraphs.", + "instantiation": ["user"], + "propertyTypes": [{ + "id": "AT-Fld-Name", + "title": "dcterms:title", + "dataType": "DT-ShortString", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "AT-Fld-Text", + "title": "dcterms:description", + "dataType": "DT-FormattedText", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00", + "isHeading": true + }, { + "id": "OT-Pln", + "title": "SpecIF:Diagram", + "description": "A 'Diagram' is a graphical model view with a specific communication purpose, e.g. a business process or system composition.", + "icon": "▣", + "instantiation": ["auto"], + "propertyTypes": [{ + "id": "AT-Pln-Name", + "title": "dcterms:title", + "dataType": "DT-ShortString", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "AT-Pln-Text", + "title": "dcterms:description", + "dataType": "DT-FormattedText", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "AT-Pln-Notation", + "title": "SpecIF:Notation", + "dataType": "DT-ShortString", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "AT-Pln-status", + "title": "Status", + "dataType": "DT-Status", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "OT-Act", + "title": "FMC:Actor", + "description": "An 'Actor' is a fundamental model element type representing an active entity, be it an activity, a process step, a function, a system component or a role.", + "icon": "■", + "instantiation": ["auto"], + "propertyTypes": [{ + "id": "AT-Act-Name", + "title": "dcterms:title", + "dataType": "DT-ShortString", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "AT-Act-Text", + "title": "dcterms:description", + "dataType": "DT-FormattedText", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "OT-Sta", + "title": "FMC:State", + "description": "A 'State' is a fundamental model element type representing a passive entity, be it a value, a condition, an information storage or even a physical shape.", + "icon": "●", + "instantiation": ["auto"], + "propertyTypes": [{ + "id": "AT-Sta-Name", + "title": "dcterms:title", + "dataType": "DT-ShortString", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "AT-Sta-Text", + "title": "dcterms:description", + "dataType": "DT-FormattedText", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "OT-Evt", + "title": "FMC:Event", + "description": "An 'Event' is a fundamental model element type representing a time reference, a change in condition/value or more generally a synchronisation primitive.", + "icon": "♦", + "instantiation": ["auto"], + "propertyTypes": [{ + "id": "AT-Evt-Name", + "title": "dcterms:title", + "dataType": "DT-ShortString", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "AT-Evt-Text", + "title": "dcterms:description", + "dataType": "DT-FormattedText", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }], + "statementTypes": [{ + "id": "RT-Visibility", + "title": "SpecIF:shows", + "description": "Relation: Plan shows Model-Element", + "instantiation": ["auto"], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00", + "subjectTypes": ["OT-Pln"], + "objectTypes": ["OT-Act", "OT-Sta", "OT-Evt"] + }], + "hierarchyTypes": [{ + "id": "ST-ACProject", + "title": "SpecIF:Hierarchy", + "description": "Root node of a specification (outline).", + "propertyTypes": [{ + "id": "AT-ACProject-Name", + "title": "dcterms:title", + "dataType": "DT-ShortString", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }, { + "id": "AT-ACProject-Text", + "title": "dcterms:description", + "dataType": "DT-FormattedText", + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }], + "revision": 1, + "changedAt": "2016-05-26T08:59:00+02:00" + }], + "resources": [{ + "id": "Fld-59c8a7730000bca80137509a49b1218b-info", + "title": "Project Information", + "properties": [{ + "title": "dcterms:title", + "propertyType": "AT-Fld-Name", + "value": "Project Information" + }, { + "title": "dcterms:description", + "propertyType": "AT-Fld-Text", + "value": "
This specification method integrates and represents:
It is important to understand, that all plans (diagrams) are views of a common system engineering model, sometimes called 'system repository'. Thus, consistency is always maintained.
The model elements are connected with relations, most of which are defined by positioning graph elements. For example, if a system component is drawn within another, a relationship 'contains' is created in the logic representation of the engineering model. Other relations, such as a system component 'complies-with' a requirement are created manually.
Also, the documents are generated from the system engineering model. The ordering is in most projects (it can be rearranged, however, if appropriate):
Please note that plans list related model elements and model elements list related requirements .. and vice versa. Active hyper-links are used, so that it is easy to jump between related model elements.
Stakeholders:
Name | Organisation | Telephone | |
---|---|---|---|
Vorname Nachname | Hersteller AG |
Legend:
To distinguish their type, element names are preceded by one of the following symbols:
▣ | Plan | A 'Diagram' is a graphical model view with a specific communication purpose, e.g. a business process or system composition. |
■ | Actor (Role, Function) | An 'Actor' is a fundamental model element type representing an active entity, be it an activity, a process step, a function, a system component or a role. |
● | State (Information) | A 'State' is a fundamental model element type representing a passive entity, be it a value, a condition, an information storage or even a physical shape. |
♦ | Event | An 'Event' is a fundamental model element type representing a time reference, a change in condition/value or more generally a synchronisation primitive. |
✶ | Feature | A 'Feature' is an intentional distinguishing characteristic of a system, often a unique selling proposition. |
↯ | Requirement | A 'Requirement' is a singular documented physical and functional need that a particular design, product or process must be able to perform. |
.. showing the system and its composition of modules (at a higher level) and components (at a lower level). The relevant interfaces between the disciplines mechanical, electrical and software engineering are shown.
.. showing the behavioral aspects of system design, both from external user perspective ('black box') and from internal perspective ('white box').
The Smart-Home-System consists of sensors on the left side, the controller in the middle and the actuators on the right side.
Model View:
This shows the defined sequences of manual operation to activate the device.
Model View:
Dimmable candescent light-bulb 230V. (Rev 238)
Dimmable candescent light-bulb 230V. (Rev 239)
The button to drive down the dimmer, shading or similar devices.