1 |
Universal Constraint Language / Universal Constraint LanguagePiják, Peter January 2011 (has links)
Title: Universal Constraint Language Author: Peter Piják Department / Institute: Department of Software Engineering Supervisor of the master thesis: Mgr. Martin Nečaský, Ph.D. Abstract: Today's software applications are typically compound of system of more application components. By modeling of software, various integrity constraint languages are used for particular parts of model (e.g. OCL for UML class diagrams, Schematron for XML or SQL triggers for relational databases). Constraint expressions need to be converted to expressions over different meta-models. These tasks are non-trivial. In this thesis, a new common language Universal Constraint Language (UCL) for expressing integrity constraints over various data meta-models is introduced. It is formally defined and also its parser is implemented. We also present semi-automatic translating between constraints over various meta-models; and deriving constraints from the introduced language to constraints in specific constraint languages. Keywords: constraint language, model-driven architecture, universal formalism
|
2 |
The Study of Classification of OCL Expressions in Class DiagramHuang, Li-Ching 01 August 2008 (has links)
Today, unified modeling language (UML) has become a standard modeling language in object-oriented systems analysis and design. Specifying the business logic constraint with object constraint language (OCL) and transforming the specification into code has become a main trend in this area. This research presents a classification of OCL expressions to specify the attribute, operation and relationship constraint on Class diagram. A sample case and a CASE tool are used to test the usability (including the concepts, application, and advantages) of the proposed method. With this approach, the system developer can specify the constraints easily and transform them into code automatically and thereby enhance the efficiency and reusability of system development.
|
3 |
Improving Business Logic Expression with OCL and CASE ToolChen, Sheng-hsien 16 July 2008 (has links)
Traditionally software testing is performed at the coding stage and is costly. Prior research indicated that if the errors can be found prior to the coding stage, the cost for fixing the errors can be reduced. Today, Unified Modeling Language (UML) has become a standard modeling language in object-oriented systems analysis and design. Over the past few years a considerable effort has been made in synthesizing UML, MDA (Model-Driven Architecture), and CASE tool to increase the productivity of the system development. Specifying the business logic constraints with Object Constraint Language (OCL) has become a main trend in this area.
This study presents a methodology to specify the business logic constraint with OCL on the platform independent model during the systems analysis and design stage, then transform the OCL expressions into the code model and do the model testing simultaneously with a CASE tool. Three real-world cases and a CASE tool are used to test the usability (including the concepts, application, and advantages) of the proposed methodology. With this approach, software bugs related to business logic constraints can be found at the systems analysis and design stage and thereby reduce the cost of software testing and enhance the efficiency of system development.
|
4 |
Aplikace jazyka OCL pro UML modelování podnikových ISMeluzín, Petr January 2013 (has links)
No description available.
|
5 |
Making a common graphical language for the validation of linked data. / Skapandet av ett generiskt grafiskt språk för validering av länkad data.Echegaray, Daniel January 2017 (has links)
A variety of embedded systems is used within the design and the construction of trucks within Scania. Because of their heterogeneity and complexity, such systems require the use of many software tools to support embedded systems development. These tools need to form a well-integrated and effective development environment, in order to ensure that product data is consistent and correct across the developing organisation. A prototype is under development which adapts a linked data approach for data integration, more specifically this prototype adapt the Open Services for Lifecycle Collaboration(OSLC) specification for data-integration. The prototype allows users, to design OSLC-interfaces between product management tools and OSLC-links between their data. The user is further allowed to apply constraints on the data conforming to the OSLC validation language Resource Shapes(ReSh). The problem lies in the prototype conforming only to the language of Resource Shapes whose constraints are often too coarse-grained for Scania’s needs, and that there exists no standardised language for the validation of linked data. Thus, for framing this study two research questions was formulated (1) How can a common graphical language be created for supporting all validation technologies of RDF-data? and (2) How can this graphical language support the automatic generation of RDF-graphs? A case study is conducted where the specific case consists of a software tool named SESAMM-tool at Scania. The case study included a constraint language comparison and a prototype extension. Furthermore, a design science research strategy is followed, where an effective artefact was searched for answering the stated research questions. Design science promotes an iterative process including implementation and evaluation. Data has been empirically collected in an iterative development process and evaluated using the methods of informed argument and controlled experiment, respectively, for the constraint language comparison and the extension of the prototype. Two constraint languages were investigated Shapes Constraint Language (SHACL) and Shapes Expression (ShEx). The result of the constraint language comparison concluded SHACL as the constraint language with a larger domain of constraints having finer-grained constraints also with the possibility of defining new constraints. This was based on that SHACL constraints was measured to cover 89.5% of ShEx constraints and 67.8% for the converse. The SHACL and ShEx coverage on ReSh property constraints was measured to 75% and 50%. SHACL was recommended and chosen for extending the prototype. On extending the prototype abstract super classes was introduced into the underlying data model. Constraint language classes were stated as subclasses. SHACL was additionally stated as such a subclass. This design offered an increased code reuse within the prototype but gave rise to issues relating to the plug-in technologies that the prototype is based upon. The current solution still has the issue that properties of one constraint language may be added to classes of another constraint language. / En mängd olika inbyggda system används inom design och konstruktion av lastbilar inom Scania. På grund av deras heterogenitet och komplexitet kräver sådana system användningen av många mjukvaruverktyg för att stödja inbyggd systemutveckling. Dessa verktyg måste bilda en välintegrerad och effektiv utvecklingsmiljö för att säkerställa att produktdata är konsekventa och korrekta över utvecklingsorganisationen.En prototyp håller på att utvecklas som anpassar en länkad datainriktning för dataintegration, mer specifikt anpassar denna prototyp en dataintegration specifikation utvecklad av Open Services for Lifecycle Collaboration(OSLC). Prototypen tillåter användare att utforma OSLC-gränssnitt mellan produkthanteringsverktyg och OSLC-länkar mellan deras data. Användaren får vidare tillämpa begränsningar på de data som överensstämmer med OSLC-valideringsspråket Resource Shapes. Problemet ligger i prototypen som endast överensstämmer med Resource Shapes, vars begränsningar ofta är för grova för Scanias behov och att det inte finns något standardiserat språk för validering av länkad data. Således, för att utforma denna studie formulerades två forskningsfrågor (1) Hur kan ett gemensamt grafiskt språk skapas för att stödja alla valideringsteknologier av RDF-data? och (2) Hur kan detta grafiska språk stödja Automatisk generering av RDF-grafer? En fallstudie genomförs där det specifika fallet består av ett mjukvaruverktyg som heter SESAMM-tool hos Scania. Fallstudien innehöll en jämförelse av valideringsspråk och vidareutveckling av prototypen. Vidare följs Design Science som forskningsstrategi där en effektiv artefakt sökts för att svara på de angivna forskningsfrågorna. Design Science främjar en iterativ process inklusive genomförande och utvärdering. Data har empiriskt samlats på ett iterativt sätt och utvärderats med hjälp av utvärderingsmetoderna informerat argument och kontrollerat experiment, för valideringsspråkjämförelsen och vidareutvecklingen av prototypen. Två valideringsspråk undersöktes Shapes Constraint Language (SHACL) och Shapes Expression (ShEx).Resultatet av valideringsspråksjämförelsen konkluderade SHACL som valideringsspråket med en större domän av begränsningar, mer finkorniga begränsningar och med möjligheten att definiera nya begränsningar. Detta var baserat på att SHACL-begränsningarna uppmättes täcka 89,5 % av ShEx-begränsningarna och 67,8 % för det omvända. SHACL- och ShEx-täckningen för Resource Shapes-egenskapsbegränsningar mättes till 75 % respektive 50 %. SHACL rekommenderades och valdes för att vidareutveckla prototypen.Vid vidareutveckling av prototypen infördes abstrakta superklasser i den underliggande datamodellen. Superklasserna tog i huvudsak rollen som tidigare klasser för valideringsspråk, som istället utgjordes som underklasser. SHACL anges som en sådan underklass. Denna design erbjöd hög kodåteranvändning inom prototypen men gav också upphov till problem som relaterade till plugin-teknologier som prototypen bygger på. Den nuvarande lösningen har fortfarande problemet att egenskaper hos ett valideringsspråk kan läggas till klasser av ett annat valideringsspråk.
|
6 |
Arquitetura e implementação de mecanismos para suporte a regras de negócio em sistemas de informação / Architecture and implementation of mechanisms to support business rules in information systemsBOFF, Glauber 12 April 2010 (has links)
Made available in DSpace on 2014-07-29T14:57:46Z (GMT). No. of bitstreams: 1
Dissert parte 1 Glauber Boff.pdf: 3627301 bytes, checksum: a9c5bc5ed01e465f7ee93a59c0da1439 (MD5)
Previous issue date: 2010-04-12 / The development of Information Systems (IS) should be performed so that changes in
the client s business, which may be common, may be reflected in the system, without
reducing its consistency and reliability. To achieve these features, portability and maintainability,
which are challenges for Software Engineering, are very important. There are two
essential requirements which, when present in the development process, make it easier to
deal with the system complexity. The first requirement states that it should be possible to
describe the IS business rules (BR) using a high level language, generating a single, implementation
independent model. The second requirement demands that it should be possible
to generate software source code from the abstract BR model, and to integrate this code to
the IS. This work presents an approach to meet these requirements. This approach covers
the specification, modeling, implementation and evaluation of business rules in software
to facilitate the development and maintenance of complex IS. Instead of hard-coding the
BR into the applications, this approach adopts OCL as a platform independent high-level
language to define a single BR model for the IS. To store the rules safely throughout the IS
life cycle, a centralized repository in the database was developed, which enables control
over all BR versions. During implementation, rules in OCL are automatically converted
to SQL and stored in the database as stored procedures for further evaluation by a specific
component of the application. This approach facilitates the maintenance of the IS by
the centralized and high-level description of all BR. To demonstrate the feasibility of the
proposed approach, an empirical validation was performed in the context of a research
project funded by CNPq, which aims to optimize the production of beef cattle. / O desenvolvimento de Sistemas de Informação (SI) deve ser realizado de forma que as
mudanças no negócio do cliente, que podem ser frequentes, possam ser refletidas no sistema,
sem que ele perca sua consistência e confiabilidade. Para se atingir essas características,
a portabilidade e manutenibilidade, que são desafios para a Engenharia de Software,
são importantes. Há dois requisitos essenciais que, quando presentes no processo de desenvolvimento,
facilitam o tratamento da complexidade do sistema. O primeiro requisito
diz que deveria ser possível descrever as regras de negócio (RN) usando uma linguagem
de alto nível, gerando um modelo único e independente de implementação. O segundo
requisito demanda que deveria ser possível gerar código fonte a partir do modelo abstrato
de RN e integrá-lo ao SI. Neste trabalho é apresentada uma abordagem para atender
a esses requisitos. Esta abordagem abrange especificação, modelagem, implementação e
avaliação de regras de negócio em software de forma a facilitar o desenvolvimento e a
manutenção de SI complexos. Em vez de codificar as RN diretamente nas aplicações,
adotou-se a linguagem OCL, uma linguagem abstrata e independente de plataforma, para
definir um modelo único de RN para o SI. Para armazenar as regras ao longo do ciclo
de vida do SI de forma segura e de fácil acesso foi criado um repositório centralizado
no banco de dados, que permite realizar o controle de todas as versões das RN. Na implementação,
regras em OCL são convertidas automaticamente para SQL e armazenadas
em banco de dados como procedimentos armazenados para posterior avaliação por um
componente específico da aplicação. Esta abordagem facilita a manutenção do SI pela
descrição centralizada e em alto nível de todas as RN de um sistema. Para demonstrar a
viabilidade da abordagem proposta, uma validação empírica foi realizada no contexto de
um projeto de pesquisa apoiado pelo CNPq que visa a otimização da produção de gado
de corte.
|
7 |
Specifying Class constraint and operation using Object Constraint LanugageLiu, Chi-liang 03 February 2006 (has links)
Today, modeling the software with unified modeling language (UML), model driven architecture (MDA) concept, and computer-aided software engineering (CASE) tool are the main trend for the objected-oriented systems analysis and design. Furthermore, to enhance the degree of transformation automation and design reuse in the system development process, object constraint language (OCL) is used in UML modeling to specify the navigation, constraint, operation specification, and so forth. However, the guideline for using OCL in class diagram specification and its transformation to JAVA code is lacking. This research presents an approach utilizing the OCL to specify the constraint and operation specification for the class diagram when modeling the platform independent model (PIM), which can then be transformed into the JAVA platform specific model (PSM) and code using a CASE tool. A real-world case using the integrated techniques is presented and a CASE tool is used to illustrate the concepts, application, and the advantages of using the proposed approach. With this approach, the system developer can transform PIM into PSM and code automatically and thereby enhance the efficiency of system development.
|
8 |
Specifying Design Patterns with Object Constraint LanguageHsieh, Kun-Ta 19 July 2007 (has links)
Today, unified modeling language (UML) has become a standard modeling language in object-oriented systems analysis and design. Over the past few years a considerable effort has been made in synthesizing UML, MDA (model driven architecture), design patterns and CASE tool to increase the productivity of the system development. Specifying the design patterns with object constraint language (OCL) has become a main trend in this area. This study classifies the OCL expressions and design patterns and presents a method to specify each design pattern with the OCL and UML when modeling the platform independent model which can then be transformed into the platform dependent model, and to a code model. A real-world case using the integrated techniques is presented and a CASE tool is used to illustrate the concepts, application, and the advantages of using the proposed approach. With this approach, the system developer can transform PIM into code automatically and thereby enhance the efficiency and reusability of system development.
|
9 |
Behavioral java code generation from imperative object constraint language expressions in plataformindependent UML modelsTAVARES, Marcellus Antonius de Castro 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T15:49:38Z (GMT). No. of bitstreams: 1
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2011 / Antonius de Castro Tavares, Marcellus; Pierre Louis Robin, Jacques. Behavioral java code generation from imperative object constraint language expressions in plataformindependent UML models. 2011. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2011.
|
10 |
Dynamische Modellanalyse von Metamodellen mit operationaler SemantikSoden, Michael 18 March 2015 (has links)
Metamodellierung im Sinne der Meta Object Facility (MOF) stellt eine Methode für die strukturelle Definition der abstrakten Syntax von Modellierungssprachen und Modellen im Softwareentwicklungsprozess dar. Um Modellsimulation und dynamische Analysen für metamodellbasierte Sprachen zu unterstützen, fehlt es an einem Kalkül zur operationalen Semantik. In dieser Arbeit wird ausgehend von MOF die Aktionssemantik MActions entwickelt, die die Definition von operationaler Semantik als Verhalten in Metamodellen ermöglicht. Diese Erweiterung geht einher mit der Beschreibung von Laufzeitmodellen sowie Zuständen und Parallelitätseigenschaften, so dass eine Verifikation von dynamischen Eigenschaften möglich wird. Zu diesem Zweck wird mit der Linear Temporal Object Constraint Language (LT-OCL) exemplarisch eine prädikatenlogische Temporallogik entwickelt, die eine metamodellunabhängige Analyse für ausführbare Modelle erlaubt. Dabei ist die Semantik von temporalen Ausdrücken über Zuständsänderungen von (aufgezeichneten) Ausführungsläufen beschrieben, wobei eine Linearisierung parallele Änderungen zusammenführt. Als weiteren Anwendungsfall der dynamischen Analyse untersuchen wir die Relation zum Verhaltensvergleich im Sinne der Bisimulationstheorie. Metamodelle, Aktionssemantik und Temporallogik werden mittels einer erweiterten Abstract State Machine (ASM) formal beschrieben und kommen in zwei Fallstudien zur Anwendung (Timed Automata und C#). / Object-oriented metamodelling as defined by the Meta Object Facility (MOF) provide a means to describe the structure of models and the abstract syntax of modelling languages at various stages in a software development process. However, MOF lacks concepts for the definition of operational semantics and there is no support for dynamic model analysis based on the semantics and abstract states of a language definition. This thesis investigates on extending the metamodelling framework with an action semantics - the MActions - to support the definition of operational semantics in metamodels and enable simulation as well as verification of dynamic properties. For this purpose, runtime models are incorporated with semantics for states, time, and properties of parallelism that allow a generic analysis solely bound to a certain metamodel definition. Furthermore, we develop the Linear Temporal Object Constraint Language (LT-OCL) to perform a dynamic analysis of execution runs based on the executable models. The semantics of this temporal predicate logic is bound to state changes of (recorded) execution traces that are linearizations of parallel changes of the runtimes model. This establishes the link to the theory of bisimulation as a second application case of dynamic analysis. Abstract State Machines (ASM) have been used to formally define the action language in conjunction with metamodels and the temporal logic. As proof of concept of the whole approach, the framework has been implemented and applied to two languages as case studies (namely Timed Automata and C#).
|
Page generated in 0.0816 seconds