Executable UML

Executable UML (xtUML or xUML) is both a software development method and a highly abstract software language. It was described for the first time in 2002 in the book "Executable UML: A Foundation for Model-Driven Architecture".[1] The language "combines a subset of the UML (Unified Modeling Language) graphical notation with executable semantics and timing rules."[2] The Executable UML method is the successor to the Shlaer–Mellor method.[3]

Executable UML models "can be run, tested, debugged, and measured for performance.",[4] and can be compiled into a less abstract programming language to target a specific implementation.[5] Executable UML supports model-driven architecture (MDA) through specification of platform-independent models, and the compilation of the platform-independent models into platform-specific models.[6][7]

Overview

Executable UML is a higher level of abstraction than third-generation programming languages. This allows developers to develop at the level of abstraction of the application.[8] The Executable UML aims for separation of concerns. This is supposed to increase ease of reuse and to lower the cost of software development. This also enables Executable UML domains to be cross-platform. That means it is not tied to any specific programming language, platform or technology.

Executable UML also allows for translation of platform-independent models (PIM) into platform-specific models (PSM). The Executable UML method enables valuing the model as intellectual property, since the model is a fully executable solution for the problem space.

Actions are specified in action language. This means that the automatic generation of implementation code from Executable UML models can be output in an optimized form.

Executable UML is intended to serve as executable code as well as documentation. The models are a graphical, executable specification of the problem space that is compiled into a target implementation. They are also intended to be human-readable.

Executable UML building blocks

A system is composed of multiple subject matters, known as domains in Executable UML terms. Executable UML is used to model a domain at the level of abstraction of its subject matter independent of implementation concerns. The resulting domain model is represented by the following elements:

  • The domain chart provides a view of the domain being modeled, and the dependencies it has on other domains.
  • The class diagram defines the classes and class associations for the domain.
  • The statechart diagram defines the states, events, and state transitions for a class or class instance.
  • The action language defines the actions or operations that perform processing on model elements.

Domain chart

Executable UML requires identification of the domains (also known as: aspects[9] or concerns) of the system. "Each domain is an autonomous world inhabited by conceptual entities"[10] Each domain can be modeled independent of the other domains in the system, enabling a separation of concerns. As an example, domains for an automated teller system may include the following:

The separation of concerns enables each domain to be developed and verified independently of the other domains in the system by the respective domain experts.

The connections between domains are called bridges. "A bridge is a layering dependency between domains".[11] This means that the domains can place requirements upon other domains. It is recommended that bridges are agreed upon by the different domain experts.

A domain can be marked as realized to indicate that the domain exists and does not need to be modeled. For example, a data access domain that uses a MySQL database would be marked as realized.

Class diagram

Conceptual entities, such as tangible things, roles, incidents, interactions, and specifications, specific to the domain being modeled are abstracted into classes. Classes can have attributes and operations.

The relationships between these classes will be indicated with associations and generalizations. An association may require further abstraction as an Association Class.

Constraints on the class diagram can be written in both Action Language and Object Constraint Language (OCL).

The Executable UML method limits the UML elements that can be used in an Executable UML class diagram.

An Executable UML class diagram is meant to expose information about the domain. Too much complexity in the statechart diagrams is a good indicator that the class diagram should be reworked.

Statechart diagram

Classes have lifecycles which are modeled in Executable UML with a statechart diagram. The statechart diagram defines the states, transitions, events, and procedures that define a class' behaviour.

Each state has only one procedure that is executed upon entry into that state. A procedure is composed of actions, which are specified in an action language.

Action language

The class and state models by themselves can only provide a static view of the domain. In order to have an executable model, there must be a way to create class instances, establish associations, perform operations on attributes, call state events, etc. In Executable UML, this is done using an action language that conforms to the UML Action Semantics.

