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 - Chris Brandt

Pages: [1]
1
Suggestions and Requests / Re: Code Generation
« on: July 25, 2005, 09:20:25 am »
I assume by Parameter, you mean Attribute (in UML lingo). If that's the case, the %attNotes% field substitution macro is what outputs the notes.

Are you modifying a language template? Or just having trouble with simple forward engineering?

Chris.

2
Suggestions and Requests / Re: Model Navigation From CTF
« on: July 15, 2005, 06:38:25 pm »
Quote
Also, why should I be ahead... You're working on, potentially, similar lines.  The stuff I'm doing is, essentially, from first principles...

I'm just cutting my teeth on this stuff. Trying to get a sense of how I'm best to proceed. And unfortunately, this is only a side-bar to what I should be working on.

Quote
I don't model systems directly.  I create models of the world and then implement them in systems. ... Does that explain things better?

Yes. And I'm inspired! I can see that [glb]holy grail[/glb], can't smell it yet, but I see it.  Being able to generate multiple views (code, narrative business rules...) from one model would be a huge boon for us.

Quote
So the approach I took was:  What do I need from the model?
Next I created a conceptual model of the world I needed to work in - the model.  I created this model in XMLSpy.  The XSD was the form (and the output), but I was modelling!  In my model, A Model, consists of Namespaces with Elements (Sparxians are you listening?  Everything is an element!).  The Elements are subtyped into Classifiers (Shapes), Relations (Connectors), Containers (Packages, Diagrams etc).  From there into the particular etc...  


As I mentioned earlier I've started down this path with the intention of code generating a Data Access Layer.  Assume that the DAL exists, thus it can be modelled. If I understand your methodology correctly, you would look at that model as the real world, and decide what you need to get from it. Then you would model the information you need to get from it, in an intermediate language. Finally build the infrastructure to emit and consume documents. The emitter possibly being a CTF template, the consumer possibly being a CodeSmith template. Sound about right?

Thanks.
Chris.

3
Suggestions and Requests / Re: Model Navigation From CTF
« on: July 15, 2005, 10:19:20 am »
Wow, you're way ahead of us and by the looks of it most of the industry.

I'm curious about your definition of Conceptual Modelling. Can you give me an example of a conceptual model? Can you generate code from a conceptual model (I suppose it depends upon the model)?

I'm also curious about the process you used to define your XSDs. My instinct would have me working from artifact back to model. So take a sample of the artifact that I want to generate, create a first cut template for it. Then use the template parameters to start the definition of the intermediate language. Then try to emit the intermediate language from the model.

How difficult was it to generate the intermediate XML from the model through the CTF? Do you do it directly in the templates or do you call an external component?

I'll understand if you can't answer some of these questions due to IP concerns.

Chris.

4
Suggestions and Requests / Re: Model Navigation From CTF
« on: July 14, 2005, 09:05:23 am »
That's the direction I've started to head. It appears to me that there are three choices for integration between EA and CodeSmith:

1.  As you have done, emit an Xml representation of the model and generate code from that. How did you create the XML schema? Is it domain specific? I'd be interested in hearing more about that.

2. Setup CodeSmith templates and functions to navigate the EA model database. I'm envisioning a top level template with a package name as a property. Key in the package name and hit Run. Alas, CodeSmith seems to only work with SQL databases and we are using an EAP file (Access dB). So I'm not sure if I'll get to try this route.

3. Create a set of CodeSmith templates with properties constrained to model elements accessible to the CTF. Then write a CodeSmith API interface that will be called from an EA file template. I'm kind of working in this direction right now, but I'm realizing that it's probably the weakest of the choices.

My chief concern is keeping the development process model driven. Most code generation tools, especially those geared toward data access layers seem to work on the belief that we should be generating code from an existing database implementation. I think that's bass ackwards. If I can create a database model from which my database entities are created, then surely I can create a model of the associated data access objects; probably automatically. Then generate the whole thing at once (tables, stored procedures, C# classes...).

Anyway, I'd love to hear more about your experiences with CodeSmith and model integration. There doesn't seem to be much chatter about code generation in the EA forums.  

5
Suggestions and Requests / Model Navigation From CTF
« on: July 13, 2005, 03:31:27 pm »
I'm doing a bunch of code generation work right now. I'm finding that the CTF is a limited in terms of scalability and model navigation.

My main suggestion is to add the ability to work with a linked element's properties (attributes, and tagged values mainly). Here is my scenario:

I'm code generating a data access layer in which each table has a Value Object and a Data Access Object. The value objects are easy to generate with the CTF. The data access objects are more challenging because they need to be able to set property values in their associated value object.  So by model navigation, I mean the ability to access the operations and attributes (and their tagged values) from a related class.

