Entity–control–boundary

The entity–control–boundary (ECB), or entity–boundary–control (EBC), or boundary–control–entity (BCE) is an architectural pattern used in use-case–driven object-oriented programming that structures the classes composing high-level object-oriented source code according to their responsibilities in the use-case realization.

Origin and evolution

The entity–control–boundary approach finds its origin in Ivar Jacobson's use-case–driven object-oriented software engineering (OOSE) method published in 1992.[1][2] It was originally called entity–interface–control (EIC) but very quickly the term "boundary" replaced "interface" in order to avoid the potential confusion with object-oriented programming language terminology.

It is further developed in the Unified Process, which promotes the use of ECB in the analysis and design activities with the support of UML stereotypes.[3] Agile modelling[4][5] and the ICONIX process[6] elaborated on top of the ECB architecture pattern with robustness diagrams.[7]      

Principle

The ECB pattern organises the responsibilities of classes according to their role in the use-case realization:

  • an entity represents long-lived information relevant for the stakeholders (i.e. mostly derived from domain objects, usually persistent);   
  • a boundary encapsulates interaction with external actors (users or external systems);
  • a control ensures the processing required for the execution of a use case and its business logic, and coordinates, sequences controls other objects involved in the use case.

The corresponding classes are then grouped into service packages, which are an indivisible set of related classes that can be used as software delivery units.

ECB classes are first identified when use cases are analyzed:  

  • every use case is represented as a control class;
  • every different relation between a use case and an actor is represented as a boundary class;
  • entities are derived from the use-case narrative.

The classes are then refined and re-structured or reorganized as needed for the design, for example:  

  • Factoring out common behaviors in different use-case controls
  • Identifying a central boundary class for each kind of human actor and for each external system that would provide a consistent interface to the outside world.   

The ECB pattern assumes that the responsibilities of the classes is also reflected in the relations and interactions between the different categories of classes in order to ensure the robustness of the design.[8][9]

Robustness diagram

Robustness diagrams allow to visually represent the relation between entities, controls, boundaries and actors.[4] It uses graphical stereotypes introduced in Jacobson's early work:  

Representation Relation with
Role Symbol Actor Boundary Control Entity
Actor Yes Yes No No
Boundary Yes Part/whole Yes No
Control No Yes Yes Yes
Entity No No Yes Yes

The following robustness constraints apply: 

  • Actors may only know and communicate with boundaries
  • Boundaries may communicate with actors and controls only.
  • Controls may know and communicate with boundaries and entities, and if needed other controls
  • Entities may only know about other entities but could communicate also with controls;

In principle entities should not know about boundaries and controls. In practice however, some variants allow entities, boundaries and controls to subscribe as observer to an entity.

Similarly, the constraint of a boundary class not knowing about other boundary classes only applies at the highest level, and not between classes that cooperate to implement the same boundary.

Relation to other architectural patterns

There is some similarity between ECB and model–view–controller (MVC): entities belong to the model, and views belongs to boundaries.  However the role of the ECB-control is very different from MVC-controller, since it encapsulates also use-case business logic whereas the MVC controller processes user input which would be of the responsibility of the boundary in ECB.  The ECB control increases separation of concerns in the architecture by encapsulating business logic that is not directly related to an entity.[2]

The ECB can be used in conjunction with the hexagonal architecture, whenever the boundaries form the outer adapter layer.[10]  

ECB is compatible with the clean architecture which merges ECB principles with other architectural design paradigms.[11][12] Clean architecture places entities at the core, and surround them with a use-case ring (i.e. ECB control) and a ring with gateways and presenters (i.e. ECB boundaries).  However, clean architecture requires a one-way dependency from outside to inside, which requires to split ECB controls into use-case logic and object coordination.

See also

