EP3800565B1 - Procédé et système de génération automatisée et optimisée de code pour des exigences non fonctionnelles contradictoires (nfrs) - Google Patents

Procédé et système de génération automatisée et optimisée de code pour des exigences non fonctionnelles contradictoires (nfrs) Download PDF

Info

Publication number
EP3800565B1
EP3800565B1 EP20199662.6A EP20199662A EP3800565B1 EP 3800565 B1 EP3800565 B1 EP 3800565B1 EP 20199662 A EP20199662 A EP 20199662A EP 3800565 B1 EP3800565 B1 EP 3800565B1
Authority
EP
European Patent Office
Prior art keywords
nfr
mitigations
application
aspects
contradictory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
EP20199662.6A
Other languages
German (de)
English (en)
Other versions
EP3800565A1 (fr
Inventor
Yugesh Advadhanula
Satish Sreenivasaiah
Deepthi Seshabattar
Sitaramabrahmam Gunturi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tata Consultancy Services Ltd
Original Assignee
Tata Consultancy Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tata Consultancy Services Ltd filed Critical Tata Consultancy Services Ltd
Publication of EP3800565A1 publication Critical patent/EP3800565A1/fr
Application granted granted Critical
Publication of EP3800565B1 publication Critical patent/EP3800565B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Definitions

  • the disclosure herein generally relates to the field of automated code generation, and more particularly to automated and optimized code generation for contradictory Non-Functional Requirements (NFRs).
  • NFRs Non-Functional Requirements
  • NFR models could be a usability model, a threat or security model, a performance model, and the like.
  • security model for a web application is being considered various security NFRs such as decision of whether to have a captcha on a web page, whether to have the auto fill feature enabled on a web page, 'remember me' in a login screen and so on need to be considered while generating code for the web application.
  • Prior art document US2014090071-A1 discloses a method of adapting a security configuration of a data processing application at runtime wherein a system stores a causal network comprising a plurality of nodes and a plurality of incoming and outgoing causal links associated therewith, wherein each node of the causal network is associated with a security concern or a requirement that can be affected by any configuration of the security controls.
  • Prior art document WO2018084808-A1 discloses a method of monitoring a behaviour of a device under the simulated test condition and performing a forensic data analysis on the behaviour of the device under the simulated test condition.
  • a method for automated and optimized code generation for contradictory Non-Functional Requirements comprises receiving, inputs from a user in accordance with a set of questions generated by an application context model to determine an application context of an application among a plurality of application contexts.
  • NFR model Further generating a NFR model by identifying a set of applicable NFR categories from the plurality of NFR categories and a corresponding set of applicable NFR types based on a second set of predefined rules, wherein the NFR model generates a set of applicable NFR aspects corresponding to the set of applicable NFR categories.
  • NFR weighable matrix Furthermore generating a NFR weighable matrix, wherein plurality of elements of the NFR weighable matrix comprise a) weightage assigned to each NFR aspect from the set of applicable NFR aspects and b)quantifier defining rating in context of the weightage for each NFR aspect from the set of applicable NFR aspects in the NFR model of the application context, wherein the weightage is predefined user-modifiable value associated with each NFR aspects that defines criticality of each NFR aspect in the application context, and wherein the quantifier is user-modifiable measurement of each NFR aspect in the application context.
  • the set of NFR mitigations define a mitigation model and comprises a prioritized list of NFR mitigations derived based on a weighted set of applicable NFR aspects obtained by weighing the applicable NFR aspects by the NFR weighable matrix.
  • generating an application code for the application using a set of application models by embedding the optimized mitigation model, wherein the set of application models are identified based on a set of functional requirements identified for the application.
  • the build specification is a script that includes instructions to a) compile or translate a code for the application, b) perform quality checks on the application, c) perform tests to assess functional or non-functional conformance of the application, and d) enables the deployment of the final executable code.
  • a system for automated and optimized code generation for contradictory Non-Functional Requirements comprising: a memory storing instructions; one or more Input/Output (I/O) interfaces; and one or more hardware processors coupled to the memory via the one or more I/O interfaces, wherein the one or more hardware processors are configured by the instructions to receive, inputs from a user in accordance with a set of questions generated by an application context model to determine an application context of an application among a plurality of application contexts.
  • NFRs Non-Functional Requirements
  • NFR model Further generate a NFR model by identifying a set of applicable NFR categories from the plurality of NFR categories and a corresponding set of applicable NFR types based on a second set of predefined rules, wherein the NFR model generates a set of applicable NFR aspects corresponding to the set of applicable NFR categories.
  • NFR weighable matrix Furthermore generate a NFR weighable matrix, wherein plurality of elements of the NFR weighable matrix comprise a) weightage assigned to each NFR aspect from the set of applicable NFR aspects and b)quantifier defining rating in context of the weightage for each NFR aspect from the set of applicable NFR aspects in the NFR model of the application context, wherein the weightage is predefined user-modifiable value associated with each NFR aspects that defines criticality of each NFR aspect in the application context, and wherein the quantifier is user-modifiable measurement of each NFR aspect in the application context.
  • the set of NFR mitigations define a mitigation model and comprises a prioritized list of NFR mitigations derived based on a weighted set of applicable NFR aspects obtained by weighing the applicable NFR aspects by the NFR weighable matrix.
  • the build specification is a script that includes instructions to a) compile or translate a code for the application, b) perform quality checks on the application, c) perform tests to assess functional or non-functional conformance of the application, and d) enables the deployment of the final executable code.
  • one or more non-transitory machine-readable information storage mediums comprising one or more instructions, which when executed by one or more hardware processors causes a method for automated and optimized code generation for contradictory Non-Functional Requirements (NFRs).
  • the method comprises receiving, inputs from a user in accordance with a set of questions generated by an application context model to determine an application context of an application among a plurality of application contexts.
  • NFR model Further generating a NFR model by identifying a set of applicable NFR categories from the plurality of NFR categories and a corresponding set of applicable NFR types based on a second set of predefined rules, wherein the NFR model generates a set of applicable NFR aspects corresponding to the set of applicable NFR categories.
  • NFR weighable matrix Furthermore generating a NFR weighable matrix, wherein plurality of elements of the NFR weighable matrix comprise a) weightage assigned to each NFR aspect from the set of applicable NFR aspects and b)quantifier defining rating in context of the weightage for each NFR aspect from the set of applicable NFR aspects in the NFR model of the application context, wherein the weightage is predefined user-modifiable value associated with each NFR aspects that defines criticality of each NFR aspect in the application context, and wherein the quantifier is user-modifiable measurement of each NFR aspect in the application context.
  • the set of NFR mitigations define a mitigation model and comprises a prioritized list of NFR mitigations derived based on a weighted set of applicable NFR aspects obtained by weighing the applicable NFR aspects by the NFR weighable matrix.
  • the build specification is a script that includes instructions to a) compile or translate a code for the application, b) perform quality checks on the application, c) perform tests to assess functional or non-functional conformance of the application, and d) enables the deployment of the final executable code.
  • the embodiments herein provide a system and method for automated and optimized code generation for an application by considering contradictory Non-Functional Requirements (NFRs) using a mitigation model.
  • NFRs Non-Functional Requirements
  • the method disclosed herein provides a model driven approach to contradictory NFR resolution, which generates the NFR code into the functional application code.
  • the method uses separate but related NFR and mitigation models, wherein each Non-Functional Requirement (NFR) has one or more mitigations associated to it that describe how the NFR is addressed.
  • NFR Non-Functional Requirement
  • the method performs model to code transformation only after the mitigation model is calculated based on NFR models.
  • the method relies on model to code transformation for generating the application code and other artifacts for an optimized NFR.
  • the approach disclosed herein is applicable till the application is deployed in an optimized environment.
  • FIG. 1A through FIG. 4C where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
  • FIG. 1A is a functional block diagram of a system 100 for automated and optimized code generation for an application by considering contradictory Non-Functional Requirements (NFRs) using a mitigation model in accordance with some embodiments of the present disclosure.
  • NFRs Non-Functional Requirements
  • the system 100 includes a processor(s) 104, communication interface device(s), alternatively referred as input/output (I/O) interface(s) 106, and one or more data storage devices or a memory 102 operatively coupled to the processor(s) 104.
  • the system 100 with one or more hardware processors is configured to execute functions of one or more functional blocks of the FIG. 1A and FIG. 1B .
  • the processor(s) 104 can be one or more hardware processors 104.
  • the one or more hardware processors 104 can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions.
  • the one or more hardware processors 104 are configured to fetch and execute computer-readable instructions stored in the memory 102.
  • the system 100 can be implemented in a variety of computing systems including laptop computers, notebooks, hand-held devices such as mobile phones, workstations, mainframe computers, servers, a network cloud, and the like.
  • the I/O interface(s) 106 can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, a touch user interface (TUI), interfaces for the receiving inputs/ responses from user to automatically identify application context of an application of interest, for which a code is to be generated automatically by addressing the NFRs along with the contradictory NFRs required by the application. Any additional user inputs such as weightages of NFR matrix and the like can be received via the I/O interface 106.
  • the I/O Interface can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite.
  • the I/O interface (s) 106 can include one or more ports for connecting a number of devices (nodes) of the heart sensing device to one another or to another server.
  • the memory 102 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
  • volatile memory such as static random access memory (SRAM) and dynamic random access memory (DRAM)
  • DRAM dynamic random access memory
  • non-volatile memory such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
  • the memory 102 may include a database 108, which may store information pertaining to input(s)/output(s) of each step performed by the processor(s) 104 of the system 100 and methods of the present disclosure.
  • database a) a first set of predefined rules for generating a set of NFR recommendations for the application in accordance with the application context, b) a second set of predefined rules for generating a NFR model by identifying a set of applicable NFR categories from the plurality of NFR categories and a corresponding set of applicable NFR types, c) a NFR weighable matrix, d) a set of NFR mitigations, e) one or more contradictory mitigations identified for the application context, f) an optimized mitigation model, g) a NFR Aspect to NFR Mitigation predefined mapping, h) a predefined NFR mitigation to contradictory NFR mitigation mapping and the like.
  • the database 108 may be external (not shown) to the system 100 and coupled to the system 100 via the I/O interface 106. Functions of the components of system 100 are explained in conjunction with FIG. 1B , FIG. 2 and flow diagram of FIGS. 3A through FIG. 4C .
  • FIG. 1B illustrates an architectural diagram of the system 100 providing automated and optimized code generation for an application by considering contradictory Non-Functional Requirements (NFRs) using the mitigation model, in accordance with some embodiments of the present disclosure.
  • NFRs Non-Functional Requirements
  • An example system 100 herein depicts components of the system 100 for automated and optimized code generation for the application by considering contradictory Non-Functional Requirements (NFRs) such as security, usability, and performance.
  • NFRs Non-Functional Requirements
  • the system 100 can be extended to automated and optimized code generation for the application for any other NFRs still being within the scope of the system disclosed herein.
  • an application code is generated from application models that are technology agnostic specifications created from application requirements.
  • the application model contains application components such as classes, packages, operations, queries and so on. Similar to application models, based on NFR requirements, for example herein, the security and the usability requirements, NFR models such as a threat model and a usability model are also created, respectively. The structure of these models are designed based on the best practices and guidelines for creating secure and usable applications of different types covering a broad range of domains. Then present disclosure internally constructs a mitigation model based on the NFR requirements for the application context of the application of interest.
  • NFR requirements of security and usability are defined by a threat model and a usability model.
  • the mitigation model comprises a prioritized list of NFR mitigations derived based on a weighted set of applicable NFR aspects obtained by weighing the applicable NFR aspects by the NFR weighable matrix.
  • the mitigation model contains details of mitigations to be incorporated into the generated application such as encryption, authentication, and so on and the associated tools to implement the mitigations wherever applicable while maintaining a fine balance with usability.
  • a code generator generates four items: (i) application code with secure usability, (ii) a build script, (iii) a set of metrics that quantify the robustness of applications security and (iv) a set of scripts to ensure security of the applications deployment environment.
  • the build script contains definition for a continuous integration pipeline incorporating the necessary checks to validate and enforce security during the application build and packaging. This pipeline incorporates mitigation tools wherever applicable based on the optimized mitigation model.
  • a continuous integration tool imports this pipeline definition and with the generated application code as the input drives the continuous integration and deployment of the application.
  • FIG. 2 illustrates a structural flow to generate the mitigation model for an application, in accordance with some embodiments of the present disclosure.
  • FIG. 2 illustrates the elements required to capture NFR aspects and Mitigations and their relationships. Mitigations are identified based on NFR aspects and the Application Context.
  • the mitigations (NFR mitigations) are applied on different types of application elements, which form the Application Model, all of which are model Elements.
  • Code generator generates the optimized NFR model applied on to the Application model resulting in application source code, process definition and environment scripts for building and deploying the application in an optimized environment.
  • FIG. 3 is a flowchart illustrating a method 300 for automated and optimized code generation for the application by considering the contradictory Non-Functional Requirements (NFRs) using the mitigation model of system of FIG. 1 , in accordance with some embodiments of the present disclosure.
  • NFRs Non-Functional Requirements
  • the system 100 comprises one or more data storage devices or the memory 102 operatively coupled to the processor(s) 104 and is configured to store instructions for execution of steps of the method 300 by the processor(s) or one or more hardware processors 104.
  • the steps of the method 300 of the present disclosure will now be explained with reference to the components or blocks of the system 100 in FIG. 1A and 1B and the steps of flow diagram as depicted in FIG. 3A through FIG. 4C .
  • process steps, method steps, techniques or the like may be described in a sequential order, such processes, methods and techniques may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps to be performed in that order.
  • the steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.
  • steps of method 300 receive inputs from a user in accordance with a set of questions, which are generated by an application context model.
  • the response to the set of questions enable determine an at step 302 of the method 300 the one or more hardware processors 104 are configured to application context of an application among a plurality of application contexts defined in the system 100.
  • the one or more hardware processors 104 are configured to generate a set of NFR recommendations for the application in accordance to the application context based on the first set of predefined rules.
  • the NFR recommendations are associated with a plurality of NFR types corresponding to a plurality of NFR categories.
  • An example rule can be: "If the application domain is banking, security followed by usability, and performance are important NFR types to be considered and the corresponding NFR recommendations (like multi factor authentication, ease of access, etc.) apply in a specific order.”
  • An example NFR type for the banking application can be: security, and one possible NFR recommendation can be: users must be authenticated with 2 factor authentication.
  • NFR type can be usability and corresponding recommendation be: user should be able to log in with minimum number of mouse clicks and application must be easily accessible to visually impaired.
  • the one or more hardware processors 104 are configured to generate the NFR model by identifying a set of applicable NFR categories from the plurality of NFR categories and a corresponding set of applicable NFR types based on the second set of predefined rules.
  • the NFR model generates a set of applicable NFR aspects corresponding to the set of applicable NFR categories.
  • NFR aspect for the NFR recommendation in 'security type' is 'two factor authentication', for 'usability' it can be 'login to application with few mouse clicks' and 'simplified authentication'
  • the one or more hardware processors 104 are configured to generate the NFR weighable matrix, wherein plurality of elements of the NFR weighable matrix comprise a) weightage assigned to each NFR aspect from the set of applicable NFR aspects and b)quantifier defining rating in context of the weightage for each NFR aspect from the set of applicable NFR aspects in the NFR model of the application context.
  • the weightage is predefined user-modifiable value associated with each NFR aspects that defines criticality of each NFR aspect in the application context.
  • the quantifier is user-modifiable measurement of each NFR aspect in the application context. Thus, weightage is the importance of a particular characteristic in a given application context and quantifier is what gets assigned to that particular NFR.
  • NFR aspect Two factor Authentication can have a weightage of 8 out of 10.
  • NFR aspect Ease of access for visually disabled for the same context can have a weightage of 5 out of 10.
  • the one or more hardware processors 104 are configured to identify a set of NFR mitigations addressing each NFR aspect from the set of applicable NFR aspects using the NFR aspect to NFR Mitigation predefined mapping.
  • the set of NFR mitigations define a mitigation model and comprises a prioritized list of NFR mitigations derived based on a weighted set of applicable NFR aspects obtained by weighing the applicable NFR aspects by the NFR weighable matrix.
  • one NFR Mitigation can be 'password and captcha/token based authentication' and another one could be 'password based and SMS based authentication'.
  • the NFR model and the mitigation model is obtained based on information stored in the database 108, wherein the information comprises:
  • the one or more hardware processors 104 are configured to determine one or more contradictory NFR mitigations among the set of NFR mitigations.
  • the one or more contradictory NFR mitigations result from one or more contradictory NFR aspects present in the set of applicable NFR aspects.
  • the one or more contradictory NFR mitigations are obtained based on a predefined NFR mitigation to contradictory NFR mitigation mapping.
  • NFR Aspect '2 factor authentication (captcha/token)' conflicts with 'simplified access for visually impaired'. Since the weightage of '2 factor authentication' is greater than 'usability' so authentication is implemented and usability is ignored.
  • the one or more hardware processors 104 are configured to generate an optimized mitigation model for the set of applicable NFR aspects by addressing the one or more contradictory NFR mitigations to determine a set of optimized NFR mitigations, interchangeably referred as optimal set of mitigations.
  • the step of generating the optimized mitigation model providing the set of optimized NFR mitigations comprises:
  • the one or more hardware processors 104 are configured to generate an application code for the application using the set of application models by embedding the optimized mitigation model.
  • the set of application models are identified based on a set of functional requirements identified for the application.
  • the one or more hardware processors 104 are configured to generate a build specification for the application with the set of optimized NFR mitigations.
  • the build specification is a script that includes instructions to a) compile or translate a code for the application, b) perform quality checks on the application, c) perform tests to assess functional or non-functional conformance of the application and d) and enables the deployment of the final executable code in NFR optimized environment.
  • the one or more hardware processors 104 are configured to build the code using the build specification by incorporating set of optimized NFR mitigations.
  • FIGS. 4A through 4C depict a flow diagram 400 illustrating process steps to identify optimal set of mitigations, (optimized NFR mitigations) based on Context, Priority, Weightage, Quantifier, and user preference, in accordance with some embodiments of the present disclosure.
  • step 314 steps to identify optimal set of mitigations include: Identify the set of mitigations applicable to the Application Context (402). Identify for each NFR type, most relevant NFR aspect for the selected application context with the highest priority (404).User may override the mitigations and their priority for the application context. This set is M (406). Add the list of mitigations without any contradictory mitigations to the final set M' and identify the set of contradictory mitigations M" (408). For each mitigation (m) from the set of contradictory mitigations M" perform (410) following steps 412 to 440 to get the final set M' of optimized NFR mitigations ( mitigations).
  • Identify a set of contradictory mitigations C, that are present in the set of applicable Mitigations, M (412), wherein Mitigation set D M"- C.
  • each mitigation c in C' perform (430) following steps: Identify the mitigation with the next less weightage for its NFR aspect, c' (432). Check if c conflicts with any mitigation in D and remaining mitigations in C' (434). If no, add c to M' and remove c from C' (440). If yes, check if the next less critical mitigation from c's NFR aspect list exist (436). If no, go back to step 432 for identify the mitigation with the next less weightage for its NFR aspect, c'. If yes, select the mitigation with the next lesser weightage from c's NFR aspect and assign it to c (438). Then Add c to M' and remove c from C' (440).
  • NFR Category Security Authentication and Authorization are identified as the applicable NFR Types.
  • Password policy "Authentication Methods”
  • Captcha are identified as NFR aspects under Authentication.
  • NFR Category Usability Operability and Accessibility are identified as the applicable NFR types.
  • “Target User Audience” is identified as the applicable NFR Aspect. This NFR Aspect is in conflict with the "Captcha” NFR Aspect under Authentication.
  • “Captcha” is the prioritized NFR aspect. So, the default Mitigation Model includes the Mitigation for "Captcha” with the captcha complexity decided by its weightage which is maximum (10 out of 10) for the application context.
  • the system user marks the "Target User Audience” NFR Aspect as prioritized.
  • the weightage for "Target User Audience”, which is 7, is less than the weightage for "Captcha” which is 10 for the application context. So “Captcha” is included in the Mitigation model.
  • Target User Audience is also prioritized. So, if a mitigation for "Target User Audience” with a weightage less than 7 exists and if it is not conflicting with any other mitigations in the mitigation model, it will be included in the mitigation model.
  • the hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof.
  • the device may also include means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g.
  • ASIC application-specific integrated circuit
  • FPGA field-programmable gate array
  • the means can include both hardware means and software means.
  • the method embodiments described herein could be implemented in hardware and software.
  • the device may also include software means.
  • the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.
  • the embodiments herein can comprise hardware and software elements.
  • the embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc.
  • the functions performed by various modules described herein may be implemented in other modules or combinations of other modules.
  • a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
  • a computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored.
  • a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein.
  • the term "computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Claims (9)

  1. Procédé mis en œuvre par processeur (300) pour une génération automatisée et optimisée de code pour des exigences non fonctionnelles (NFR) contradictoires, le procédé comprenant les étapes ci-dessous consistant à :
    recevoir (302), par le biais d'un ou plusieurs processeurs matériels, des entrées provenant d'un utilisateur, conformément à un ensemble de questions généré par un modèle de contexte d'application en vue de déterminer un contexte d'application parmi une pluralité de contextes d'application d'une application ;
    générer (304), par le biais dudit un ou desdits plusieurs processeurs matériels, un ensemble de recommandations d'exigences NFR pour l'application conformément au contexte d'application, sur la base d'un premier ensemble de règles prédéfinies, dans lequel l'ensemble de recommandations d'exigences NFR est associé à une pluralité de types d'exigences NFR correspondant à une pluralité de catégories d'exigences NFR ;
    générer (306), par le biais dudit un ou desdits plusieurs processeurs matériels, un modèle d'exigences NFR, en identifiant un ensemble de catégories d'exigences NFR applicables parmi la pluralité de catégories d'exigences NFR et un ensemble correspondant de types d'exigences NFR applicables, sur la base d'un second ensemble de règles prédéfinies, dans lequel le modèle d'exigences NFR génère un ensemble d'aspects d'exigences NFR applicables correspondant à l'ensemble de catégories d'exigences NFR applicables ;
    générer (308), par le biais dudit un ou desdits plusieurs processeurs matériels, une matrice pondérable d'exigences NFR, dans lequel une pluralité d'éléments de la matrice pondérable d'exigences NFR comprend a) une pondération affectée à chaque aspect d'exigences NFR parmi l'ensemble d'aspects d'exigences NFR applicables, et b) un quantificateur définissant une évaluation dans le contexte de la pondération pour chaque aspect d'exigences NFR parmi l'ensemble d'aspects d'exigences NFR applicables dans le modèle d'exigences NFR du contexte d'application, dans lequel la pondération est une valeur modifiable par l'utilisateur prédéfinie associée à chaque aspect d'exigences NFR qui définit une criticité de chaque aspect d'exigences NFR dans le contexte d'application, et dans lequel le quantificateur est une mesure modifiable par l'utilisateur de chaque aspect d'exigences NFR dans le contexte d'application ;
    identifier (310), par le biais dudit un ou desdits plusieurs processeurs matériels, un ensemble d'atténuations d'exigences NFR traitant chaque aspect d'exigences NFR parmi l'ensemble d'aspects d'exigences NFR applicables en utilisant une mise en correspondance prédéfinie des aspects d'exigences NFR avec les atténuations d'exigences NFR, dans lequel l'ensemble d'atténuations d'exigences NFR définit un modèle d'atténuation et comprend une liste priorisée d'atténuations d'exigences NFR dérivée sur la base d'un ensemble pondéré d'aspects d'exigences NFR applicables obtenu en pondérant les aspects d'exigences NFR applicables par la matrice pondérable d'exigences NFR ;
    déterminer (312), par le biais dudit un ou desdits plusieurs processeurs matériels, une ou plusieurs atténuations d'exigences NFR contradictoires parmi l'ensemble d'atténuations d'exigences NFR, dans lequel ladite une ou lesdites plusieurs atténuations d'exigences NFR contradictoires résultent d'un ou de plusieurs aspects d'exigences NFR contradictoires présents dans l'ensemble d'aspects d'exigences NFR applicables, dans lequel ladite une ou lesdites plusieurs atténuations d'exigences NFR contradictoires sont obtenues sur la base d'une mise en correspondance prédéfinie des atténuations d'exigences NFR avec les atténuations d'exigences NFR contradictoires ;
    générer (314), par le biais dudit un ou desdits plusieurs processeurs matériels, un modèle d'atténuation optimisé pour l'ensemble d'aspects d'exigences NFR applicables, en traitant ladite une ou lesdites plusieurs atténuations d'exigences NFR contradictoires en vue de déterminer un ensemble d'atténuations d'exigences NFR optimisées ;
    générer (316), par le biais dudit un ou desdits plusieurs processeurs matériels, un code d'application pour l'application utilisant un ensemble de modèles d'application, en intégrant le modèle d'atténuation optimisé, dans lequel l'ensemble de modèles d'application est identifié sur la base d'un ensemble d'exigences fonctionnelles identifiées pour l'application ;
    générer (318), par le biais dudit un ou desdits plusieurs processeurs matériels, une spécification de construction pour l'application avec l'ensemble d'atténuations d'exigences NFR optimisées, dans lequel la spécification de construction est un script qui inclut des instructions pour a) compiler ou traduire un code pour l'application, b) mettre en oeuvre des contrôles de qualité sur l'application, c) mettre en oeuvre des tests pour évaluer une conformité fonctionnelle ou non fonctionnelle de l'application, et d) permettre le déploiement du code exécutable final ; et
    construire (320), par le biais dudit un ou desdits plusieurs processeurs matériels, le code, en utilisant la spécification de construction, en incorporant un ensemble d'atténuations d'exigences NFR optimisées.
  2. Procédé selon la revendication 1, dans lequel le modèle d'exigences NFR et le modèle d'atténuation sont obtenus sur la base d'informations stockées dans une base de données, dans lequel les informations comprennent :
    une liste exhaustive de domaines d'applications, de catégories et sous-catégories d'applications correspondantes et de types d'applications ;
    la pluralité de types d'exigences NFR, la pluralité d'aspects d'exigences NFR correspondant à chaque type de la pluralité de types d'exigences NFR, et une pluralité d'atténuations d'exigences NFR pour chaque aspect de la pluralité d'aspects d'exigences NFR, sur la base de chaque contexte de la pluralité de contextes d'application ;
    des pondérations affectées à la pluralité d'aspects d'exigences NFR correspondant à chaque contexte de la pluralité de contextes d'application ; et
    une ou plusieurs atténuations d'exigences NFR correspondant à chaque aspect de la pluralité d'aspects d'exigences NFR.
  3. Procédé selon la revendication 1, dans lequel l'étape de traitement d'une ou plusieurs atténuations d'exigences NFR contradictoires résultant dudit un ou desdits plusieurs aspects d'exigences NFR contradictoires présents dans l'ensemble d'exigences NFR applicables pour générer le modèle d'atténuation optimisé fournissant l'ensemble d'atténuations d'exigences NFR optimisées comprend les étapes ci-dessous consistant à :
    identifier une ou plusieurs atténuations d'exigences NFR prioritaires à partir d'une ou plusieurs atténuations d'exigences NFR contradictoires sur la base de la criticité relative des atténuations contradictoires dans le type d'exigences NFR et d'une comparaison des priorités et des pondérations pour les atténuations d'exigences NFR contradictoires ;
    déterminer l'ensemble d'atténuations d'exigences NFR pour l'ensemble d'exigences NFR applicables ;
    identifier ladite une ou lesdites plusieurs atténuations contradictoires résultant dudit un ou desdits plusieurs aspects d'exigences NFR contradictoires pour le contexte d'application ; et
    ajouter une ou plusieurs atténuations non contradictoires à l'ensemble d'atténuations d'exigences NFR en vue de générer l'ensemble d'atténuations d'exigences NFR optimisées.
  4. Système (100) de génération automatisée et optimisée de code pour des exigences non fonctionnelles (NFR) contradictoires, le système (100) comprenant :
    une mémoire (102) stockant des instructions ;
    une ou plusieurs interfaces d'entrée/sortie (I/O) (106) ; et
    un ou plusieurs processeurs matériels (104) couplés à la mémoire (102) par l'intermédiaire de ladite une ou desdites plusieurs interfaces I/O (106), dans lequel ledit un ou lesdits plusieurs processeurs matériels (104) sont configurés par les instructions de manière à :
    recevoir des entrées provenant d'un utilisateur, conformément à un ensemble de questions généré par un modèle de contexte d'application en vue de déterminer un contexte d'application parmi une pluralité de contextes d'application d'une application ;
    générer un ensemble de recommandations d'exigences NFR pour l'application conformément au contexte d'application, sur la base d'un premier ensemble de règles prédéfinies, dans lequel l'ensemble de recommandations d'exigences NFR est associé à une pluralité de types d'exigences NFR correspondant à une pluralité de catégories d'exigences NFR ;
    générer un modèle d'exigences NFR, en identifiant un ensemble de catégories d'exigences NFR applicables parmi la pluralité de catégories d'exigences NFR et un ensemble correspondant de types d'exigences NFR applicables, sur la base d'un second ensemble de règles prédéfinies, dans lequel le modèle d'exigences NFR génère un ensemble d'aspects d'exigences NFR applicables correspondant à l'ensemble de catégories d'exigences NFR applicables ;
    générer une matrice pondérable d'exigences NFR, dans lequel une pluralité d'éléments de la matrice pondérable d'exigences NFR comprend a) une pondération affectée à chaque aspect d'exigences NFR parmi l'ensemble d'aspects d'exigences NFR applicables, et b) un quantificateur définissant une évaluation dans le contexte de la pondération pour chaque aspect d'exigences NFR parmi l'ensemble d'aspects d'exigences NFR applicables dans le modèle d'exigences NFR du contexte d'application, dans lequel la pondération est une valeur modifiable par l'utilisateur prédéfinie associée à chaque aspect d'exigences NFR qui définit une criticité de chaque aspect d'exigences NFR dans le contexte d'application, et dans lequel le quantificateur est une mesure modifiable par l'utilisateur de chaque aspect d'exigences NFR dans le contexte d'application ;
    identifier un ensemble d'atténuations d'exigences NFR traitant chaque aspect d'exigences NFR parmi l'ensemble d'aspects d'exigences NFR applicables en utilisant une mise en correspondance prédéfinie des aspects d'exigences NFR avec les atténuations d'exigences NFR, dans lequel l'ensemble d'atténuations d'exigences NFR définit un modèle d'atténuation et comprend une liste priorisée d'atténuations d'exigences NFR dérivée sur la base d'un ensemble pondéré d'aspects d'exigences NFR applicables obtenu en pondérant les aspects d'exigences NFR applicables par la matrice pondérable d'exigences NFR ;
    déterminer une ou plusieurs atténuations d'exigences NFR contradictoires parmi l'ensemble d'atténuations d'exigences NFR, dans lequel ladite une ou lesdites plusieurs atténuations d'exigences NFR contradictoires résultent d'un ou de plusieurs aspects d'exigences NFR contradictoires présents dans l'ensemble d'aspects d'exigences NFR applicables, dans lequel ladite une ou lesdites plusieurs atténuations d'exigences NFR contradictoires sont obtenues sur la base d'une mise en correspondance prédéfinie des atténuations d'exigences NFR avec les atténuations d'exigences NFR contradictoires ;
    générer un modèle d'atténuation optimisé pour l'ensemble d'aspects d'exigences NFR applicables, en traitant ladite une ou lesdites plusieurs atténuations d'exigences NFR contradictoires en vue de déterminer un ensemble d'atténuations d'exigences NFR optimisées ;
    générer un code d'application pour l'application utilisant un ensemble de modèles d'application, en intégrant le modèle d'atténuation optimisé, dans lequel l'ensemble de modèles d'application est identifié sur la base d'un ensemble d'exigences fonctionnelles identifiées pour l'application ;
    générer une spécification de construction pour l'application avec l'ensemble d'atténuations d'exigences NFR optimisées, dans lequel la spécification de construction est un script qui inclut des instructions pour a) compiler ou traduire un code pour l'application, b) mettre en oeuvre des contrôles de qualité sur l'application, c) mettre en oeuvre des tests pour évaluer une conformité fonctionnelle ou non fonctionnelle de l'application, et d) permettre le déploiement du code exécutable final ; et
    construire le code, en utilisant la spécification de construction, en incorporant un ensemble d'atténuations d'exigences NFR optimisées.
  5. Système selon la revendication 4, dans lequel le modèle d'exigences NFR et le modèle d'atténuation sont obtenus sur la base d'informations stockées dans une base de données, dans lequel les informations comprennent :
    une liste exhaustive de domaines d'applications, de catégories et souscatégories d'applications correspondantes et de types d'applications ;
    la pluralité de types d'exigences NFR, la pluralité d'aspects d'exigences NFR correspondant à chaque type de la pluralité de types d'exigences NFR, et une pluralité d'atténuations d'exigences NFR pour chaque aspect de la pluralité d'aspects d'exigences NFR, sur la base de chaque contexte de la pluralité de contextes d'application ;
    des pondérations affectées à la pluralité d'aspects d'exigences NFR correspondant à chaque contexte de la pluralité de contextes d'application ; et
    une ou plusieurs atténuations d'exigences NFR correspondant à chaque aspect de la pluralité d'aspects d'exigences NFR.
  6. Système selon la revendication 4, dans lequel ledit un ou lesdits plusieurs processeurs matériels sont configurés de manière à traiter une ou plusieurs atténuations d'exigences NFR contradictoires résultant dudit un ou desdits plusieurs aspects d'exigences NFR contradictoires présents dans l'ensemble d'exigences NFR applicables, en vue de générer le modèle d'atténuation optimisé fournissant l'ensemble d'atténuations d'exigences NFR optimisées en mettant en oeuvre les étapes ci-dessous consistant à :
    identifier une ou plusieurs atténuations d'exigences NFR prioritaires à partir d'une ou plusieurs atténuations d'exigences NFR contradictoires sur la base de la criticité relative des atténuations contradictoires dans le type d'exigences NFR et d'une comparaison des priorités et des pondérations pour les atténuations d'exigences NFR contradictoires ;
    déterminer l'ensemble d'atténuations d'exigences NFR pour l'ensemble d'exigences NFR applicables ;
    identifier ladite une ou lesdites plusieurs atténuations contradictoires résultant dudit un ou desdits plusieurs aspects d'exigences NFR contradictoires pour le contexte d'application ; et
    ajouter une ou plusieurs atténuations non contradictoires à l'ensemble d'atténuations d'exigences NFR en vue de générer l'ensemble d'atténuations d'exigences NFR optimisées.
  7. Un ou plusieurs supports de stockage non transitoires d'informations lisibles par machine comprenant une ou plusieurs instructions qui, lorsqu'elles sont exécutées par le biais dudit un ou desdits plusieurs processeurs matériels, occasionnent la mise en oeuvre d'un procédé comprenant les étapes ci-dessous consistant à :
    recevoir des entrées provenant d'un utilisateur, conformément à un ensemble de questions généré par un modèle de contexte d'application en vue de déterminer un contexte d'application parmi une pluralité de contextes d'application d'une application ;
    générer un ensemble de recommandations d'exigences NFR pour l'application conformément au contexte d'application, sur la base d'un premier ensemble de règles prédéfinies, dans lequel l'ensemble de recommandations d'exigences NFR est associé à une pluralité de types d'exigences NFR correspondant à une pluralité de catégories d'exigences NFR ;
    générer un modèle d'exigences NFR, en identifiant un ensemble de catégories d'exigences NFR applicables parmi la pluralité de catégories d'exigences NFR et un ensemble correspondant de types d'exigences NFR applicables, sur la base d'un second ensemble de règles prédéfinies, dans lequel le modèle d'exigences NFR génère un ensemble d'aspects d'exigences NFR applicables correspondant à l'ensemble de catégories d'exigences NFR applicables ;
    générer une matrice pondérable d'exigences NFR, dans lequel une pluralité d'éléments de la matrice pondérable d'exigences NFR comprend a) une pondération affectée à chaque aspect d'exigences NFR parmi l'ensemble d'aspects d'exigences NFR applicables, et b) un quantificateur définissant une évaluation dans le contexte de la pondération pour chaque aspect d'exigences NFR parmi l'ensemble d'aspects d'exigences NFR applicables dans le modèle d'exigences NFR du contexte d'application, dans lequel la pondération est une valeur modifiable par l'utilisateur prédéfinie associée à chaque aspect d'exigences NFR qui définit une criticité de chaque aspect d'exigences NFR dans le contexte d'application, et dans lequel le quantificateur est une mesure modifiable par l'utilisateur de chaque aspect d'exigences NFR dans le contexte d'application ;
    identifier un ensemble d'atténuations d'exigences NFR traitant chaque aspect d'exigences NFR parmi l'ensemble d'aspects d'exigences NFR applicables en utilisant une mise en correspondance prédéfinie des aspects d'exigences NFR avec les atténuations d'exigences NFR, dans lequel l'ensemble d'atténuations d'exigences NFR définit un modèle d'atténuation et comprend une liste priorisée d'atténuations d'exigences NFR dérivée sur la base d'un ensemble pondéré d'aspects d'exigences NFR applicables obtenu en pondérant les aspects d'exigences NFR applicables par la matrice pondérable d'exigences NFR ;
    déterminer une ou plusieurs atténuations d'exigences NFR contradictoires parmi l'ensemble d'atténuations d'exigences NFR, dans lequel ladite une ou lesdites plusieurs atténuations d'exigences NFR contradictoires résultent d'un ou de plusieurs aspects d'exigences NFR contradictoires présents dans l'ensemble d'aspects d'exigences NFR applicables, dans lequel ladite une ou lesdites plusieurs atténuations d'exigences NFR contradictoires sont obtenues sur la base d'une mise en correspondance prédéfinie des atténuations d'exigences NFR avec les atténuations d'exigences NFR contradictoires ;
    générer un modèle d'atténuation optimisé pour l'ensemble d'aspects d'exigences NFR applicables, en traitant ladite une ou lesdites plusieurs atténuations d'exigences NFR contradictoires en vue de déterminer un ensemble d'atténuations d'exigences NFR optimisées ;
    générer un code d'application pour l'application utilisant un ensemble de modèles d'application, en intégrant le modèle d'atténuation optimisé, dans lequel l'ensemble de modèles d'application est identifié sur la base d'un ensemble d'exigences fonctionnelles identifiées pour l'application ;
    générer une spécification de construction pour l'application avec l'ensemble d'atténuations d'exigences NFR optimisées, dans lequel la spécification de construction est un script qui inclut des instructions pour a) compiler ou traduire un code pour l'application, b) mettre en oeuvre des contrôles de qualité sur l'application, c) mettre en oeuvre des tests pour évaluer une conformité fonctionnelle ou non fonctionnelle de l'application, et d) permettre le déploiement du code exécutable final ; et
    construire le code, en utilisant la spécification de construction, en incorporant un ensemble d'atténuations d'exigences NFR optimisées.
  8. Ledit un ou lesdits plusieurs supports de stockage non transitoires d'informations lisibles par machine selon la revendication 7, dans lequel le modèle d'exigences NFR et le modèle d'atténuation sont obtenus sur la base d'informations stockées dans une base de données, dans lequel les informations comprennent :
    une liste exhaustive de domaines d'applications, de catégories et souscatégories d'applications correspondantes et de types d'applications ;
    la pluralité de types d'exigences NFR, la pluralité d'aspects d'exigences NFR correspondant à chaque type de la pluralité de types d'exigences NFR, et une pluralité d'atténuations d'exigences NFR pour chaque aspect de la pluralité d'aspects d'exigences NFR, sur la base de chaque contexte de la pluralité de contextes d'application ;
    des pondérations affectées à la pluralité d'aspects d'exigences NFR correspondant à chaque contexte de la pluralité de contextes d'application ; et
    une ou plusieurs atténuations d'exigences NFR correspondant à chaque aspect de la pluralité d'aspects d'exigences NFR.
  9. Ledit un ou lesdits plusieurs supports de stockage non transitoires d'informations lisibles par machine selon la revendication 7, dans lesquels l'étape de traitement d'une ou plusieurs atténuations d'exigences NFR contradictoires résultant d'un ou plusieurs aspects d'exigences NFR contradictoires présents dans l'ensemble d'exigences NFR applicables en vue de générer le modèle d'atténuation optimisé fournissant l'ensemble d'atténuations d'exigences NFR optimisées comprend les étapes ci-dessous consistant à :
    identifier une ou plusieurs atténuations d'exigences NFR prioritaires à partir d'une ou plusieurs atténuations d'exigences NFR contradictoires sur la base de la criticité relative des atténuations contradictoires dans le type d'exigences NFR et d'une comparaison des priorités et des pondérations pour les atténuations d'exigences NFR contradictoires ;
    déterminer l'ensemble d'atténuations d'exigences NFR pour l'ensemble d'exigences NFR applicables ;
    identifier ladite une ou lesdites plusieurs atténuations contradictoires résultant dudit un ou desdits plusieurs aspects d'exigences NFR contradictoires pour le contexte d'application ; et
    ajouter une ou plusieurs atténuations non contradictoires à l'ensemble d'atténuations d'exigences NFR en vue de générer l'ensemble d'atténuations d'exigences NFR optimisées.
