Giter VIP home page Giter VIP logo

norma's People

Contributors

ashalkhakov avatar mcurland avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

norma's Issues

Naming the same name with addition of two underscore instead of one underscore is the same name

image

Noticed that it doesn't like the name if there are two underscores in SQL Server. Orm tool thinks these are the same value type even though they are slightly different. Is it possible to make these be considered as different? Maybe by preventing the expanded reading signature option? Another issue is general slowness for large dataset. I wish this didn't use xml in backend b/c it takes a huge amount of time to write the nodes in xml text, and wondering if speeding up the model somehow could be done by using some other tactic.

The error I get is:
Stg_dailydistributionlog has Stg_dailydistributionlog_Mandatorydate.

Model Error: Model 'dbo' contains multiple readings with an expanded reading signature of 'stg dailydistributionlog has stg dailydistributionlog mandatorydate'. Each reading must be unique in the model.

Each [Stg_dailydistributionlog](elementid:0eade8bb-0a4a-415e-bee1-5b5aae708d81) has at most one [Stg_dailydistributionlog_Mandatorydate.](elementid:45af997e-6766-4d49-9530-feb5103ad118) It is possible that more than one [Stg_dailydistributionlog](elementid:0eade8bb-0a4a-415e-bee1-5b5aae708d81) has the same [Stg_dailydistributionlog_Mandatorydate.](elementid:45af997e-6766-4d49-9530-feb5103ad118)

Postgres checkconstraint for double using in a set not working

Noticed that the generated postgres code in a set is not working. Example:

image

// This code fails to set constraint for a double
CREATE DOMAIN ULU_Material.Amount AS DOUBLE PRECISION CONSTRAINT ValueTypeValueConstraint8 CHECK (VALUE IN (0.00, 100.00));

// this code works for setting constraint for double
CREATE DOMAIN ULU_Material.Amount AS DOUBLE PRECISION CONSTRAINT ValueTypeValueConstraint8 CHECK(VALUE BETWEEN 0.00 and 100.00);

see stack overflow discussion: https://stackoverflow.com/questions/15525816/adding-check-constraint-for-type-double-precision-in-postgres

Normalize line feeds in the repository

Would be nice to add a .gitattributes to turn off autocrlf. This setting has messed the whitespace line feeds because of this, this needs fixing.

Right now is not a good time for this since there are other large branch changes pending.

ErrrorUsing installed Noram with VS 2019

Hi
Please also see attached Word doc.
VS 2019 Community Edition is installed.
NORMA is installed.
When I go FILE > New >File and then select GENERAL > Object-Role Modeling File I get an error message
(See attached Errors.doc).
Thank you in advance for any help you can provide.
Very respectfully
Barry
650 380 1466
Errors.docx

ORM MetaModel question

@mcurland There seem to be 2 ORM metamodels in the repository at:

Can you let me know what the difference is between the 2 and which one is the right one?

Also, I have the impression they are no longer in line with:

Is it correct for me to assum that the ORMCore.dsl is currently the master meta-model from which the rest derives or is generated?

Embedded ellipsis in reading text

NORMA does not parse an ellipsis (single character or 3 dots) in the fact editor or reading editor. These are treated like any other character. However, there is also nothing blocking a user from entering these characters on their own. When these ellipses are then combined with the ones we add on the diagram to keep the reading text short you have an ambiguous mess.

The discussed solution to this is to simple use named replacement fields (like an out-of-order n-ary) if there are any embedded ellipses in the formatted reading text.

There has also been a request to highlight each ellipsis character in this case (bold and red). Unfortunately, DSL diagrams does not support rich text in text shapes on the diagram, so using named replacement patterns when this occurs (very rarely) will have to suffice for now.

Verbalizing Ternary Fact type with 2 roles spanning uniqueness constraint

Bonjour Matt,

Verbalizing the ternary fact type reads: "For each subservice user and request type,
that subservice user uses at most one EXPL script to acknowledge the start of execution for that request type."
Why stating "at most one EXPL script" when my understanding is that to have a valid population, all roles are always populated ? why not verbalizing "exactly one EXPL script"?

Long time I wish to ask this question ! Thanks for the feedback ...
image

Hide implied object types in html report

Object types are implied by objectification (spanning uniqueness or n-ary fact type that is not explicitly objectified) and by unary fact types (the implicit boolean value).

  1. These implied object types SHOULD NOT appear in the object type list or have pages generated for them in a report.
  2. Implied object types SHOULD NOT show in the related object types list
  3. Link fact types in implicit objectifications SHOULD NOT show in fact type lists.
  4. Non-implied related objectifications SHOULD show in the related object types list
  5. Link fact types for non-implied objectifications SHOULD appear in the fact types list for each objectified role player.

Opening an older version ORM file causes crash.

The solution and orm file were built in VS 2015 with NORMA version 2015-09 CTP from Sourceforge. No projects only one .orm file as a solution item.

Loading the attached files into a bare install of VS2019 CE should lead to reproducing the problem. I selected none of the features, just the bare core, with just the NORMA extension installed on top of this,

norma-issue.zip
Screenshot of exception message:
afbeelding

Likely I missed some (years of) breaking changes? Is there a migration script?

Slightly inaccurate text measurement truncates relational view table names

Any relational view table name header that is longer than any of the column text is likely to appear with ellipsis after it. This occurs because the header is anchored to the table shape edges, and the table shape width is determined with a MeasureText call. These cause text measurements to be somewhat inaccurate (in both directions). If the number ends up slightly too small (even 1 pixel) the text will truncate.

