martes, 25 de octubre de 2011

Pluggable UC

http://alistair.cockburn.us/Pluggable+use+cases

UC wins BPMN

Parece que los CU se entienden más que BPMN

http://www.cs.put.poznan.pl/lolek/homepage/Research_files/06-BIS-Nawrocki,%20Ne%CC%A8dza,%20Ochodek,%20Olek%20-%20ver1.pdf

y gustan más
http://kettenisblogs.blogspot.com/2007/10/demystifying-business-process-modeling.html

Metamorphosis of actors - Writting Use Cases

De http://www.cs.put.poznan.pl/lolek/homepage/Research_files/06-BIS-Nawrocki,%20Nędza,%20Ochodek,%20Olek%20-%20ver1.pdf


UC-3: Earning a bachelor degree
Main actors: University
{Candidate alias Admitted alias Student alias Graduated alias
Free Student alias Deleted}
Supporting actors: Senate, Rector
Main scenario
1. Senate defines the rules concerning admission.
2. Rector appoints members of the Enrolment Committee.
3. University organizes the Open Doors action.
4. Candidate makes the application.
5. Enrolment Committee announces lists of admitted. Candidate becomes
Admitted
6. Admitted starts up his study. Admitted becomes a Student.
7. Student successfully passes through semesters from 1 to 7.
8. Student takes a diploma exam. Student becomes Graduated.
9. Graduated receives a diploma.
Extensions
5a. Candidate is not admitted due to lack of free places.
5a1. Candidate is studying as a Free Student. Go to step 8.

Figure 7. A use case with actor metamorphosis






Flujo paralelos con CU

Tan sencillo como:

“Steps 5-13 are optional and can happen in any order”

Releer BPMN

Estoy volviendo a leer cosas de BPMN. Todavía me gustan más los CUs.

Ejemplo
http://bizagi.com/docs/BPMNbyExampleSPA.pdf
Especificación y más
http://www.bpmn.org/



sábado, 22 de octubre de 2011

¿Cómo medir la expresividad de nuestros DSL?


How do you measure the expressive power of your DSL?



Antonio Vallecillo •  In my experience the Expressiveness of a language is hard to measure in an objective way. Using a similar approach to ISO-9126, which defines quality characteristics and sub-characteristics, I think Expressiveness is a characteristic that can be decomposed in terms of 4 sub-characteristics:

  1.  Conciseness
  2. Precision (i.e., lack of vagueness :-)
  3.  Completeness and 
  4. Suitability



Other important characteristics of DSLs are: 

  • Usability (Learnability, Understandability, Operability, Attractiveness), 
  • Maintainability (Analysability, Changeability, Stability, Testability) 
  • and Reliability (Consistency, Maturity). 


Although such classification is nice, it is useless unless we have a set of objective measures that can help evaluate them - for particular languages and in particular domains, of course! 


There is some *intuition* that for instance the number of metaclasses and relationships between them (i.e., the size) of the metamodel that defines the abstract syntax of the language can positively impact the Completeness and negatively impact the Learnability, Understandability, or Maintainablity of a language. Or that the use of the adequate symbols in the concrete syntax may favour the attractiveness of the language, although it is not clear whether visual or textual concrete syntaxes favour operability or not. In any case, this issue opens up an interesting research field related the quality of DSLs. 


Coming back to expressiveness, given that we do not have such measures yet, it could be (needs to be) evaluated by


experiments that show some evidences about how the language positively or negatively impacts its four related subcharacteristics


in the particular domain your DSL is targeted to. Thus, probably the easiest way is to prepare a set of experiments that test how users perform using the two (or more) competing languages when they have to express something of the domain under study. I believe there have been many different experiments defined for deciding whether textual languages are better than visual ones for programming (for "end-user development" [http://en.wikipedia.org/wiki/End-user_development], and specially when the users are kids). But for DSLs I am not sure I have seen anything like that. The problem for DSLs is that it is VERY dependent on the domain... 
My two cents, 
Antonio


martes, 18 de octubre de 2011

Cockburn


While workflow enactment is often configured through a work-
flow description language based on graphs or rules, an alternative approach takes written Use-Cases to describe a workflow. In this paper
we give evidence for the expressive richness of this approach. We show
that written Use-Cases can describe each of the 43 workflow patterns
identified by the Workflow Patterns Initiative.


http://sydney.edu.au/engineering/it/research/tr/tr611.pdf

Web sobre BA.

Web muy interesante sobre analistas de negocio:

http://www.batimes.com/articles/

sábado, 1 de octubre de 2011

Conferencia sobre SPL - Sept/Oct 2011

http://www.bits-chips.nl/events/eventshpl/programme.html

DSL


At a DSL workshop I organised in June (http://wiki.portal.chalmers.se/cse/pmwiki.php/GSDP/DSL4EE) Fritz Henglein presented his group's work on DSLs for Enterprise Resource Planning: http://www.cse.chalmers.se/~patrikj/DSL4EE2011/DSL4EE_Henglein.pdf
One of the resulting publications is "POETS: Process-Oriented Event-driven Transaction Systems"
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.163.2167

So, if this counts as a partial answer to your question, then Yes, it is worth it, but No, UML is not the path I would recommend.

Also Jeremy Gibbons' talk at the same workshop is about a successful example of implementing an "information system" - in that case in the medical sector (CancerGrid project): http://www.cse.chalmers.se/~patrikj/DSL4EE2011/DSL4EE_Gibbons_dsl4ir.pdf

/Patrik