Action Semantics was added to the UML specification in 2001. The Action Semantics RFP was based on previous work in action languages supporting the Shlaer–Mellor method. Existing action languages are Object Action Language (OAL), Shlaer–Mellor Action Language (SMALL), Action Specification Language (ASL), Model Action Specification Language (MASL),[12] That Action Language (TALL), Starr's Concise Relational Action Language (SCRALL), Platform-independent Action Language (PAL) and PathMATE Action Language (PAL). SCRALL is the only one that is a graphical action language.

Model testing and execution

Once a domain is modeled, it can be tested independent of the target implementation by executing the model. Each domain can be verified and validated independent of any other domain. This allows errors detected to be associated with the domain and independent of other system concerns.

Verification will involve such things as human review of the models, performed by experts in the relevant domain, and automated checking of the Executable UML semantics. i.e., checking that the Executable UML model complies with the Executable UML metamodel.

Validation will typically involve use of an Executable UML tool to execute the model. The execution can occur either before or after model compilation.

Model compilation

In order to support execution on the target implementation, the domain model must be translated into a less abstract form. This translation process is called model compilation. Most model compilers target a known programming language, because this allows reuse of existing compiler technologies.

Optimizing the domain models for target implementation reasons will reduce the level of abstraction, adversely affect domain independence, and increase the cost of reuse. In executable UML, optimizations are done by the model compiler either automatically or through marking. Marking allows specific model elements to be targeted for specific lower-level implementations, and allows for broader architectural decisions, such as specifying that collections of objects should be implemented as a doubly linked list.

In MDA terms, the model compiler creates the PSM. The separation between the PIM and PSM in Executable UML disables the ability to round-trip engineer the model, and deters modifications to the PSM.[13]

Executable UML key aspects

Executable UML defines execution semantics for a subset of the UML. Key aspects of the Executable UML subset include the following:

  • No support for implementation specific constructs, like aggregation and composition.[14]
  • Generalizations are always notated as {complete, disjoint}.
  • Associations between classes are always named, have verb phrases on both ends specifying the roles, and have multiplicity specified on both ends.
  • Multiplicities on association ends are restricted to 0..1 (zero to one), * (zero to many), 1 (exactly one), or 1..* (one to many).
  • Data types are restricted to the following core data types: boolean, string, integer, real, date, timestamp, and arbitrary_id, or one of the following domain-specific data types: numeric, string, enumerated, and composite. Domain-specific numeric and string data types can represent subsets of the core data types. The domain-specific composite data type is to always be treated as a single unit within the domain. e.g., a MailingAddress composite data type could be declared, but city information couldn't be extracted from it.
  • Constraints on the Executable UML models can either be represented as Object Constraint Language (OCL) or action language.

fUML and ALF

The Object Management Group has standardized the Foundational UML (fUML), which was strongly influenced by Executable UML.

Action Language for Foundational UML (ALF),[15] is a standard action language specification by the Object Management Group.

See also

Publications

  • Gerry Boyd (2003) "Executable UML: Diagrams for the Future." published at devx.com, February 5, 2003.
  • Shayne Flint, and Clive Boughton (2003) "Executable/translatable UML and Systems Engineering." Practical Approaches for Complex Systems (SETE 2003).
  • Shayne Flint, Henry Gardner, and Clive Boughton (2004). "Executable/Translatable UML in computing education." Proceedings of the Sixth Australasian Conference on Computing Education-Volume 30. Australian Computer Society, Inc.
  • H.S. Lahman (2011). Model-Based Development: Applications. Addison-Wesley Professional. ISBN 0-321-77407-8.
  • Stephen J. Mellor & Marc Balcer (2002). Executable UML: A Foundation for Model-Driven Architecture. Addison Wesley. ISBN 0-201-74804-5. Chapter 1 online
  • Executable and Translatable UML
  • Stephen J. Mellor (2004), Introduction to Executable and Translatable UML
  • Stephen J. Mellor (2004), A Framework for Aspect-Oriented Modelling
  • Chris Raistrick; et al. (2004). Model Driven Architecture with Executable UML. Cambridge University Press. ISBN 0-521-53771-1.
  • Leon Starr (2002). Executable UML:How to Build Class Models. Prentice-Hall. ISBN 0-13-067479-6.

