Book a Demo

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - tlw1999

Pages: [1]
1
General Board / SoaML example model
« on: January 19, 2013, 09:26:20 am »
I'm new to EA and even newer to SoaML, but want to understand how to create a SoaML services model.  I've tried to build up a model using the overview and EA help but with no success.  Does anyone have step by step guidance on which diagrams and objects need created and in what order or better yet does anyone have a SoaML model built in a project file that I can use to understand how the model is built up.  I can't seem to do something simple like: Create and use an object instance of <<participant>> stereotype with name X of class type Y in a collaboration diagram of SOaML stereotype <servicesArchitecture>>. At least not and get the result to retain the stereotype and look as it does in all the guidance/white papers.  The guidance implies that one can start with a services architeture diagram and then flesh out the detail.  There must be a sequence to creating the model that I suspect is not immediately obvious.  Any help will do.

2
Bugs and Issues / Re: XSD generation fails with enumerations
« on: March 24, 2013, 06:28:53 am »
Thanks for the advice.  I didn't realise these options existed.

However, completely disabling all checks does not prevent the error on XML Schema generation.  I get the same behavior with all checks turned off.   However, it's clearer what the problem is:

MVR050002 - error (<anonymous> (Generalization)): Generalization is not legal for ValidUser --> YesOrNo      

The problem is this is a widely used Schema technique:  Simpletype of enumerations --> Top Level Element --> Element Ref

Any additional advice?

3
Bugs and Issues / XSD generation fails with enumerations
« on: March 23, 2013, 06:56:35 am »
I've asked for priority support on this but have not received any response from Sparx yet.  Anyone have any ideas?

I’ve been struggling with a problem I don’t seem to be able to resolve.  Here’s the behavior.  I can import a XSD file that is valid (It validates in other tools) and which reports no errors on import (see xml below).   However, when I generate the XSD from exactly the same package that results from the import, EA hits one of the top element definitions and errors, reporting this message --> [Checking Class: ValidUser ... Invalid connections found, these will be ignored].

The problem occurs when the XSD defines a simpleType with enumerations (shown below). It imports the relationship between the XSDsimpleType (in this case YesOrNo) and the XSDtopLevelElement as a generalisation.   EA doesn’t seem to be able to handle an association of an enumeration type with a top level element.  Can you advise if this a bug, if there is a work around that will allow this to work, or any other alternative?  This seems like it should be basic XML, Schema capability but maybe its the way it needs to be modeled?  I could really use this ASAP. I spent quite a bit of time trying to determine the problem.


<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://xyz.com/RD/BaseTypes/BaseType/v1" xmlns="http://xyz.com/RD/BaseTypes/BaseType/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0">
     <xsd:simpleType name="Text-1">
           <xsd:restriction base="xsd:string">
                <xsd:maxLength value="1"/>
           </xsd:restriction>
     </xsd:simpleType>
     <xsd:simpleType name="Text-3">
           <xsd:restriction base="xsd:string">
                <xsd:maxLength value="3"/>
           </xsd:restriction>
     </xsd:simpleType>
     <xsd:simpleType name="Text-4">
           <xsd:restriction base="xsd:string">
                <xsd:maxLength value="4"/>
           </xsd:restriction>
     </xsd:simpleType>
     <xsd:simpleType name="Text-5">
           <xsd:restriction base="xsd:string">
                <xsd:maxLength value="5"/>
           </xsd:restriction>
     </xsd:simpleType>
     <xsd:simpleType name="Text-6">
           <xsd:restriction base="xsd:string">
                <xsd:maxLength value="6"/>
           </xsd:restriction>
     </xsd:simpleType>
     <xsd:simpleType name="Text-8">
           <xsd:restriction base="xsd:string">
                <xsd:maxLength value="8"/>
           </xsd:restriction>
     </xsd:simpleType>
     <xsd:simpleType name="YesOrNo">
           <xsd:restriction base="xsd:string">
                <xsd:maxLength value="3"/>
                <xsd:enumeration value="Yes"/>
                <xsd:enumeration value="No"/>
           </xsd:restriction>
     </xsd:simpleType>
</xsd:schema>


<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://xyz.com/RD/Services/Sample/v1" xmlns:base="http://xyz.com/RD/BaseTypes/BaseType/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://xyz.com/RD/Services/Sample/v1" version="1.0">
     <xsd:import namespace="http://xyz.com/RD/BaseTypes/BaseType/v1" schemaLocation="BaseTypes.xsd"/>
     <xsd:element name="ValidUser" type="base:YesOrNo"/>
     <xsd:element name="ActiveUser" type="base:YesOrNo"/>
     <xsd:element name="UserName" type="base:Text-8"/>
     <xsd:complexType name="SampleType">
           <xsd:sequence>
                <xsd:element ref="ValidUser"/>
                <xsd:element ref="ActiveUser"/>
                <xsd:element ref="UserName"/>
           </xsd:sequence>
     </xsd:complexType>
</xsd:schema>

What then gets generated is:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://xyz.com/RD/Services/Sample/v1" xmlns:base="http://xyz.com/RD/BaseTypes/BaseType/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://xyz.com/RD/Services/Sample/v1" version="1.0">
     <xsd:import namespace="http://xyz.com/RD/BaseTypes/BaseType/v1" schemaLocation="BaseTypes.xsd"/>
     <xsd:element name="ValidUser"/>
     <xsd:element name="ActiveUser"/>
     <xsd:element name="UserName" type="base:Text-8"/>
     <xsd:complexType name="SampleType">
           <xsd:sequence>
                <xsd:element ref="ValidUser" minOccurs="1" maxOccurs="1"/>
                <xsd:element ref="ActiveUser" minOccurs="1" maxOccurs="1"/>
                <xsd:element ref="UserName" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
     </xsd:complexType>
</xsd:schema>

4
Anyone know of any issues with using and mixing use of the built in XSD/WSDL toolbox, transformation, and generation tools combined with importing the Sparx provided XSD UML Profile?  The Profile seems to be required to use the scripting engine to create packages and elements in EA of the stereotypes included (XSDschema, XSDcomplexType, ...) through the API (to get all the proper tags and such).  I'ld like to use both to leverage scripting for automating creation and population of XSD and WSDL stereotyped classes, packages, ... and the built in tools to perform generation and transformation and drag and drop from the toolboxes.  But I also want to be sure I'm not creating chaos in the EA repository.  

5
Automation Interface, Add-Ins and Tools / Create new MDG stereotype
« on: April 30, 2013, 07:24:57 am »
I'ld like to create a new stereotype called "Benefit" which behaves similar to the existing "Risk" type in EA.  I know I can create a new MDG with UML profile, toolbox, and diagram.  Does anyone know how to change the connector menu and the default name, so rather than see "Risk" on the connector menu the user is presented with Benefit and rather than the default name of "Risk1" ... "RiskN" the name root is "Benefit1" ... "BenefitN"?

Pages: [1]