EP20199662.6A 2019-10-03 2020-10-01 Procédé et système de génération automatisée et optimisée de code pour des exigences non fonctionnelles contradictoires (nfrs) Active EP3800565B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IN201921040129 2019-10-03

Publications (2)

Publication Number Publication Date
EP3800565A1 EP3800565A1 (fr) 2021-04-07
EP3800565B1 true EP3800565B1 (fr) 2021-12-08

Family

ID=72717794

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20199662.6A Active EP3800565B1 (fr) 2019-10-03 2020-10-01 Procédé et système de génération automatisée et optimisée de code pour des exigences non fonctionnelles contradictoires (nfrs)

Country Status (2)

Country Link
US (1) US11216254B2 (fr)
EP (1) EP3800565B1 (fr)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640567A (en) * 1994-05-19 1997-06-17 Sun Microsystems, Inc. Apparatus and method for software system management using second-order logic
US6523027B1 (en) * 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
US8042098B2 (en) * 2000-12-06 2011-10-18 Axiomatic Design Software, Inc. Method and apparatus for producing software
US7500224B2 (en) * 2002-11-01 2009-03-03 Microsoft Corporation Code blueprints
US7971194B1 (en) * 2005-06-16 2011-06-28 Sap Portals Israel Ltd. Programming language techniques for client-side development and execution
EP2147371A1 (fr) * 2007-03-16 2010-01-27 International Business Machines Corporation Procédé, système et programme informatique pour distribuer des produits logiciels personnalisés
US8001519B2 (en) * 2007-06-27 2011-08-16 International Business Machines Corporation Model driven development including aspect integration tool
US8418126B2 (en) * 2008-07-23 2013-04-09 International Business Machines Corporation Software factory semantic reconciliation of data models for work packets
US8640096B2 (en) * 2008-08-22 2014-01-28 International Business Machines Corporation Configuration of componentized software applications
US8312419B2 (en) * 2008-10-30 2012-11-13 Hewlett-Packard Development Company, L.P. Automated lifecycle management of a computer implemented service
US8752003B2 (en) * 2010-05-03 2014-06-10 Telefonaktiebolaget L M Ericsson (Publ) Model driven approach for availability management framework (AMF) configuration generation
US9330262B2 (en) * 2012-09-21 2016-05-03 University Of Limerick Systems and methods for runtime adaptive security to protect variable assets
US10061578B2 (en) * 2016-08-10 2018-08-28 Fmr Llc System and method of configuring a data store for tracking and auditing real-time events across different software development tools in agile development environments
WO2018084808A1 (fr) * 2016-11-04 2018-05-11 Singapore University Of Technology And Design Procédé mis en oeuvre par ordinateur et système de traitement de données pour tester la sécurité d'un dispositif

