Performing a project in a Distributed Software Development

Download Report

Transcript Performing a project in a Distributed Software Development

CHESS Methodology and Tool
Federico Ciccozzi
MBEES Meeting
Sälen, January 2011
January 2011
Technological Innovation
Domain specific
execution platform
description
System model using
Cross-Domain Component
model
Domain specific
non-functional
constraints
Analysis
(Real-time, Predictability,
Dependability, Security)
Model
Transformation
January 2011
The CHESS approach
• Model-driven engineering
– Models as the central development artifacts
– Tool assisted automated development
• Component based development
– Specialized for the capture of extra-functional requirements of
components
– Traceability between extra-functional requirements and properties
of software components
– Property preserving component implementation and assembly
• Extra-functional properties
– Time predictability, isolation and transparency
– Dependability (incl. Safety) and Security
January 2011
Component model
• Component
– Reusable functional unit
• Container
– Extra-functional encapsulation of components
– Factorized implementation
– Property-preserving binding to execution environment
• Connector
– Container assembly in the extra-functional space
– Other features as for container
Component
A
Container A
January 2011
Connector AB
Component
B
Container B
The CHESS Methodology(1/2)
• Separation of concerns
– Multi-view design space
• Distinct concerns allocated to distinct views
– Enforcement of consistency among views
• Each view has write permissions on view-specific
concerns and read-only rights on cross-cutting
concerns
• On-the-fly verification of view-specific constraints
• Overall verification of the design space
– Guarantees extended at run time
January 2011
The CHESS Methodology(2/2)
• Iterative and incremental process
– Incremental by component refinement
• Repository of components
• Composability of components
– Iterative by static analysis  verification 
back propagation cycles
– Traceability to requirements
– Automated code generation
January 2011
6
Extra-functional properties
• Focus is on
– clearly and cleanly separating the extra-functional part of a
software component from its functional part
– ensuring that extra-functional properties are asserted and
validated at model level and then preserved at run time
• Extra-functional dimensions of interest
– Time predictability, isolation and transparency
– Dependability (incl. Safety) and Security properties,
January 2011
7
The CHESS-ML (1/2)
The CHESS ML
extends subsets
of standard OMG
languages
Instead of inheriting the full
UML capabilities
CHESS-ML imports a subset
of UML constructs,
avoid redundancy and fixing
any semantic
variation points
HRT
January 2011
The CHESS-ML (2/2)
• A collection of MDT-Papyrus plug-ins running under
Eclipse Helios.
• They enrich and extend the standard MDT-Papyrus by
enabling the distinctive traits of the CHESS process.
• The CHESS Editor Team is investigating whether the
CHESS value-added plug-ins could be turned into
TOPCASED extension opportunities.
January 2011
9
Approach into the Tool
January 2011
10
The CHESS Views
• System Level Views
–
–
–
–
domain specific views
will not be part of the proper CHESS ML
using the SysML language
Automatic or semi-automatic derivation (from system
requirements, analysis and design elements)
• Platform Independent Model (PIM) Views
– user level cross-domain multi-concern design views
• Platform Specific Model (PSM) Views
– defined for the different application domains
January 2011
11
Views in detail
• FunctionalView
– Functional modelling of software components, interfaces and state machines
• ExtraFunctionalView
– Modelling of real-time and dependability concerns
– Functional view models are used and extended with extra-functional information
• DeploymentView
– Modelling of the hardware platform
– Allocation of software component instances from the ExtraFunctional View
• RealTimeAnalysisView
– Modelling of the real time analysis contexts
• DependabilityAnalysisView
– Modelling of the dependability analysis contexts
January 2011
12
The CHESS Tool (1/3)
• Starting a new CHESS
project and creating a new
CHESS model, a wizard
automatically creates:
– all the views the system will
be composed by
– the UML profiles that
constitute the CHESS
modelling language
January 2011
13
The CHESS Tool (2/3)
• Domain specific aspects can be added to the cross-domain
model to obtain platform-specific documents for informed
model-based analysis and fully automated code generation
January 2011
14
The CHESS Tool (3/3)
• Thanks to explicit support for views and proactive enforcement
of view-specific editing constraints, CHESS pursues and realizes
the principle of separation of concerns
• Example of violated view-specific constraint message:
January 2011
15
Thank you for your attention..
QUESTIONS?
January 2011