References

  1. ^ Mellor and Balcer 2002
  2. ^ Starr 2002, p. 3.
  3. ^ G. O'Keefe (2006) "Dynamic Logic Semantics for UML Consistency" in: Model-Driven Architecture - Foundations and Applications: Second European Conference, ECMDA-FA 2006, Bilbao, Spain, July 10–13, 2006, Proceedings. Arend Rensink eds. p. 124
  4. ^ Starr 2002, p. 3.
  5. ^ Mellor and Balcer 2002, section 1.4.
  6. ^ Mellor and Balcer 2002, section 1.5.
  7. ^ Raistrick et al. 2004, sections 2.3.3 and 2.3.4.
  8. ^ Mellor and Balcer 2002, section 1.1.
  9. ^ Mellor and Balcer 2002, section 3.4.
  10. ^ Mellor and Balcer 2002, p. 14.
  11. ^ Mellor and Balcer 2002, p. 35.
  12. ^ "MASL is a Shlaer-Mellor dialect action language and structural modeling language.: xtuml/masl". xtUML. 27 December 2018. Retrieved 26 October 2019.
  13. ^ Mellor and Balcer 2002, chapter 9.
  14. ^ Mellor and Balcer 2002, p. xxx.
  15. ^ "Action Language for Foundational UML™ (ALF™)". www.omg.org. Retrieved 2016-12-21.

Read other articles:

Coolamon Shire Local Government Area van Australië Locatie van Coolamon Shire Council in Nieuw-Zuid-Wales Situering Staat Nieuw-Zuid-Wales Streek Riverina Hoofdplaats Coolamon (55 Cowabbie Street)[1] Coördinaten 34°50'ZB, 147°12'OL Algemene informatie Oppervlakte 2.433 km² Inwoners 4.127 Politiek Burgemeester Robert Menzies Overig Website http://www.coolamon.nsw.gov.au Portaal    Australië Coolamon Shire Council is een Local Government Area (LGA) in de Australische dee...

 

Огастес Чарльз НьюменAugustus Newman Народження 19 серпня 1904(1904-08-19) Чігвелл, ЕссексСмерть 26 квітня 1972(1972-04-26) (67 років) Сендвіч, КентКраїна  Велика БританіяПриналежність Британська арміяРід військ піхотаОсвіта Bancrofts SchooldРоки служби 1925–1959Звання підполковникФормування Ессекськ

 

1996 single by The Blue NileHappinessSingle by The Blue Nilefrom the album Peace at Last Released1996Length4:39 (album version)4:28 (single version)LabelWarnerSongwriter(s)Paul BuchananProducer(s)The Blue NileThe Blue Nile singles chronology Saturday Night (1991) Happiness (1996) Sentimental Man (1996) Happiness is a song by Scottish band The Blue Nile, which was released in 1996 as the lead single from their third studio album Peace at Last. It was written by Paul Buchanan and produced by th...

Pour les articles homonymes, voir C-17. Eix del Congost La route C17 à Figaró-Montmany. Caractéristiques Longueur 96 km De Barcelone Intersections  C-33   AP-7   C-25  À Ripoll Réseau Autoroute d'Espagne Territoires traversés Villes principales Granollers, Vic / Vich modifier  L'axe autonome C-17 relie Barcelone à Ripoll en alternant voie rapide et route ordinaire sur 96 km. Histoire L'ensemble de l'itinéraire appartenait à la N-152 jusqu'à la réf...

 

City in Chūbu, JapanAnjō 安城市CityUpper stage: Den ParkLower stage: Skyline of Mikawaanjō FlagSealLocation of Anjō within Aichi PrefectureAnjō Coordinates: 34°57′31.4″N 137°4′49.2″E / 34.958722°N 137.080333°E / 34.958722; 137.080333CountryJapanRegionChūbu (Tōkai)PrefectureAichiGovernment • MayorGaku KamiyaArea • Total86.05 km2 (33.22 sq mi)Elevation10 m (30 ft)Population (October 1, 2019)...

 