Also Published As

Publication number Publication date
US11216254B2 (en) 2022-01-04
EP3800565A1 (fr) 2021-04-07
US20210103432A1 (en) 2021-04-08

Similar Documents

Publication Publication Date Title
US10922423B1 (en) Request context generator for security policy validation service
US10795709B2 (en) Systems and method for deploying, securing, and maintaining computer-based analytic environments
US10171310B2 (en) Ensuring regulatory compliance during application migration to cloud-based containers
WO2020242585A1 (fr) Échantillonnage et étiquetage de classification de sécurité de données
US11093641B1 (en) Anonymizing sensitive data in logic problems for input to a constraint solver
US11295242B2 (en) Automated data and label creation for supervised machine learning regression testing
US11962601B1 (en) Automatically prioritizing computing resource configurations for remediation
JP2021507360A (ja) データを非特定化する方法、データを非特定化するためのシステム、および非データを特定化するためのコンピュータ・プログラム
US10552547B2 (en) Real-time translation evaluation services for integrated development environments
Schefer-Wenzl et al. Modelling context-aware RBAC models for mobile business processes
US11178022B2 (en) Evidence mining for compliance management
WO2014151789A1 (fr) Système et procédé de développement de règles commerciales pour moteurs de décision
US11531763B1 (en) Automated code generation using analysis of design diagrams
CA3202398A1 (fr) Serveur et procede d?entreprise a mecanisme de contournement destines a eprouver un microservice de cybersecurite en temps reel avec des donnees en direct
Leventhal et al. Adding value to business applications with embedded advanced analytics
AU2017276243B2 (en) System And Method For Generating Service Operation Implementation
US20210243217A1 (en) Preventing vulnerable configurations in sensor-based devices
EP3800565B1 (fr) Procédé et système de génération automatisée et optimisée de code pour des exigences non fonctionnelles contradictoires (nfrs)
CN112528678A (zh) 基于上下文信息的对话系统
US11769080B2 (en) Semantic consistency of explanations in explainable artificial intelligence applications
Adam et al. Cognitive compliance: Analyze, monitor and enforce compliance in the cloud
US20210342685A1 (en) Leveraging Simple Model Predictions for Enhancing Computational Performance
US11194601B2 (en) Dynamic integration checklist for development platform
US11341275B2 (en) System and method for implementing and testing security protections in computer software
EP3576002B1 (fr) Procédé et système pour fournir des caractéristiques de sécurité dans un téléphone intelligent

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20210122

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20210414

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 21/45 20130101AFI20210531BHEP

Ipc: G06F 8/35 20180101ALI20210531BHEP

INTG Intention to grant announced

Effective date: 20210618

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: TATA CONSULTANCY SERVICES LIMITED

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1454310

Country of ref document: AT

Kind code of ref document: T

Effective date: 20211215

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602020001221

Country of ref document: DE

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: NL

Ref legal event code: FP

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG9D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220308

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1454310

Country of ref document: AT

Kind code of ref document: T

Effective date: 20211208

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220308

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220309

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220408

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602020001221

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220408

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

26N No opposition filed

Effective date: 20220909

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20221031

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20221001

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230526

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20221031

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20221001

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: NL

Payment date: 20231026

Year of fee payment: 4

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20231026

Year of fee payment: 4

Ref country code: DE

Payment date: 20231027

Year of fee payment: 4

Ref country code: CH

Payment date: 20231102

Year of fee payment: 4

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20211208