Spelling suggestions: "subject:"domainspecific anguage"" "subject:"domainspecific 1anguage""
91 |
A framework for domain-specific modeling on graph databasesNikitchyn, Vitalii 12 1900 (has links)
La complexité du logiciel augmente tout le temps: les systèmes deviennent plus grands et plus complexes. La modélisation est un élément central de génie logicielle pour relever les défis de la complexité. Cependant, un défi majeur auquel est confronté le développement de logiciels axés sur les modèles est l'évolutivité des outils de modélisation avec une taille croissante de modèles. Certaines initiatives ont commencé à explorer la modélisation tout en stockant des modèles dans une base de données de graphes. Dans cette thèse, nous présentons NMF, un framework pour créer et éditer des modèles dans une base de données Neo4j élevée à l'abstraction du langage de modélisation. / Software complexity increases all the time: systems become larger and more complex. Modeling is a central part of software engineering to tackle challenges of complexity. However, a prominent challenge model-driven software development is facing is scalability of modeling tools with a growing size of models. Some initiatives started exploring modeling while storing models in a graph database. In this thesis, we present NMF, a framework to create and edit MDE models in a Neo4j database lifted to the abstraction of the modeling language.
|
92 |
Text- kontra blockbaserad introduktion till programmering / Text- versus block-based introduction to programmingPersson, Joakim, Nilsson Sommermark, Edvin January 2023 (has links)
Blockbaserade utvecklingsmiljöer blir allt vanligare för att lära ut grunderna i programmering. Metoden har visat sig ha flera fördelar jämfört med textbaserad programmering, som historiskt sett varit den ledande metoden för undervisning. Då textbaserad programmering dominerar industrin i stort behöver övergången från block- till textbaserad programmering ske förr eller senare, för de som tänkt fortsätta inom området. Denna övergång har visat sig innebära flera utmaningar. Som en del av detta arbete togs en textbaserad utvecklingsmiljö fram, med inspiration från styrkorna i blockbaserade miljöer. Syftet med detta var att möjliggöra en jämförelse i läsbarhet av kod mellan de olika miljöerna, samt undersöka utfallet av att hämta inspiration från blockbaserade miljöer vid skapandet av en textbaserad miljö. Den nyutvecklade miljön är ett textbaserat alternativ till en befintlig blockbaserad utvecklingsmiljö, som används för att programmera en digital lekplats. Miljön utvärderas genom två tester. Det ena testet var ett läsbarhetstest som utfördes på en klass i årskurs sju, vars elever hade minimal tidigare erfarenhet av programmering. Det andra testet var ett användartest i utvecklingsmiljön, där åtta personer med tidigare erfarenhet av programmering fick utvärdera den textbaserade utvecklingsmiljön sett till hur nybörjarvänlig den var och hur väl designprinciperna var implementerade. Utvärderingarna visade att den utvecklade miljön ansågs vara nybörjarvänlig. Testerna visade även att miljön var mer läsbar än sin blockbaserade motsvarighet och överlag väl anpassad för nybörjare. Dessutom ansågs designprincipernas implementationer underlätta utveckling i miljön. / Block-based development environments are becoming increasingly common for teaching the basics of programming. This method has shown several advantages compared to text-based programming, which has historically been more popular for educational purposes. Since text-based programming dominates the industry, the transition from block-based to text-based programming is inevitable for those who plan to continue within the field. This transition implies several challenges. As a part of this study a text-based development environment was developed, taking inspiration from the advantages of block-based development environments. The purpose of this was to enable a comparison of code readability between the two development environments and to study the outcome of taking inspiration from the strengths of block-based programming environments. The developed text-based environment is an alternative to an existing block-based environment, used to program a digital playground. The environment was evaluated through two tests. One test was a readability test with a class of students in seventh grade, who had minimal previous programming experience. The other test was a user test, where eight people with previous experience of programming evaluated the text-based development environment in regard to how beginner-friendly it was and how well the design principles were implemented. The evaluations showed that the developed text-based environment was considered beginner-friendly. The tests also showed that the environment was more readable than its block-based counterpart and overall well-suited for beginners. In addition, the implementation of design principles was considered to facilitate development in the environment.
|
93 |
StrideLang : Creation of a Domain-Specific Threat Modeling Language using STRIDE, DREAD and MAL / StrideLang : Skapandet av ett Domän-Specifikt Hotmodellerings-Språk med STRIDE, DREAD och MALCerovic, Lazar January 2022 (has links)
Cybersecurity is still one of the main challenges of the digital era for organizations and individuals alike. Threat modeling is an important tool for building systems that are reliable and secure. The research question for this study is to create a domain specific language (DSL) with the Meta Attack Language (MAL), STRIDE and DREAD. One of the main challenges is to choose a DSL that is suitable for threat modeling. The purpose of the study is to provide people with threat modeling with additional tools that can be used in attack simulations. MAL is a meta language used for creating DSL that can be used for attack simulations. An example of a MAL project that usually serves as a template for other DSL is coreLang, which models the general IT infrastructure. STRIDE is a model used in threat modeling to enumerate and categorization of cyberthreats. DREAD is a model used for risk assessment that scores each threat by a value between one and ten. The proposed method for answering the research question is the Design Research Science Method (DRSM), which is often used for creating artifacts. Evaluation of the results is done with tests written in Java using the Junit framework. The result of the study is the creation of strideLang that maps attack steps in coreLang (MAL implementation of the general IT infrastructure DSL) to STRIDE and DREAD models. The primary source of error in the investigation is the risk assessment with DREAD, which can be somewhat inaccurate depending on what specific DSL is used. It would have been valuable if the study incorporated feedback from domain experts specifically with risk assessment. The nature of the STRIDE and DREAD models is that the models are very subjective in practice. However, this study does provide insights in how a DSL can be created based on DREAD and STRIDE. Future work might investigate a different DSL, incorporate tools such as SecuriCAD and compare different threat models. / Cybersäkerhet är fortfarande en av de främsta utmaningarna i den digitala eran för såväl organisationer som individer. Hotmodellering är ett viktigt verktyg för att bygga tillförlitliga och säkra system. Huvudmålet för denna studie är att skapa ett domänspecifikt språk (DSL) med Meta Attack Language (MAL), STRIDE och DREAD. En av de främsta utmaningarna för att nå målet med studien är att hitta ett domänspecifikt språk som är lämpligt för denna typ av hotmodellering. Syftet med studien är att förse personer som arbetar med hotmodellering med ytterligare verktyg för att kunna använda i sina attacksimuleringar. MAL är ett metaspråk som används för att skapa domän-specifika språk och utföra attacksimuleringar. Ett exempel på ett MAL projekt som oftast används som en mall för att skapa nya domänspecifika och modellerar den generella IT infrastrukturen. STRIDE modellen används för att lista och kategorisera digitala hot. DREAD brukar användas tillsammans med STRIDE och används för att risk bedöma digitala hot genom att betygsätta hoten med ett värde mellan ett och tio. Den valda metoden för att lösa forskningsfrågan är Design Research Science Method (DSRM), som används oftast i samband med skapandet av artefakter. Evaluering av resultatet gjordes med tester skrivna i Java med ramverket JUnit. Studien resulterade med skapande av strideLang som mappar attack steg i coreLang till STRIDE och DREAD modellerna. Den främsta felkällan i denna studie är riskbedömningen med DREAD eftersom noggrannheten på riskbedömningen kan variera från specifika domän i IT infrastrukturen. Det hade varit värdefullt om studien integrera domänexperters bedömning i studien främst för DREAD bedömningen. STRIDE och DREAD modellerna är subjektiva vilket betyder att olika experter kan komma till olika slutsatser för samma hot. Däremot så kan studien förse med intressanta insikter om hur ett domän-specifikt språk kan skapas baserat på DREAD och STRIDE modellerna. Framtida studier kan undersöka en mer specifik domän inom IT infrastrukturen, integrera verktyg som SecuriCAD och jämföra olika modeller som används inom hotmodelleringen
|
94 |
Generating graphical and projectional editorsDucoin, Aurélien 09 1900 (has links)
En ingénierie dirigée par les modèles, les langages spécifiques au domaine (DSL) offrent des
notations adaptées à un domaine précis pour représenter ses différents concepts. De nombreux
outils permettent la définition de DSLs en explicitant les relations entre un concept et
ses représentations. En fonction de la sémantique du domaine, l’ingénieur du langage peut
choisir entre des notations textuelles ou graphiques. Les langages de modélisation graphique
nécessitent une gestion de la position, la taille et la disposition des éléments visuels afin de
maximiser leur expressivité visuelle. La plupart des éditeurs de modélisation manquent de
support automatique pour gérer ces propriétés de la syntaxe concrète. Les éditeurs projectionnels
permettent aux utilisateurs de se concentrer sur la conception de leur modèle en
limitant les modifications de la syntaxe concrète. Cependant, bien qu’ils offrent de multiples
notations, ces éditeurs ne permettent pas la création de langage graphique. Dans
ce mémoire, nous proposons une nouvelle approche pour concevoir des éditeurs graphiques
et projectionnels. Nous avons créé une extension d’un éditeur projectionnel orienté vers le
web, Gentleman, qui nous a permis d’extraire différentes exigences. Au cours du mémoire,
nous décrivons leurs impacts sur les projections et proposons des lignes directrices ainsi
que des exemples d’implémentation. Comme l’édition projectionnelle demande une gestion
spécifique de l’interaction, nous présentons différentes approches pour interagir avec les représentations
graphiques utilisant les nouvelles informations disponibles dans les projections.
Étant donné que la plupart des exigences se concentrent sur la disposition des projections,
nous avons défini plusieurs algorithmes simples de disposition qui couvrent une large gamme
de structures pouvant être retrouvées dans un éditeur graphique. Enfin, afin d’évaluer cette
approche, nous avons exploré la génération de trois éditeurs graphiques et projectionnels
pour différents domaines: les machines d’états, les diagrammes de séquences et les partitions
de musique. / In model-driven engineering, domain specific-languages (DSL) provide tailored notations towards
a specific problem domain to represent its different concepts. Multiple tools allow the
definition of DSL by specifying the relations between a concept and its representations. Depending
on the semantics of the domain, the language engineer can choose between textual or
graphical notations. Graphical modeling languages require proper management of position,
size, and layout to maximize their visual expressiveness. Most modeling editors lack automated
support to manage these graphical concrete syntax properties. It is a time-consuming
effort that affects the understandability of the model. Projectional editors prevent end-users
from modifying the concrete syntax so they can focus on the modeling task. However, while
they offer multiple notations, these editors lack support for graphical languages. During this
thesis, we propose a new approach to design graphical and projectional editors. We created
an extension of a web-oriented projectional editor, Gentleman, that allowed us to extract
different requirements. During the thesis, we describe their impact on the projections and
propose guidelines and examples of implementation. Because projectional editing requires
specific management of the interaction, we present multiple approaches to interact with the
graphical representations, using the new information available in the graphics. Since most
of the requirements were focusing on the disposition of the projection, we define multiple
simple layout algorithms that cover a large range of structures that can be found in a graphical
editor. Finally, we explore the generation of three graphical and projectional editors for
different domains: statecharts, sequence diagrams, and music sheet.
|
95 |
AWSLang: Probabilistic Threat Modelling of the Amazon Web Services environmentSingh Virdi, Amandeep January 2018 (has links)
Attack simulations provide a viable means to test the cyber security of a system. The simulations trace the steps taken by the attacker to compromise sensitive assets within the system. In addition to this, they can also estimate the time taken by the attacker for the same, measuring from the initial step up to the final. One common approach to implement such simulations is the use of attack graph, which trace the various dependencies of every step and their connection to one another in a formal way. To further facilitate attack simulations and to reduce the effort of creating new attack graphs for each system of a given type, domain-specific languages are employed. Another advantage of utilizing such a language is that they organize the common attack logics of the domain in a systematic way, allowing for both ease of use and reuse of models. MAL (the Meta Attack Language) has been proposed by Johnson et al. to serve as a framework to develop domain-specific languages [1]. My work is based upon the same. This thesis report presents AWSLang, which can be used to design IT system models in context to the AWS (Amazon Web Services) environment and analyse their weaknesses. The domain specifics of the language are inspired from and based on existing literature. A Systematic Literature Review (SLR) is performed to identify possible attacks against the elements in an AWS environment. These attacks are then used as groundwork to write test cases and validate the specification. / Attacksimuleringar är ett användbart sätt att testa cybersäkerheten i ett system. Simuleringarna spårar de steg som angriparen tog för att försvaga säkerheten av känsliga tillgångar inom systemet. Utöver detta kan de uppskatta hur länge attacken varade, mätt från första till sista steget. Ett gemensamt tillvägagångssätt för att implementera sådana simuleringar är användningen av attackgrafer, som spårar olika beroenden av varje steg och deras koppling till varandra på ett formellt sätt.För att ytterligare underlätta attacksimuleringar och minska ansträngningen att skapa nya attackgrafer för varje system av en given typ, används domänspecifika språk. En annan fördel med att använda ett sådant språk är att det organiserar domänens gemensamma attacklogiker på ett systematiskt sätt, vilket möjliggör både en enkel användning och återanvändning av modeller. MAL (Meta Attack Language) har föreslagits av Johnson et al. att fungera som ramverk för utvecklingen av domänspecifika språk [1]. Mitt arbete är baserat på detsamma.I denna uppsats presenteras AWSLang, som kan användas för att utforma IT-systemmodeller i kontexten av AWS-miljön (Amazon Web Services) och analysera deras svagheter. Språkets domänspecifikationer är inspirerade av och baserade på befintlig litteratur. En systematisk litteraturöversikt görs för att identifiera möjliga attacker mot elementen i en AWS-miljö. Dessa attacker används sedan som grund för att skriva testfall och validera specifikationen.
|
96 |
Big Data Workflows: DSL-based Specification and Software Containers for Scalable ExecutionDejene Dessalk, Yared January 2020 (has links)
Big Data workflows are composed of multiple orchestration steps that perform different data analytics tasks. These tasks process heterogeneous data using various computing and storage resources. Due to the diversity of application domains, involved technologies, and complexity of data sets, the design and implementation of Big Data workflows require the collaboration of domain experts and technical experts. However, existing tools are too technical and cannot easily allow domain experts to participate in the process of defining and executing Big Data workflows. Moreover, the majority of existing tools are designed for specific applications such as bioinformatics, computational chemistry, and genomics. They are also based on specific technology stacks that do not provide flexible means of code reuse and maintenance. This thesis presents the design and implementation of a Big Data workflow solution based on the use of a domain-specific language (DSL) for hiding complex technical details, enabling domain experts to participate in the process definition of workflows. The workflow solution uses a combination of software container technologies and message-oriented middleware (MOM) to enable highly scalable workflow execution. The applicability of the solution is demonstrated by implementing a prototype based on a real-world data workflow. As per performed evaluations, the proposed workflow solution was evaluated to provide efficient workflow definition and scalable execution. Furthermore, the results of a set of experiments were presented, comparing the performance of the proposed approach with Argo Workflows, one of the most promising tools in the area of Big Data workflows. / Big Data-arbetsflöden består av flera orkestreringssteg som utför olika dataanalysuppgifter. Dessa uppgifter bearbetar heterogena data med hjälp av olika databehandlings- och lagringsresurser. På grund av stora variationen av tillämpningsområden, den involverade tekniken, och komplexiteten hos datamängderna, kräver utformning och implementering av Big Data-arbetsflöden samarbete mellan domänexperter och tekniska experter. Befintliga verktyg är dock för tekniska och vilket försvårar för domänexperter att delta i processen att definiera och genomföra Big Data-arbetsflöden. Dessutom är majoriteten av befintliga verktyg utformade för specifika tillämpningar, som bioinformatik, beräkningskemi och genomik. Verktygen är också baserade på specifika teknikstackar som inte erbjuder flexibla metoder för att kunna underhålla och återanvända kod. Denna avhandling ämnar att presentera design och implementering av en Big Data-arbetsflödeslösning som utnyttjar ett domänspecifikt språk (DSL) för att dölja komplexa tekniska detaljer, vilket gör det möjligt för domänexperter att delta i processdefinitionen av arbetsflöden. Arbetsflödeslösningen använder en kombination av mjukvaruutrustningsteknik och meddelande-orienterad mellanvara (MOM) för att möjliggöra en mer skalbar körning av arbetsflöden. Tillämpningslösningen demonstreras genom att implementera en prototyp baserad på ett verkligt dataflöde. Efter en granskning av de genomförda testerna modifierades den föreslagna arbetsflödeslösningen för att uppnå en effektiv arbetsflödesdefinition och skalbar körning. Dessutom presenteras resultaten av en uppsättning experiment där man jämför skalbarheten för det föreslagna tillvägagångssättet med Argo Workflows, ett av de mest lovande verktygen inom Big Data-arbetsflöden
|
97 |
Conception dirigée par les modèles à l’aide de langages de modélisation hétérogènes : application aux profils UML / Model-driven engineering using heterogeneous modeling languages : application to UML profilesNoyrit, Florian 25 October 2012 (has links)
Les divers intervenants qui décrivent, étudient et réalisent un système complexe ont besoin de points de vue adaptés à leurs préoccupations. Cependant, dans le contexte de l’Ingénierie Dirigée par les Modèles, les moyens pour définir et mettre en œuvre ces points de vue sont, soit trop rigides et inadaptées, soit totalement ad hoc. De plus, ces différents points de vue sont rarement indépendants les uns des autres. Dès lors, il faut s’attacher à identifier puis décrire les liens/les correspondances qui existent entre les points de vue pour enfin pouvoir vérifier que les réponses apportées par les différents intervenants constituent un tout cohérent.Les travaux exposés dans cette thèse permettent la définition de langages dédiés basés sur UML pour les points de vue. Pour cela, une méthode outillée qui analyse la sémantique des descriptions textuelles des concepts du domaine que l’on souhaite projeter sur UML est proposée afin de faciliter la définition de profils UML. Les résultats obtenus sur les cas d’études concrets étudiés sont encourageants et dépassent les résultats des outils existants. Pour définir des points de vue basés sur des profils UML, cette thèse propose une méthode qui permet au méthodologiste d’expliciter le point de vue voulu. Un outil génère ensuite l’outillage qui met en œuvre ce point de vue dans un environnement de modélisation ainsi que le langage dédié correspondant là où la pratique actuelle repose sur une mise en œuvre essentiellement manuelle.Pour assister l’identification des liens entre points de vue, cette thèse propose là aussi d’analyser la sémantique des descriptions textuelles des concepts des langages utilisés par les points de vue. Utilisée en complément des heuristiques syntaxiques existantes, l’approche proposée permet d’obtenir de bons résultats lorsque les terminologies des langages analysés sont éloignées. Un cadre théorique basé sur la théorie des catégories est proposé pour expliciter formellement les correspondances. Pour utiliser ce cadre, une catégorie pour les langages basés sur UML a été proposée. Afin de pouvoir également expliciter les correspondances entre les modèles issus de ces langages, la catégorie des ontologies OWL est utilisée. Une solution est proposée pour caractériser des correspondances plus complexes que la simple équivalence. Ce cadre théorique permet la définition formelle de relations complexes qui permettront de raisonner sur la cohérence de la description de l’architecture. Une fois la description de l’architecture intégrée en un tout en suivant les correspondances formalisées, la question de la cohérence est abordée. Les expérimentations faites sur un cas d’étude concret pour vérifier la cohérence à un niveau syntaxique donnent des résultats pratiques satisfaisants. Les expérimentations menées sur le même cas pour vérifier la cohérence à un niveau sémantique ne donnent pas de résultats pratiques satisfaisants. / The various stakeholders who describe study and implement a complex system require viewpoints that are dedicated to their concerns. However, in the context of Model-Driven Engineering, approaches to define and implement those viewpoints are either too rigid and inappropriate or completely ad hoc. In addition, those various viewpoints are rarely independent from each other. Therefore, we must strive to identify and describe the relationships/correspondences between the viewpoints in order to be able to verify that the parts of the solution given by the various stakeholders form a consistent whole.The work presented in this thesis provides a way to define dedicated languages based on UML for the viewpoints. For this, a method that analyzes the semantics of the textual descriptions of the concepts of the domain we want to map to UML has been implemented to facilitate the definition of UML profiles. The results we get on the concrete test cases we considered are encouraging and go beyond results of existing tools. To define a viewpoint based on some UML profiles, this thesis provides a method that lets the methodologist make explicit the viewpoint he/she wants. A tool can then generate the tooling that implements this viewpoint in a modeling environment together with the corresponding dedicated language while current practice is based on an implementation essentially manual.To assist the identification of relationships between the viewpoints, this thesis proposes again to analyze the semantics of textual descriptions of concepts of the languages used by the viewpoints. Used in combination with existing syntactic heuristics, the proposed approach provides good results when the terminologies of the languages that are analyzed are far apart. A theoretical framework based on category theory is provided to make explicit formally correspondences. To use this framework, a category for languages based on UML has been proposed. To be able to make explicit the correspondences between the models of those languages as well, the category of OWL ontologies is used. A solution is proposed to characterize correspondences that are more complex than the simple equivalence relationship. This theoretical framework provides a way to define formally complex relationships that can be used to verify the consistency of the architectural description. Once the description of the architecture has been integrated according to the formal correspondences, the issue of consistency is considered. The experiments carried out on a concrete test case to verify consistency on a syntactic perspective give satisfactory practical results. The experiments carried on the same test case to verify consistency on a semantic perspective don’t give satisfactory practical results.
|
98 |
[en] PETROLEUM SCHEDULING MULTIOBJECTIVE OPTIMIZATION FOR REFINERY BY GENETIC PROGRAMMING USING DOMAIN SPECIFIC LANGUAGE / [pt] OTIMIZAÇÃO MULTIOBJETIVO DA PROGRAMAÇÃO DE PETRÓLEO EM REFINARIA POR PROGRAMAÇÃO GENÉTICA EM LINGUAGEM ESPECÍFICA DE DOMÍNIOCRISTIANE SALGADO PEREIRA 26 November 2018 (has links)
[pt] A programação de produção em refinaria (scheduling) pode ser compreendida como uma sequência de decisões que buscam otimizar a alocação de recursos, o sequenciamento de atividades e a realização temporal dessas atividades, respeitando um conjunto de restrições de diferentes naturezas e visando o atendimento de múltiplos objetivos onde fatores como atendimento à demanda de produção e minimização de variações operacionais nos equipamentos coexistem na mesma função. Este trabalho propõe o uso da técnica de Programação Genética para automatizar a criação de programas que representem uma solução completa de programação de petróleo em uma refinaria dentro de um horizonte de tempo. Para a evolução destes programas foi desenvolvida uma linguagem específica para o domínio de problemas de scheduling de petróleo e aplicada de forma a representar as principais atividades do estudo de caso. Para tal, a primeira etapa consistiu da avaliação de alguns cenários de programação de produção de forma a selecionar as atividades que devessem ser representadas e como fazê-lo. No modelo proposto, o
cromossomo quântico guarda a superposição de estados de todas as soluções possíveis e, através do processo evolutivo e observação dos genes quânticos, o cromossomo clássico é criado como uma sequencia linear de instruções a serem executadas. As instruções executadas representam o scheduling. A orientação
deste processo é feita através de uma função de aptidão multiobjetivo que hierarquiza as avaliações sobre o tempo de operação das unidades de destilação, o prazo para descarregamento de navios, a utilização do duto que movimenta óleo entre terminal e refinaria, além de fatores como número de trocas de tanques e uso de tanques de injeção nas unidades de destilação. No desenvolvimento deste trabalho foi contemplado um estudo sobre o conjunto de parâmetros para o modelo desenvolvido com base em um dos cenários de
programação selecionados. A partir desta definição, para avaliação do modelo proposto, foram executadas diversas rodadas para cinco cenários de programação de petróleo. Os resultados obtidos foram comparados com estudo desenvolvido usando algoritmos genéticos cujas atividades, no cromossomo, possuem representação por ordem. A programação genética apresentou percentual de soluções aceitas variando entre 25 por cento e 90 por cento dependendo da complexidade do cenário, sendo estes valores superiores ao obtido usando Algoritmos Genéticos em todos os cenários, com esforço computacional menor. / [en] Refinery scheduling can be understood as a sequence of decisions that targets the optimization of available resources, sequencing and execution of activities on proper timing; always respecting restrictions of different natures. The final result must achieve multiple objectives guaranteeing co-existence of different factors in the same function, such as production demand fullfillment and minimize operational variation. In this work it is proposed the use of the genetic programming technique to automate the building process of programs that represent a complete oil scheduling solution within a defined time horizon. For the evolution of those programs, it was developed a domain specific language to translate oil scheduling instructions that was applied to represent the most relevant activities for the proposed case studies. For that, purpose first step was to evaluate a few real scheduling scenarios to select which activities needed to be represented and how to do that. On the proposed model, each quantum chromosome represents the overlapping of all solutions and by the evolutionary process (and quantum gene measurement) the classic chromosome is created as a linear sequence of scheduling instructions to be executed. The orientation for this process is performed through a multi-object fitness function that prioritizes the evaluations according to: the operating time of the atmospheric distillation unities, the oil unloading time from the ships, the oil pipeline operation to transport oil to the refinery and other parameters like the number of charge tanks switchover and injection tank used for the distillation unities. The scope of this work also includes a study about tuning for the developed model based in one of the considered scenarios. From this set, an evaluation of other different scheduling scenarios was performed to test the model. The obtained results were then compared with a developed model that uses genetic algorithms with order representation for the activities. The proposed model showed between 25 percent - 90 percent of good solutions depending on the scenario complexity. Those results exhibit higher percentage of good solutions requiring less computational effort than the ones obtained with the genetic algorithms.
|
99 |
Context-aware security testing of Android applications : Detecting exploitable vulnerabilities through Android model-based security testing / Kontextmedveten säkerhetstestning av androidapplikationer : Upptäckande av utnyttjingsbara sårbarheter genom Android modellbaserad säkerhetstestningBaheux, Ivan January 2023 (has links)
This master’s thesis explores ways to uncover and exploit vulnerabilities in Android applications by introducing a novel approach to security testing. The research question focuses on discovering an effective method for detecting vulnerabilities related to the context of an application. The study begins by reviewing recent papers on Android security flaws affecting application in order to guide our tool creation. Thus, we are able to introduce three Domain Specific Languages (DSLs) for Model-Based Security Testing (MBST): Context Definition Language (CDL), Context-Driven Modelling Language (CDML), and Vulnerability Pattern (VPat). These languages provide a fresh perspective on evaluating the security of Android apps by accounting for the dynamic context that is present on smartphones and can greatly impact user security. The result of this work is the development of VPatChecker[1], a tool that detects vulnerabilities and creates abstract exploits by integrating an application model, a context model, and a set of vulnerability patterns. This set of vulnerability patterns can be defined to represent a wide array of vulnerabilities, allowing the tool to be indefinitely updated with each new CVE. The tool was evaluated on the GHERA benchmark, showing that at least 38% (out of a total of 60) of the vulnerabilities in the benchmark can be modelled and detected. The research underscores the importance of considering context in Android security testing and presents a viable and extendable solution for identifying vulnerabilities through MBST and DSLs. / Detta examensarbete utforskar vägar för att hitta och utnyttja sårbarheter i Android-appar genom att introducera ett nytt sätt att utföra säkerhetstestning. Forskningsfrågan fokuserar på att upptäcka en effektiv metod för att detektera sårbarheter som kan härledas till kontexten för en app. Arbetet inleds med en översikt av nyliga forskningspublikationer om säkerhetsbrister som påverkar Android-appar, vilka vägleder utvecklingen av ett verktyg. Vi introducerar tre domänspecifika språk (DSL) för modellbaserad testning (MBST): CDL, CDML och VPat. Dessa språk ger ett nytt perspektiv på säkerheten för Android-appar genom att ta hänsyn till den dynamiska kontext som finns på smarta mobiltelefoner och som kan starkt påverka användarsäkerheten. Resultatet av arbetet är utveckling av VPatChecker[1], ett verktyg som upptäcker sårbarheter och skapar abstrakta sätt att utnyttja dem i en programmodell, en kontextmodell, och en mängd av sårbarhetsmönster. Denna sårbarhetsmönstermängd kan defineras så att den representerar ett brett spektrum av sårbarheter, vilket möjliggör för verktyger att uppdateras med varje ny CVE.Verktyget utvärderades på datamängden GHERA, vilket visade att 38% (av totalt 60) av alla sårbarheter kunde modelleras och upptäckas. Arbetet understryker vikten av att ta hänsyn till kontext i säkerhetstestning av Android-appar och presenterar en praktisk och utdragbar lösning för att hitta sårbarheter genom MBST and DSLs. / Ce mémoire de maîtrise explore les moyens de découvrir et d’exploiter les vulnérabilités des applications Android en introduisant une nouvelle approche des tests de sécurité. La question de recherche se concentre sur la découverte d’une méthode efficace pour détecter les vulnérabilités liées au contexte d’une application. L’étude commence par l’examen de documents récents sur les failles de sécurité des applications Android afin de guider la création de notre outil. Nous sommes ainsi en mesure d’introduire trois Langages dédié (DSL) pour des Tests de Sécurité Basés sur les Modèles (MBST) : Langage de Définition de Contexte (CDL), Langage de Modélisation Déterminée par le Contexte (CDML) et Motif de Vulnérabilité (VPat). Ces langages offrent une nouvelle perspective sur l’évaluation de la sécurité des applications Android en tenant compte du contexte dynamique présent sur les smartphones et qui peut avoir un impact important sur la sécurité de l’utilisateur. Le résultat de ce travail est le développement de VPatChecker[1], un outil qui détecte les vulnérabilités et crée des exploits abstraits en intégrant un modèle d’application, un modèle de contexte et un ensemble de modèles de vulnérabilité. Cet ensemble de modèles de vulnérabilité peut être défini pour représenter un large éventail de vulnérabilités, ce qui permet à l’outil d’être indéfiniment mis à jour avec chaque nouveau CVE. L’outil a été testé sur le benchmark GHERA[2] et montre qu’un total d’au moins 38% (sur un total de 60) des vulnérabilités peut être modélisé et détecté. La recherche souligne l’importance de prendre en compte le contexte dans les tests de sécurité Android et présente une solution viable et extensible pour identifier les vulnérabilités par le biais de MBST et DSLs.
|
100 |
WebLang: A Prototype Modelling Language for Web Applications : A Meta Attack Language based Domain Specific Language for web applications / WebLang: Ett Prototypmodelleringsspråk för Web Applikationer : Ett Meta Attack Language baserat Domän Specifikt Språk för Web Applikationeraf Rolén, Mille, Rahmani, Niloofar January 2023 (has links)
This project explores how a Meta Attack Language based Domain Specific Language for web applications can be used to threat model web applications in order to evaluate and improve web application security. Organizations and individuals are targeted by cyberattacks every day where malicious actors could gain access to sensitive information. These malicious actors are also developing new and innovative ways to exploit the many different components of web applications. Web applications are becoming more and more complex and the increasingly complex architecture gives malicious actors more components to target with exploits. In order to develop a secure web application, developers have to know the ins and outs of web application components and web application security. The Meta Attack Language, a framework for developing domain specific languages, was recently developed and has been used to create languages for domains such as Amazon Web Services and smart cars but no language previously existed for web applications. This project presents a prototype web application language delimited to the first vulnerability in the top ten list provided by Open Worldwide Application Security Project (OWASP), which is broken access control, and tests it against the OWASP juice shop, which is an insecure web application developed by OWASP to test new tools. Based on the results it is concluded that the prototype can be used to model web application vulnerabilities but more work needs to be done in order for the language to work on any given web application and vulnerability. / Detta projekt utforskar hur ett Meta Attack Language baserat Domän Specifikt Språk för webbapplikationer kan användas för att hotmodellera samt undersöka och förbättra webbapplikationssäkerhet. Organisationer och individer utsätts dagligen för cyberattacker där en hackare kan få tillgång till känslig information. Dessa hackare utverklar nya och innovativa sätt att utnyttja dem många olika komponenterna som finns i webbapplikationer. Webbapplikationer blir mer och mer komplexa och denna ökande komplexa arkitekturen leder till att det finns mer mål för en hackare att utnyttja. För att utveckla en säker webbapplikation måste utvecklare veta allt som finns om webbapplikations komponenter och webbapplikations säkerhet. Meta Attack Language är ett ramverk för att utveckla nya språk för domäner som till exempel Amazon Web Services och smarta fordon men innan detta existerade inget språk för webbapplikationer. Detta projekt presenterar en webbapplikations språk prototyp som är avgränsad till den första sårbarheten i top tio listan av Open Worldwide Application Security Project (OWASP) vilket är broken access control, och testar den mot OWASP juice shop, vilket är en sårbar webapplikation som utveckalts av OWASP för att testa nya verktyg. Baserat på resultaten dras slutsatsen att prototypen kan användas för att modellera webbapplikations sårbarheter men att det behövs mer arbete för att språket ska fungera på vilken webbapplikation och sårbarhet som helst.
|
Page generated in 0.0831 seconds