I get the distinct feeling that I'm pushing the limits of what the CTF was designed for.  I've been looking at CodeSmith and I really like that approach, except that it requires a separate tool. I would rather model and generate from one tool.

6
General Board / Re: Subversion - Issue with EA
« on: September 05, 2007, 08:50:32 am »
I've had this issue a couple of times. The solution is to simply Update the folders that EA is complaining about.

No idea why it's trying to lock these folders.

7
General Board / Transformations with Component Elements
« on: August 24, 2006, 12:37:12 pm »
Is it possible to create a transformation that works with Component and Exposed Interface elements rather than Class elements and connectors? The documentation seems to be too general to address this basic question.

I have a component schematic that I would like to visualize in EA. The elements in the schematic are components with named interfaces, thus it is more natural to use a component view rather than a class view.

Thanks.
Chris

8
General Board / Profile Constraints
« on: July 13, 2005, 03:03:04 pm »
I'm getting into the UML Profile stuff. I have a question around constraints. Do they have any function beyond model documentation? Meaning, is the constraint evaluated at some point when the profile element is used?

9
General Board / C# Property Read/Write
« on: November 26, 2004, 06:26:14 pm »
Changes to the property read / write flags (and scope settings) do not seem to be persisted when I hit Ok. Has anyone else found this? Am I missing something, or is this a bug?

10
General Board / Attribute length / precision
« on: October 29, 2004, 10:26:58 am »
I am attempting to create a modelling language for the description of flat files. I've started by createing a set of stereotypes to describe the different types of elements (files, records and fields), however I cannot find a way to express one key piece of information: the length or precision of a field.

A flat file record contains a set of fields. Each field has a data type (usually alpha/numeric or numeric) and a length or precision of the field or number.

Before attempting to create my own set of stereotypes I was modelling this by using the table stereotype since this allowed me to describe the length of each field. However my ultimate goal is to create a Code Generation template to output these models to a flat file schema usable by BizTalk. Besides the simple fact that the table/column semantics don't quite jive I don't think it is good practice to overload the code generation of those types (if it's even possible). I would also like to be able to constrain the datatypes used to describe fields, which I don't think is possible if I stick to using tables and columns.

What I would like to know if there is a way to record and display the length of an attribute in a regular class, the way the length of a column is displayed in a table type class. Alternatively, is there a way to create my own type of class similar to the way a table is defined. Tables seem to be more than just a stereotype. They seem to have some underlaying code and tables within EA.

Thanks
Chris

11
General Board / Re: Documentation templates
« on: January 26, 2004, 03:56:02 pm »
I believe the default template is setup on the assumption that the documentation will be linked to a master document. The master document being a Word document with a company specific format.

However, I have had a really hard time trying to figure out how to modify the EA RTF template. I see the RTF templates but there is no documentation what can and cannot be changed. Or on the EA specific tags. And the RTF tags are a challenge to understand as well.

Are there plans to clean this interface up? Does anyone have a list of the EA tags so that I know what can be changed?

any help would be appreciated.

12
General Board / J2EE Support
« on: January 21, 2004, 03:23:18 pm »
Am I able to model and create code for EJBs using EA? I'm new to J2EE, any other issues I should be considering with respect to modelling tools?

13
General Board / XMI Exchange with PowerDesigner
« on: January 21, 2004, 10:20:51 am »
I need to be able to exchange a model with a Sybase PowerDesigner 9 user.  When PowerDesigner imports the XMI it creates all of the objects correctly (use-cases, classes...) but they are only named. None of the detail is added to them (notes, requirements, scenarios...).

Is this a DTD problem? I've tried all of the settings in EA for using different DTDs. Can EA use a DTD from PowerDesigner?

Anyone else have experience with this?

Thanks
Chris

14
Automation Interface, Add-Ins and Tools / XSD Generation Problems
« on: January 06, 2005, 10:10:58 am »
I'm working to get familiar with the XSD generator. I've created a fairly simple schema package with four complex types and five simple types.

First problem is that I've set a targetNamespace and Prefix for the package, but I can't get this prefix to be used when referring to simpleType that is an enumeration (ie, not stereotyped as an XSDSimpleType). The example given in the documentation gets around this by not specifying a targetNamespace.

Second problem is that the generator seems to always put an empty import element at the start of the shema (<xs:import/>). I can't figure out how to get rid of this, and my XMLSpy complains about it.

A couple of other notes:

It would be nice if the generator produced an error if the prefix chosen interferes with another, like xs, it took me a couple of hours to figure out that I had stupidly chosen the same prefix as the generator uses for the schema definition.

If you set a targetNamespace but no prefix, local element types are prefixed with the full namespace. I thought this was ok, but XMLSpy is complains that it's an undefined type. I havn't investigated further because the problem goes away when a prefix is used.

Pages: [1]