Instead of trying to redo text measurement, we can just change the drawing properties of the text so that it cannot clip, wrap, or show an ellipsis. None of these effects should happen anyway because we're sizing the horizontal table width to fully display the contents. The small number of pixels of inaccuracy are not visible to the user, but are enough to trigger text truncation, so we just let them slightly overflow the (non-visible) boundary rectangle into existing padding.

You can test this with a single-fact type model and a relational view (Sport(.Name) is played by Player(.Name) with a spanning uniqueness on the fact type). It can really be done with any table though by editing the table name.

Deontic exclusion intersections incorrectly reported as contradictions

If a deontic exclusion constraint intersects an alethic or deontic mandatory constraint or an alethic or deontic subset constraint then there is no contradiction error.

Similarly, an alethic exclusion is not a contradiction of a deontic role.

Basically, ignore all deontic constraint when validation exclusion/simple mandatory and exclusion/subset intersections. The attached model should not have any errors.

Note that a deontic exclusion where all roles are simple mandatory on the same role player means that the deontic constraint will always be violated in a populated model. We do not try to handle this case here.

DeonticExclusionsImproperlyContradictory.zip

Unhandled exception when creating a new group

Using the capability to create a new group by selecting a type in an ORM diagram, right clicking, selecting Groups --> Include in --> New Group, an exception is generated in a MS .NET Framework window that popup with the error message "Unhandeld exception has occurred in a component in your application...

capture

Visualization of an objectified fact type

The way NORMA visualizes objectified fact types in some diagrams is too cumbersome and need to be improved.
These diagrams are those where there is no need to show the object types that are hosted by the roles of the related fact types.
In these cases, a simple object type representation would be already much better.
For me, a simple way forward would be to add a property to the object type "DisplayObjectifiedFactType" with the possible value "AsObjectType only" or "IncludingFactType".
Thanks for considering this enhancement and hopefully implement it...
capture

Wrong role instance shown for implied population of identifying fact type

Facts are implicitly populated if the fact type is part of the preferred identifier for an entity type. If the preferred identifier has a single role then we just show the instance name in both roles. However, this does not work for a compound identifier. In this case, the name of the role instance corresponding to the role needs to be used for the corresponding role.

The "New file" dialog does not create a new file

The "New file" dialog does not create a new .orm file.

Version information:

Microsoft Visual Studio Community 2022
Version 17.8.4
VisualStudio.17.Release/17.8.4+34408.163
Microsoft .NET Framework
Version 4.8.09032

ORM Solutions Natural ORM Architect   1.0.3049.4-g17343d19 (2023-03)

Steps:

  1. Open the new file dialog
    image
  2. Select Object-Role Modelling File and click on open
    image
  3. The dialog disappears, no new file is created.

Expected result:
A new .orm file is created in step 3

.ORM content XML schema/DTD validation

Dear Matt,

Coming back on an issue I asked you some days ago, I would like to check the validity of an .ORM (i.e. .XML) file regarding its compliance with the NORMA XSD schemas' definitions.
I use Altova XMLSpy for that purpose but the .ORM file does not include the links to the NORMA XSD/DTD. It only includes the namespace definitions.
Would you be able to provide me with the XML tag definition that I need to add to the ORM files to enable such validation.

Thanks
Serge

image

Problem when verbalizing some ring constraints

Dear Matt,

Some months ago, I queried you about a problem with verbalizing some ring constraints. We also were not sure whether it was due to the ORM inadequacy of the related model that would in fact if it is the case not be detected by NORMA.
Please, can you assess...

Thanks

Serge
refinement_ring

Improve mandatory constraint intersection errors on exclusion and equality constraints across subtypes

A single-column exclusion constraint with a mandatory role on a subtype should not be a model error. A mandatory constraint constraint only contradicts the exclusion constraint when one or more constraint roles in the exclusion constraint are of the same type or a subtype of the mandatory role.

Similarly, a single-column equality constraint with all roles mandatory should not be a validation error if the roles are split over subtypes. Limit this error to cases where the same role player is constraint by all roles in the equality constraint. Also, limit this implication inference (and subsequent error) to alethic intersections only.

How to use the ORM Fact Editor?

I have used the NORMA tooling a long time ago, and am glad to see that it is still around and being maintained. ๐Ÿ‘ I thought one should be able to type facts into the ORM Fact Editor, like "Employee reports to Manager". However after creating a new ORM diagram, the ORM Fact Editor doesn't appear to be doing anything and I cannot type in the window. Is there a step I'm missing, or using the tooling incorrectly? This is on Visual Studio Community 2022.

image

Blank diagrams on reload in VS2019 with current Windows 10

The Dsl framework is not successfully parenting the DiagramClientView window (where the ORM shapes are drawn) inside the VSDiagramView window (the viewport that owns the scrollbars for the client view) on a reload.

The result is that any reload (either from file save, or simply from adding an extension) successfully loads the file but does not show any diagrams (except in diagram spy, which is fine).

This is caused by a change in Windows 10 1703 and later that changes the behavior of 'Dpi awareness'. After this change the SetParent windows API will fail if you try to associated two windows with different 'awareness' levels. In this case, the DiagramClientView (child window) is created before the parent window and gets a different awareness setting, which then cannot be attached to the parent handle when it is created.

The hack fix is to recreate the handle for the diagram view before we do too much with it. This will have to do until Microsoft provides a real fix, which will involve creating the child window after the parent windows is attached and knows its final Dpi state.

Labels and buttons clipped on zoomed screen

The ORM Generator Settings dialog has several issues on a zoomed screen.

  • The buttons at the bottom (Save Changes, Cancel) are squished and not big enough to hold the text, which then wraps making it even harder to read.
  • The label and file name display area at the top overlap.

There is a similar issue in the ORM Context Window, where the Generations spinner overlays the Generations label.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.