Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define definition vs. usage #6

Open
1 task
HendrikDahmkeLumira opened this issue Jan 16, 2025 · 2 comments
Open
1 task

Define definition vs. usage #6

HendrikDahmkeLumira opened this issue Jan 16, 2025 · 2 comments
Assignees

Comments

@HendrikDahmkeLumira
Copy link
Collaborator

Description

We need clear set of rules that states what comes into the defintion and what we want to have in the usage.

Additionally, we need a usage of the roboticVaccumCleaner

Defintion of Done

  • Rules are added to Documentations
@HendrikDahmkeLumira
Copy link
Collaborator Author

Definition

A definition in SysML v2 serves as a blueprint or template for a part or component. It should include:

  1. Attributes and Properties:
    Define all the necessary attributes and properties that describe the part or component.
    Include default values if applicable.
  2. Structure:
    Specify the internal structure, including sub-parts and their relationships.
    Define interfaces and connections to other parts.
  3. Behavior:
    Describe the behavior or functions that the part can perform.
    Include state machines or activity diagrams if necessary.
  4. Constraints:
    Define any constraints or rules that apply to the part.
    Include invariants, preconditions, and postconditions.
  5. Documentation:
    Provide detailed documentation and comments to explain the purpose and usage of the part.
  6. Versioning:
    Include version information to track changes over time.

Usage

A usage in SysML v2 represents an instance or application of a definition. It should include:

  1. Instantiation:
    Create an instance of the part definition.
    Assign specific values to attributes and properties as needed.
  2. Contextual Information:
    Specify the context or environment in which the part is used.
    Define the role or function of the part within the larger system.
  3. Connections:
    Establish connections to other parts or components in the system.
    Specify how the part interacts with other parts.
  4. Overrides and Extensions:
    Override default values or behaviors from the definition if necessary.
    Extend the part with additional properties or behaviors specific to the usage context.
  5. References:
    Reference the part definition to ensure consistency and traceability.
  6. Documentation:
    Provide usage-specific documentation to explain how the part is applied in the given context.

General Guidelines

• Separation of Concerns: Keep definitions and usages separate to maintain clarity and reusability.
• Reusability: Design definitions to be reusable across different contexts and projects.
• Consistency: Ensure that usages are consistent with their corresponding definitions.
• Traceability: Maintain clear traceability between definitions and their usages to facilitate understanding and maintenance.

@HendrikDahmkeLumira
Copy link
Collaborator Author

@manourym
@Weilkiti

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants