A Quick Guide to LML
LML is the Lifecycle Modeling Language. The language was developed for engineers and program managers. LML is still relatively new to the engineering community. For those of you who don’t know much about LML, this guide will help you get started with LML. You can use this article as a reference. This article covers the 5 Goals of LML, Entity/Relationship/Attribute, Attributes on Relationships, LML Entities, Traceability, Diagrams, Extensions, and Instantiation.
5 Goals of LML
LML came from the need for a simpler language in an increasingly complex world. While the engineering community needed a language that worked for all stakeholders. The LML steering committee came together with these six goals when they developed the language:
- To be easy to understand
- To be easy to extend
- To support both functional and object oriented approaches within the same design
- To be a language that can be understood by most system stakeholders, not just Systems Engineers
- To support systems from cradle to grave
To support both evolutionary and revolutionary changes to system plans and designs over the lifetime of a system. To learn more, read “5 Goals the Lifecycle Modeling Language Accomplishes – A Case for LML.”
Entity, Relationship, Attribute
ERA form the meta-meta model for the language elements. An entity is something that can exist by itself and is uniquely identifiable. LML has defined 12 parent entities (Action, Artifact, Asset, Characteristic, Connection, Cost, Decision, Input/Output, Location, Risk, Statement and Time) [Noun]. A relationship connects entities to each other, e.g. decomposed by/decomposes, traced to/traced from. An attribute is an inherent characteristic or quality of an entity or relationship. An attribute can be of an entity [Adjective] or relationship [Adverb].
Attributes on Relationships
In this example, the “trigger” attribute on the receives/received by relationship determines if the Action must wait to execute until it receives the Input/Output element.
Entity names were chosen to provide a clear, easy to understand general “bin” for information.
- Example: Action vs. Function or Activity
Child entities have unique attributes and/or relationships. Child entities inherit attributes and relationships from parents.
- Example: Measure vs. Characteristic
There have been many discussions about keeping “Orbital” as part of the language. The committee decided to keep “Orbital,” because it has important different attributes and relationships. It is also key to a major part of the SE community (space).
The following requirements contain quality attributes:
The image below shows key relationships for traceability. These represent a subset of all the relationships (see specification for complete set of relationships). You should note that all parent/child relationships are the same for each entity class.
LML Mapping to Domains
Below is a chart of domains. Note how LML covers all the different pieces of information in these domains. Entity classes for other domains can be added as extensions.
Below are three mandatory diagrams
- Action for functional modeling
- Asset for physical modeling
- Spider for traceability
All extensions must be submitted to the LML Steering Committee for adjudication before they will be recognized as official extensions to LML. Version 1.1 added entities, attributes and relationships for SysML support.
Actual instantiation of the LML specification will be up to tool vendors. Innoslate instantiates LML completely: 1. Type attributes are labels and 2. Includes diagrams for every class. LML could easily be used by any tools that enable schema extension. However, adding diagrams might be difficult for users to add; tool vendors should add them.
LML is increasing in popularity due to its simplicity and equal ability to support systems engineering and program management. Bookmark this article as a reference guide and try LML in Innoslate.