Model-Driven Composition of Non-Functional Concerns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software systems often fail to fully address non-functional concerns such as security, availability, and performance due to the complexity of interdependencies between these concerns, requiring specialized knowledge that developers may not possess.

Innovation Solution

A multi-phase, model-driven approach for composing non-functional concerns, involving requirements specification, action definition, action composition, and action mapping, with graphical editors to generate computer-executable code that addresses these concerns, using Business Process Modeling Notation (BPMN) for defining execution orders and interdependencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers attempt to address all non-functional concerns (security, availability, performance, etc.) in software systems, then the system quality and reliability improve, but the complexity of the development process increases significantly due to interdependencies between concerns

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddevelopment process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments non-functional concerns into distinct, independently manageable units called 'aspect-oriented' components. Each non-functional concern (security, logging, performance) is separated into its own aspect that can be defined, composed, and executed independently through model-driven engineering, reducing the complexity of managing interdependencies while maintaining comprehensive system quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer of abstraction between the core software system and non-functional concerns. This intermediary uses formal models (requirements models, action models, composition models) to mediate the integration of non-functional aspects, allowing developers to address reliability concerns without directly managing the complexity of their interactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If developers lack specialized knowledge in all non-functional domains, then the ease of development is maintained, but the ability to fully address non-functional concerns is compromised

Engineering Contradiction:
Improveease of developmentVSAvoidnon-functional concern coverage
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent enables self-service through automated model-driven engineering tools that guide developers through the process of defining and composing non-functional aspects. The system provides templates, validation, and automated code generation, allowing developers without deep specialized knowledge in each non-functional domain to still achieve comprehensive coverage through structured, tool-supported processes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a universal framework that handles multiple non-functional concerns through a single integrated approach. The model-driven engineering methodology provides a unified language and process for addressing security, performance, logging, and other concerns simultaneously, eliminating the need for developers to be experts in each specific domain while maintaining comprehensive coverage.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If non-functional concerns are addressed without a structured composition approach, then the development speed is maintained, but the correctness and optimization of concern integration deteriorates

Engineering Contradiction:
Improvedevelopment speedVSAvoidintegration correctness
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by requiring the definition of requirements models and action models before implementation. Non-functional aspects are specified, validated, and composed in advance using formal models, ensuring integration correctness is established before code generation. This upfront structuring maintains productivity by avoiding rework while ensuring precision in the final integration.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces manual, ad-hoc integration mechanisms with an automated model-driven engineering system. Formal models and automated code generation tools substitute for manual integration efforts, maintaining development speed through automation while ensuring integration correctness through formal validation and structured composition rules.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8832643B2Composition of non-functional concerns
Publication Date: 2014.09.09 SAP SE
  • US8832643B2 patent drawing
  • US8832643B2 patent drawing
  • US8832643B2 patent drawing

AI summary

Methods, systems, and computer-readable media include actions for composing non-functional concerns to be implemented with an application. In implementations, actions include receiving a requirements model that defines non-functional requirements and non-functional attributes associated with the non-functional requirements, for each non-functional attribute, identifying one or more actions, properties of each action and interdependencies between actions to provide an action model, defining an action composition model based on the action model, the action composition model defining orders of execution of actions and one or more activities, defining an action mapping model, the action mapping model mapping actions and activities to the application, generating computer-executable code based on the action mapping model, the computer-executable code being executable to provide a non-functional concern.