Notes and references

  1. ^ Jacobson, Ivar. (1992). Object-oriented software engineering: a use case driven approach. [New York]: ACM Press. pp. 130–133. ISBN 0201544350. OCLC 26132801.
  2. ^ a b "Reading notice on Object Oriented Software Engineering, Ivar Jacobson, et al. (1992)". tedfelix.com. Retrieved 2019-08-14.
  3. ^ The unified software development process. Jacobson, Ivar., Booch, Grady., Rumbaugh, Jim. Reading, Massachusetts: Addison-Wesley. 1999. pp. 44, 183–188, 202–205, 256–257, 439. ISBN 0201571692. OCLC 636807532.{{cite book}}: CS1 maint: others (link)
  4. ^ a b Scott Ambler. "Robustness Diagrams: An Agile Introduction". agilemodeling.com. Retrieved 2019-08-14.
  5. ^ Ambler, Scott W., 1966- (2004). The object primer : agile modeling-driven development with UML 2.0 (3rd ed.). Cambridge, UK: Cambridge University Press. ISBN 0521540186. OCLC 54081540.{{cite book}}: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link)
  6. ^ "Close the gap between analysis and design • The Register". www.theregister.co.uk. Retrieved 2019-08-14.
  7. ^ Dugerdil, Philippe (2013). "Architecting mobile enterprise app". Proceedings of the 2013 ACM workshop on Mobile development lifecycle. Indianapolis, Indiana, USA: ACM Press. pp. 9–14. doi:10.1145/2542128.2542131. ISBN 9781450326032. S2CID 14408662.
  8. ^ "Guideline: Entity-Control-Boundary Pattern". posomas.isse.de. Retrieved 2019-08-14.
  9. ^ Daschner, Sebastian (2017). Architecting modern Java EE applications : designing lightweight, business-oriented enterprise applications in the age of cloud, containers, and Java EE 8. Packt Publishing. pp. section "Entity Control Boundary". ISBN 9781788397124. OCLC 1008993521.
  10. ^ "The Entity-Control-Boundary Pattern". www.cs.sjsu.edu. Retrieved 2019-08-14.
  11. ^ Martin, Robert, C. (2012-08-12). "The Clean architecture | Clean Coder Blog". blog.cleancoder.com. Retrieved 2019-08-12.{{cite web}}: CS1 maint: multiple names: authors list (link)
  12. ^ Martin, Robert C. (2017). Clean architecture : a craftsman's guide to software structure and design. Prentice Hall. ISBN 978-0-13-449416-6. OCLC 1004983973.

Read other articles:

FoodmartIndustriRitelPendahuluSuper EkonomisDidirikan1988 (sebagai Matahari Supermarket)31 Mei 2007 (sebagai Foodmart)KantorpusatJakarta, IndonesiaTokohkunciCamelito J. Regalado (Presiden Direktur)PemilikMatahari Putra Prima Logo Foodmart Fresh (2016-sekarang) Foodmart adalah jaringan toko swalayan yang memiliki banyak cabang di Indonesia. Gerai ini umumnya menjual berbagai produk makanan dan minuman. Lebih dari 500 produk makanan tersedia dengan harga bersaing, memenuhi kebutuhan konsumen se...

 

2021 document leak This article is part of a series aboutMeta Platforms History Instagram WhatsApp Acquisitions Products and services Facebook 2021 outage Features Dating Feed Like button Other products Instagram Threads Messenger Kids Meta AI Meta Portal Quest Quest 2 Quest 3 Supernatural Ray-Ban Stories WhatsApp People Executives and board members Mark Zuckerberg Sheryl Sandberg Notable employees Adam Mosseri Related organizations Oversight Board Business Criticism Privacy concerns Content ...

 

Book by George Montagu Ornithological Dictionary, or Alphabetical Synopsis of British Birds Title page of first editionAuthorGeorge MontaguCountryGreat BritainSubjectOrnithologyGenreNatural historyPublisherJ. WhitePublication date1802Pages717 (two volumes) The Ornithological Dictionary; or Alphabetical Synopsis of British Birds was written by the English naturalist and army officer George Montagu, and first published by J. White of Fleet Street, London in 1802. It was one of the texts, along ...

Academic college of the University of Florida College of Journalismand CommunicationsTypePublicEstablished1925; 99 years ago (1925)Parent institutionUniversity of FloridaDeanHub Brown[1]Undergraduates2,300Postgraduates600LocationGainesville, Florida, United States29°38′52.3″N 82°20′51.0″W / 29.647861°N 82.347500°W / 29.647861; -82.347500Websitewww.jou.ufl.edu Weimer Hall, home of the College of Journalism and Communications Interio...

 

