Application Architecture Generation via Automated Project Templates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in setting up projects efficiently, integrating reusable components, managing custom assets, ensuring code security, and maintaining backward compatibility, particularly in mobile application development, due to lack of standardized project structures, automated code generation, and integrated toolkits for static code analysis.

Innovation Solution

The SWIFT solution provides a general-purpose programming language for IOS, MACOS, WATCHOS, TVOS, and LINUX, facilitating accelerated project development and maintenance through standardized architecture frameworks, one-click integration for static code analysis, and automated deployment support, along with tools for code coverage and test automation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If developers manually set up projects and integrate components, then flexibility and customization are maintained, but development time and complexity increase significantly

Engineering Contradiction:
Improvedevelopment speedVSAvoidproject setup complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements pre-configured project templates that contain pre-defined directory structures, component configurations, and dependency relationships. When a developer initiates a new project, the system automatically generates the complete project framework based on selected templates, eliminating the need for manual setup of common project elements and accelerating the development process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides automated code generation capabilities that create boilerplate code, configuration files, and component implementations based on project requirements. The framework automatically manages dependency resolution, component registration, and project initialization tasks, reducing the manual effort required for project setup and allowing developers to focus on core business logic.

Inventive Principle:
Principle #25Self-service

2Stability of the object's composition

If standardized architecture frameworks are implemented, then project uniformity and maintainability improve, but adaptability to unique project requirements may be reduced

Engineering Contradiction:
Improvearchitecture uniformityVSAvoidproject customization flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The architecture framework is divided into modular components with well-defined interfaces and responsibilities. Each component can be independently configured, replaced, or extended to meet specific project requirements while maintaining the overall architectural structure. This modular design allows developers to customize individual aspects of the system without affecting the entire codebase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The framework implements universal base classes and interfaces that can serve multiple purposes across different project types. Common functionality is abstracted into reusable components that can be configured through parameters and dependencies rather than requiring custom implementation, enabling the same architectural framework to support diverse application domains while maintaining consistency.

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

3Reliability

If integrated toolkits for static code analysis are added, then code quality and security are enhanced, but build time and processing overhead increase

Engineering Contradiction:
Improvecode qualityVSAvoidbuild time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements selective static code analysis by allowing developers to choose which analysis tools and checks to enable based on project needs. Not all code quality checks are applied by default; instead, the framework provides a configurable subset of analysis tools that can be activated through project configuration, balancing code quality assurance with acceptable build times.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Static code analysis is integrated into the continuous integration and incremental build process rather than requiring complete re-analysis on every change. The framework tracks which files have been modified and only re-runs analysis on affected components, maintaining continuous code quality assurance while minimizing redundant processing and build time overhead.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3447635A1Application architecture generation
Publication Date: 2019.02.27 ACCENTURE GLOBAL SOLUTIONS LTD
  • EP3447635A1 patent drawingFigure 1
  • EP3447635A1 patent drawingFigure 2
  • EP3447635A1 patent drawingFigure 3

AI summary

In some examples, application architecture generation may include ascertaining, for a project, an input that includes project information, component information, and target information, and parsing the project information to determine whether the project is an existing project or a new project. Application architecture generation may further include generating a component list from the component information, ascertaining components from the component list, and mapping each of the ascertained components to a corresponding target determined from the target information. Further, application architecture generation may include analyzing a dependency for each of the ascertained components relative to at least one other component of the ascertained components, and generating, based on the mapping and the analyzed dependency, an integrated output that includes an architecture for an application associated with the project.