Annual inter-county hurling competition All-Ireland Senior Hurling ChampionshipIrishCraobh Shinsir Iomána na hÉireannCodeHurlingFounded1887; 136 years ago (1887)Region Ireland (GAA)TrophyLiam MacCarthy CupNo. of teams17Title holders Limerick (12th title)Most titles Kilkenny (36 titles)SponsorsBord Gáis EnergyCentraEirTV partner(s)RTÉBBC Northern IrelandMottoBe there. All the wayOfficial websitegaa.ie/hurling/all-ireland The GAA Hurling All-Ireland Senior Championship, kn...

此條目没有列出任何参考或来源。 (2019年9月18日)維基百科所有的內容都應該可供查證。请协助補充可靠来源以改善这篇条目。无法查证的內容可能會因為異議提出而被移除。 火紅燃燒的太陽NEWS的单曲发行日期2004年8月11日录制时间2004年类型J-POP唱片公司傑尼斯娛樂排行榜最高名次 Oricon週間第1位 Oricon 2004年8月第5位 Oricon 2004年度第31位 NEWS单曲年表 希望~Yell~ (2003) 火紅燃燒...

 

HALO Urban Regeneration The HALO HALO Ath-nuadhachadh BailteilHALO logo (2019–present)HALO HQ on Hill Street in Kilmarnock, September 2023TypeUrban regeneration companyIndustryBusiness start-up, urban renewalFoundedJuly 6, 2006; 17 years ago (2006-07-06) in Kilmarnock, ScotlandFounderMarie MacklinHeadquartersHill Street, Kilmarnock, Scotland, KA1 3HYArea servedUnited KingdomKey peopleMarie Macklin CBE (founder and Executive Chair)ProductsBusiness start-up Urban regeneratio...

 

11/12th-century ruler of Mosul Qiwam al-Dawla Kerbogha (Turkish: Kürboğa), known as Kerbogha or Karbughā, was atabeg of Mosul during the First Crusade and was renowned as a soldier.[1][2] Kerbogha besieges Antioch in 1098. Early life Kerbogha was a Seljuk Turk who owed his success to his military talent.[3] He supported Malik-Shah I's wife Terken Khatun and her four-year-old son Mahmud I who was installed on the throne at Baghdad.[4] Kerbogha was sent with a...

British TV series or programme Second SightGenreCrime dramaCreated byPaula MilneWritten byPaula MilneAntonia HallemNiall LeonardDirected byCharles BeesonEdward BennettMaurice PhillipsJonas GrimasStarringClive OwenClaire SkinnerRupert Holliday-EvansMark BazeleyAkbar KurthaFrank HarperAlexander MortonComposerJohn LunnCountry of originUnited KingdomOriginal languageEnglishNo. of series2No. of episodes8 (list of episodes)ProductionExecutive producersClaudia MilneTessa RossPeter AnsorgeRebecc...

 

Musical instrument Chemnitzer concertinaClassification Free reed aerophoneRelated instruments Bandoneón Concertina Musicians Li'l Wally David Eugene Edwards Gary Erickson Christy Hengel Jim Herda Dan Witucki Vinny Lech Karl Hartwich Brian Brueggen Gary Brueggen Elmer Scheid Johnny Gag Jerry Schuft Josh Sellner Adam Sandhurst Cory Miller (musician) Dain Moldan Jerry Minar Jack Beachly Charlie Tansek Ron Lech Builders Josh Sellner, Supreme Concertina Jerry Minar, Hengel Concertina Albert Necha...

 

1993 video game 1993 video gameGunstar HeroesNorth American cover artDeveloper(s)Treasure[a]Publisher(s)SegaProducer(s)Masato MaegawaProgrammer(s)Mitsuru YaidaHideyuki SuganamiArtist(s)Tetsuhiko KikuchiHiroshi IuchiComposer(s)Norio HanzawaPlatform(s)Sega Genesis, Game Gear, Nintendo 3DSRelease September 10, 1993 Sega GenesisJP: September 10, 1993WW: September 1993Game GearJP: March 24, 1995Nintendo 3DSJP: June 24, 2015[2]WW: August 20, 2015[1] Genre(s)Run and gunMode(s...

Territorial authority district in Wellington, New ZealandSouth Wairarapa DistrictTerritorial authority district Coordinates: 41°17′06″S 175°34′44″E / 41.285°S 175.579°E / -41.285; 175.579CountryNew ZealandRegionWellingtonSeatMartinboroughWards List MartinboroughFeatherstonGreytown Government • MayorMartin Connelly • Deputy MayorMelissa Sadler-Futter • Territorial authoritySouth Wairarapa District CouncilArea[1]...

 

Species of butterfly Krueper's small white both in Bulgaria Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Arthropoda Class: Insecta Order: Lepidoptera Family: Pieridae Genus: Pieris Species: P. krueperi Binomial name Pieris krueperiStaudinger, 1860[1] Synonyms Pieris krueperi var. vernalis Staudinger, 1870 Pieris krueperi, the Krueper's small white, is a butterfly in the family Pieridae. It is found on the Balkan Peninsula and in Iran, Baluchistan, the Kop...

 

1922 film The Real AdventureFilm posterDirected byKing VidorWritten byMildred ConsidineBased onThe Real Adventureby Henry Kitchell WebsterProduced byKing VidorStarringFlorence VidorCinematographyGeorge BarnesDistributed byAssociated ExhibitorsRelease date May 28, 1922 (1922-05-28) Running time50 minutes; 5 reels (4,932 feet)CountryUnited StatesLanguageSilent (English intertitles) Florence Vidor, director King Vidor, and cinematographer George Barnes, on location in Pinecrest, C...

Israeli writer and Nobel laureate This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Shmuel Yosef Agnon – news · newspapers · books · scholar · JSTOR (October 2023) (Learn how and when to remove this template message) Shmuel Yosef AgnonAgnon in 1966BornShmuel Yosef Halevi Czaczkes(1887-08-08)August 8, 1887Bucza...

 

Danish order of chivalry Order of the DannebrogDannebrogordenenOrder of the Dannebrog, Breast Starof the Grand Cross, unofficial modelAwarded by Sovereign of Denmark[1]TypeChivalric order with six grades, one grade augmentation, and one related decorationEstablished12 October 1671[2]Country Kingdom of DenmarkRibbonWhite with red edgesMottoGud og Kongen(Danish for 'God and the King')CriteriaMeritorious civil or military service, for a particular contribution to the arts, s...

 

The Roots discographyThe Roots performing in 2016Studio albums14Live albums2Compilation albums3Music videos24EPs2Singles18 The discography of the Roots, an American hip hop band, consists of fourteen studio albums, plus three collaborative studio albums, three compilation albums, two extended plays, and two live albums. The Roots began performing in 1989 as the Square Roots with rapper Black Thought and drummer Questlove. Rapper Malik B., and bassist Leonard Hubbard joined the band in 1991.&#...

This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (April 2022) (Learn how and when to remove this template message) 2010 Indian filmKanyakumari ExpressFilm posterDirected byT.S.Suresh BabuWritten byDennis JosephProduced byG. S. MuraliStarringSuresh GopiGowri NandhaLenaSarayuBabu AntonyCinematographyU. K. Senthil KumarMusic bySharathRelease date 19 November&...

 

عولاوا (مهاباد) تقسيم إداري البلد إيران محافظة أذربیجان الغربیة مقاطعة مهاباد قسم مركزي السكان التعداد السكاني 258 نسمة (في سنة 2006) تعديل مصدري - تعديل   قرية عَولاوا (بالكردية: عەوڵاوا) هي إحدى القرى التابعة لـمكريان الشرقية في ريف قسم مركزي من مقاطعة مهاباد، في محافظة أذر...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!