System Modeling Environment Requirements, Architecture and
Implementa<on
Maged Elaasar, Ph.D.,P.Eng. h1p://magedelaasar.com
Simula Research Laboratory, Norway October, 2015
References • Friedenthal, S., Burkhart, R.: Evolving SysML and the System Modeling Environment to Support MBSE. DraE March 30, 2015.
• Delp, C., Lee, C.Y., PieNe, M.: Model-‐Based Engineering Environment for Model-‐Based Engineering, Jet Propulsion Laboratory, Caltech Ins<tute of Technology. (PPT)
• Karban, R., Delp, C., Elaasar, M.: Reference Architecture for a Model Based Engineering Environment (MBEE), Jet Propulsion Laboratory, Caltech Ins<tute of Technology. (PPT)
Outline
• Background • Problem statement • Requirements • Approach • Conclusion
Model Based Systems Engineering
• MBSE is a systems engineering methodology which focuses on crea<ng and exploi<ng models as the primary means of informa<on exchange between engineers, rather than on document-‐based informa<on exchange
MBSE Benefits
• Quality improvements by reducing downstream design errors
• Produc<vity improvements through reuse of models across projects and throughout the lifecycle
• Ability to automate tasks like change impact analysis • Auto-‐generate reports and documenta<on with increased confidence that the informa<on is valid, complete, and consistent
System Model
• A shared view of the system • The authorita<ve source of informa<on • A baseline for integra<on with other engineering models and tools.
Systems Modeling Language
• SysML is a general-‐purpose graphical modeling language for specifying, analyzing, designing, and verifying complex systems
• SysML models hardware, soEware, informa<on, personnel, procedures, and facili<es
• SysML provides graphical representa<ons with a seman<c founda<on for modeling system decomposi<on, interfaces, requirements, behavior, structure, and parametric constraints.
SysML Tool Integra<on • With soEware design tools, especially for soEware developed with UML models, since SysML is based on UML
• With engineering analysis and simula<on tools (e.g., Mathema<ca)
• With requirements management tools (e.g., DOORS)
• With product lifecycle management tools (e.g., Teamcenter)
• With hardware design tools (e.g., MCAD)
Challenges of MBSE Adop<on
• Challenges inherent in the complexity of systems and systems engineering like the need to define and maintain mul<ple consistent views of a system
• Challenges in learning a formal language (SysML), the tools to build and maintain models, and a methodology for effec<ve applica<on of the language and tools
Problem Statement
• There is a need to define a System Modeling Environment (SME) to facilitate performing MBSE
Use Cases for SME
• BoNom up use cases – model construc<on – model visualiza<on – model analysis – model management – model exchange and integra<on
– Support for MBSE collabora<on and workflow
Measures of Effec<veness of SME
• Expressive: Ability to express the system concepts • Precise: Representa<on is unambiguous and concise • PresentaJon/communicaJon: Ability to effec<vely communicate
with diverse stakeholders • Model construcJon: Ability to efficiently and intui<vely construct
models • Interoperable: Ability to exchange and transform data with other
models and structured data • Manageable: Ability to efficiently manage change to models • Usable: Ability for stakeholders to efficiently and intui<vely create,
maintain, and use the model • Adaptable/Customizable: Ability to extend models to support
domain-‐specific concepts and terminology
Requirements for SME
1. Define a next genera<on modeling language that expresses the core systems engineering concepts with a robust data model – Revisit/refine the original System Engineering
Conceptual Model developed by INCOSE/OMG in light of what has been learned since then
Requirements for SME
2. Ensure the system modeling language – Have precise seman<cs to avoid ambiguity • SysML leverages UML as its seman<c founda<on
– Enable a concise representa<on of concepts • SysML is defined as a profile of UML
– Support analysis and model checking capabili<es • Validate model is logically consistent • Analyze impact of change to requirements or design • Assess how failure propagates through the system
Requirements for SME
3. Provide rich visualiza<on and repor<ng capabili<es to support different stakeholders – SysML includes the concepts of Viewpoint/View – Used to query model and generate documents – Extend by advanced visualiza<on techniques • Dynamic zoom, filtering, traversal of rela<onships and
visualiza<on of dynamic behavior (like simula<ons)
– Support symbol libraries beyond SysML nota<on – Support simplified and dynamic viewpoints
Requirements for SME
4. Enable intui<ve and efficient model construc<on – Streamline user interfaces to reduce <me and
effort to construct/maintain model (less clicks) – Add ability to repeat common modeling paNerns – Add ability to reduce user input (e.g., table entry)
Requirements for SME
5. Support MBSE in the broader context of Model Based Engineering (MBE) – Integrate models and tools across discipline-‐
specific engineering tools (hardware and soEware design, analysis and simula<on and verifica<on)
Requirements for SME
6. Provide a standard API to enable dynamic access to the model with access controls – Enable integra<on with emerging plaiorms for
management of model-‐based content (e.g., OSLC) – Enable integra<on with model exchange and co-‐
simula<on (e.g., FMI) – Enable model query, view and transforma<on
Requirements for SME
7. Enable management of models in a heterogeneous and distributed modeling environment – Enable branch/merge capabili<es on models – Enable compare of model changes by mul<ple
collabora<ng users – Enable versioning, configura<on and variant
management on models
Requirements for SME
8. Enable efficient and intui<ve use by a broad range of users with diverse skills – Enable different levels of details for model
construc<on, visualiza<on, management, etc. – Focus on usability for every kind of user
Requirements for SME
9. Enable adaptability and customiza<on to mul<ple applica<on domains – Make systems modeling language extensible to
address domain-‐specific concepts – Enable construc<on, analysis and visualiza<on of
domain-‐specific concepts in rigorous ways
Requirements for SME
10. Enable migra<on of exis<ng models with minimum informa<on loss – Enable the retaining of models in neutral formats
Approach: System Modeling Language
• Define next genera<on systems modeling language – Choose a formalism to specify the concept model in (M3)
• MOF, UML Profile, OWL, K, etc. – Define a concept model for the language (M2)
• Simplify, streamline and consolidate the exis<ng SysML model • Several aNempts are occurring in parallel (e.g., JPL, NoMagic, etc.) • Coordinated by the OMG SysML roadmap working group
– Define domain-‐specific libraries (M1) • Flight systems, ground systems, etc.
– Define project/mission specific libraries (M1) • Europa, Mars2020, etc.
Approach: System Modeling Environment
• Use SysML with the Object-‐Oriented System Engineering Methodology (OOSEM) to specify the SME architecture – Domain (System Modeling Domain)
• Includes the enterprise, its stakeholders, and any thing that affects it like corporate/project rules
– Enterprise (System Modeling Enterprise) • Includes the system of interest, the development environment, prac<ces repository and external systems like analysis tools
– System of interest (System Modeling Environment) • Includes all tools to be developed like model editors, model repository, model manager, exchange bus, etc.
System Modeling Domain BDD
SME Domain
SME Enterprise Stakeholder Rules
User Reviewer Sponsor …..
System Modeling Enterprise BDD
SME Enterprise
SME Black Box
Stakeholder
Developer Development Environment
Prac<ces Repository
External Tools
Office Tool
Analysis Tool
Engineering Tool …..
SME Enterprise Use Cases • Architec<ng • Requirements • Analyzing and characteriza<on the design • Technical resource management • Defini<on of interfaces • Verifica<on and valida<on • Reviews • Risk management • Change management and impact analysis • Task management
Example: V&V Use Cases SME Enterprise
Review Requirements
Create V&V Plan
Create Verifica<on Ac<vi<es
Define Test
Procedures
Execute V&V Plan
V&V System Engineer
<include> <include>
V&V Execu<on Team
Example: Define Test Procedure Ac<vity acJvity Define Test Procedure
SME Enterprise
SME
V&V System Engineer
Request Verifica<on Ac<vity
Get Element
Verifica<on Ac<vity id
Specify Test Procedure
:String
element
Verifica<on Ac<vity id
Verifica<on Ac<vity
Submit Test Procedure
Post Element
:Element
Test Procedure
Test Procedure
:Test Procedure Test Procedure
System Modeling Environment
• A black box interface – Block with ports typed by Interface blocks
• A white box concept design – Block with parts specifying logical SME tools – Parts are connected to black box ports
• A white box realiza<on design – Block with parts specifying physical SME tools – Parts are connected to black box ports – Physical parts are allocated to concept parts
System Modeling Environment BDD
<Interface Block> Model API
Flow Proper<es <flow> in Id: String <flow> inout element: Element
SME Black Box
Ports : Model API
SME Concept SME Realiza<on
System Modeling Domain IBD SME Domain
:SME Enterprise
:Rules
:Sponsor
:Reviewer
:User :SME Black Box
:Analysis Tool
:Prac<ces Repository
:Developer
:Development Environment
String Element Element
:Model API
SME Concept BDD SME Concept
Rich Model Editor
Informa<on Exchange Mgr
Web Model Editor
Model Editor Model Mgr Model Analyzer Model Repository
Model API Library
Model Web Service
SME Concept IBD SME Concept
:Informa<on Exchange Mgr :Rich Model
Editor
:Model API
:Web Model Editor
:Modeling Web Service
:Model API Library
:Model Mgr
:Model Repository
Model Analyzer
Realiza<on Example: Open MBEE* • Model repository
– Implemented using an enterprise Content Management System (CSM) called Alfresco extended with Stanbol seman<c services
– Supports access control, collabora<on, no<fica<on, versioning, work flow, scalability
– The system modeling language is defined with a custom content model in Alfresco
• Model Mgr – The Model Management Service (MMS) provides RESTful APIs (JSON over HTTP) to the model repository
– Supports batch as well as interac<ve model API • Model Web Service
– The Engineering Model Service (EMS) provides RESTful API suppor<ng the View Editor web applica<on (which provides web-‐based document interface to model viewing/edi<ng)
* hNps://github.com/Open-‐MBEE
Realiza<on Example: Open MBEE* • Rich Model Editor
– MagicDraw (MD) SysML tool – Model Development Kit (MDK) plugin that is able to synchronize MD’s models with repository
• Web Model Editor – View Editor which provides web-‐based document interface to model viewing/edi<ng
– Provides the ability to define a document template with SysML Viewpoints framework and a DocGen profile
– Allows non-‐SysML modelers to contribute content to model • Model Analyzer
– Various tools including: Modelica, SLIM, Pellet Reaonser, etc.
* hNps://github.com/Open-‐MBEE
SME Realiza<on BDD SME Realiza<on
MagicDraw
Oracle Service Bus
View Editor
Model Editor MMS Modelica
MMS Java API EMS
Alfresco
SME Realiza<on IBD SME Realiza<on
:Oracle Service Bus :MagicDraw
:Model API
:View Editor :EMS
:Model Management
Library
:Modelica
:MDK :MMS
:Alfresco
Summary
• MBSE enables the use of model for SE • A system model environment (SME) is needed to facilitate the prac<ce of MBSE – Iden<fied requirements for a new genera<on of system modeling language or tools for SME
– Rigorously defined the architecture of SME in SysML by following the OOSEM methodology
• Open MBEE is one realiza<on of SME that is focused on web-‐based document interface to system models