DreamWorks Animation film Puss in BootsTheatrical release posterDirected byChris MillerScreenplay byTom WheelerStory by Brian Lynch Will Davies Tom Wheeler Produced by Joe M. Aguilar Latifa Ouaou Starring Antonio Banderas Salma Hayek Zach Galifianakis Billy Bob Thornton Amy Sedaris Edited byEric DapkewiczMusic byHenry JackmanProductioncompanyDreamWorks Animation[1]Distributed byParamount Pictures[1]Release dates October 16, 2011 (2011-10-16) (Allure of the S...

 

Men's 100 metres at the 1995 World ChampionshipsVenueUllevi StadiumDates5 August (heats and quarter-finals)6 August (semi-finals and final)Competitors91Winning time9.97Medalists  Donovan Bailey   Canada Bruny Surin   Canada Ato Boldon   Trinidad and Tobago← 19931997 → Events at the1995 World ChampionshipsTrack events100 mmenwomen200 mmenwomen400 mmenwomen800 mmenwomen1500 mmenwomen5000 mmenwomen10,000 mmenwomen100 m...

Automobile company established in 1995, based in Humble Not to be confused with the original DeLorean Motor Company. DeLorean Motor CompanyThe DMC logoTrade nameDeLorean Motor CompanyCompany typePrivateIndustryAutomotivePredecessorDeLorean Motor CompanyFoundedMay 12, 1995 (1995-05-12)FounderStephen WynneHeadquartersHumble, Texas, U.S.Key peopleStephen Wynne (CEO)ProductsDeLorean carsWebsitedelorean.com DeLorean Motor Company[1] (also doing business as Classic DMC) is a...

 

Italian commercial vehicle manufacturing company Iveco Group N.V.Company typePublicTraded asBIT: IVGIndustryAutomotiveFounded1 January 1975; 49 years ago (1975-01-01)HeadquartersTurin, ItalyArea servedWorldwideKey peopleGerrit Marx (CEO)ProductsVansTrucksBusesRevenue €12,600,000,000 (2021)OwnerExor N.V. (27.1%)Number of employeesApproximately 34,000 (2021)SubsidiariesTransportation Naveco (50%) SAIC Iveco Hongyan (9.04%) Industrial FPT Industrial Saic-Iveco FPT Hongya...

 

Work by David Hume A Treatise of Human Nature AuthorDavid HumeLanguageEnglishSubjectPhilosophyPublication date1739–40Pages368ISBN0-7607-7172-3TextA Treatise of Human Nature at Wikisource A Treatise of Human Nature: Being an Attempt to Introduce the Experimental Method of Reasoning into Moral Subjects (1739–40) is a book by Scottish philosopher David Hume, considered by many to be Hume's most important work and one of the most influential works in the history of philosophy.[1] The ...

Lafayette Open 1979 Sport Tennis Data 29 luglio – 5 agosto Edizione 1a Superficie Sintetico Campioni Singolare Marty Riessen Doppio Marty Riessen / Sherwood Stewart Il Lafayette Open 1979 è stato un torneo di tennis giocato sul sintetico. È stata la 1ª edizione del torneo, che fa parte del Colgate-Palmolive Grand Prix 1979. Il torneo si è giocato a Lafayette (Louisiana) negli USA, dal 29 luglio al 5 agosto 1979. Indice 1 Campioni 1.1 Singolare maschile 1.2 Doppio maschile 2 Collegament...

 

Голубянки Самец голубянки икар Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ПервичноротыеБез ранга:ЛиняющиеБез ранга:PanarthropodaТип:ЧленистоногиеПодтип:ТрахейнодышащиеНадкласс:ШестиногиеКласс...

 

College lacrosse team that represents Mercer University in Macon, Georgia Mercer Bears men's lacrosseUniversityMercer UniversityHead coachRyan Danehy (2nd season)StadiumMoye ComplexLocationMacon, GeorgiaConferenceASUNNicknameBearsColorsBlack and orange[1]    The Mercer Bears men's lacrosse team is a college lacrosse team that represents Mercer University in Macon, Georgia, United States. As of the next NCAA lacrosse season of 2023, the Bears compete in the ASU...

Disambiguazione – Se stai cercando la sede della presidenza del Consiglio, o altri palazzi omonimi, vedi Palazzo Chigi (disambigua). Palazzo Chigi-OdelscalchiProspetto sulla piazza Santi ApostoliLocalizzazioneStato Italia RegioneLazio LocalitàRoma Indirizzopiazza Santi Apostoli Coordinate41°53′52.81″N 12°28′57.33″E / 41.898003°N 12.482592°E41.898003; 12.482592Coordinate: 41°53′52.81″N 12°28′57.33″E / 41.898003°N 12.482592°E41.89...

 

Serbian singer-songwriter (born 1992) Mirna RadulovićMirna Radulovic at Eurovision Song Contest 2013 with Moje 3Background informationBirth nameMirna RadulovićBorn (1992-07-05) 5 July 1992 (age 31)Subotica, FR YugoslaviaGenresPop, dance-pop, R&BOccupation(s)Singer-songwriterInstrument(s)Vocals, violin, piano, guitar[1]Years active2012–presentLabelsPrva Records, PGP RTSMusical artist Mirna Radulović (Serbian Cyrillic: Мирна Радуловић) is a Serbian singer and...

 

Natural iron hot spring, Beppu, Japan Sukunabikona, the kami of hot springs, dances on a rock at the Dōgo Onsen while Okuninushi watches. Izu Province, The Hot Springs of the Shuzen Temple woodcut by Utagawa Hiroshige Nihon fūkei senshū, Ōsumi Anraku onsen by Kawase Hasui This is a dynamic list of geothermal hot springs (onsen) as geological phenomena in Japan. This list is not for listing commercial establishments such as spa hotels, onsen ryokan, healing centers or other commercial est...

American college football season 1967 Illinois Fighting Illini footballConferenceBig Ten ConferenceRecord4–6 (3–4 Big Ten)Head coachJim Valek (1st season)Offensive coordinatorEllis Rainsberger (1st season)MVPJohn WrightCaptainRon Bess, Ken KmiecHome stadiumMemorial StadiumSeasons← 19661968 → 1967 Big Ten Conference football standings vte Conf Overall Team W   L   T W   L   T No. 4 Indiana + 6 – 1 – 0 9 – 2 – ...

 

This article uses bare URLs, which are uninformative and vulnerable to link rot. Please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style. Several templates and tools are available to assist in formatting, such as reFill (documentation) and Citation bot (documentation). (August 2022) (Learn how and when to remove this message) This is a list of notable indoor arenas in the Netherlands. Indoor stadiums with a capacity...

 

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs to be updated. Please help update this article to reflect recent events or newly available information. (May 2019) 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: Azerbaija...

Coppa del Presidente degli Emirati Arabi Uniti 2017-2018 Competizione Coppa del Presidente degli Emirati Arabi Uniti Sport Calcio Edizione 39ª Organizzatore UAEFA Date 22 settembre 2017 - 3 maggio 2018 Luogo  Emirati Arabi Uniti Partecipanti 28 Risultati Vincitore  Al-Ain(7º titolo) Secondo  Al-Wasl Cronologia della competizione 2016-17 2018-19 Manuale La Coppa del Presidente degli Emirati Arabi Uniti 2017-2018 è stata la trentanovesima edizione della competizione a cui par...

 

Strategy board game EclipseNew Dawn for the GalaxyDesignersTouko TahkokallioIllustratorsOssi HiekkalaSampo SikiöPublishersLautapelit.fi [fi]Publication2011GenresStrategyLanguagesEnglishPlayers2–6 (up to 9 with the Rise of the Ancients expansion.)Playing time2–3 hoursAge range14+WebsiteLautapelit.fi: Eclipse Eclipse: New Dawn for the Galaxy (commonly known as Eclipse) is a strategy board game produced by Lautapelit.fi [fi]. It was designed by Touko Tahkokallio an...