Design considerations for initial package release #1
Labels
Epic
a.k.a. sprint
help wanted
Extra attention is needed
needs design feedback
Design implementation needs feedback
SysML
Domain-knowledge of SysML is recommended for working on this issue
This issue is used for outlining the design and scope of the initial package release onto PyPI.
Design pattern
System model creation is done using a composite design pattern, whereby model elements are instantiated then subsumed by a
Model
object or model elements within aModel
object. See "class diagram" tab of SysML.py UML for a structural breakdown of the working design pattern implementation.Use cases
The long term vision is to provide automation support for two primary use cases:
See "use case diagram" tab of SysML.py UML
Package contents & features:
sysml/system.py
- This module contains theModel()
class for creatingModel
objects that serve as a central namespace for subclasses ofModelElements
(see Implement Model() class #3). Methods should also be callable fromModel
objects (see getters & setters for Model() class #12, RTM() 'Requirements Traceability Matrix' #15, & Model Validation #25 to_yaml() #6). Module should also contain a function for deserializingModel
objects (see read_yaml() #7)sysml/element.py
- This module contains the core language of SysML for creating subclasses ofModelElement
objects (s.a.,Package
,Block
,ConstraintBlock
,Activity
,Interaction
,StateMachine
, andRequirement
). These objects are intended to be subsumed byModel
objects (see Populate 'element.py' #11).Usage
The following illustrates an example workflow, using the traditional pillars of SysML (i.e., structure, behavior, and requirements) in conjuction with two new pillars: analysis and verification & validation...
(See test_model.py for most up-to-date profile of unittests)
Structure
Requirements
Behavior (WIP)
Analysis (WIP)
Verification & Validation (WIP)
Additional features being considered in the development pipeline include, but not limited to:
The text was updated successfully, but these errors were encountered: